Skip to content

Tudo para WordPress, desenvolvimento web — e não só

🔒 Como ocultar uma categoria no WordPress: 4 métodos passo a passo

🔒 Como ocultar uma categoria no WordPress: 4 métodos passo a passo

A página inicial do WordPress apresenta, por predefinição, tudo: as publicações de todas as categorias criadas misturam-se num único feed. Para um blogue, isto é normal. Mas se está a lançar uma loja online, um portefólio ou um site empresarial, algumas categorias simplesmente não pertencem à página inicial.

Pior ainda, os robôs dos motores de busca indexam tudo, incluindo categorias de serviço e de rascunho. O resultado: páginas duplicadas nos resultados de pesquisa, um índice diluído e classificações em queda. E um visitante que tropece numa secção fechada recebe uma página vazia em vez de conteúdo.

Felizmente, pode ocultar uma categoria no WordPress em 5 a 10 minutos, e não precisa de um programador para isso. Abaixo estão quatro métodos funcionais: desde um plugin que requer dois cliques até código limpo no functions.php. Escolha o que se adequa à sua tarefa.

💡 Visão geral rápida:

  • Instale o Ultimate Category Excluder e marque as categorias a ocultar.
  • Configure o WP Categories Widget para uma ocultação seletiva na barra lateral.
  • Adicione o hook pre_get_posts ao functions.php e exclua a categoria pelo ID.
  • Use o plugin Members com um snippet para ocultar por funções de utilizador.

Porquê ocultar categorias?

O WordPress não faz distinção entre uma categoria «pública» e uma «técnica». Tudo o que criou em «Artigos → Categorias» aparece automaticamente no feed principal e nos arquivos. Em alguns casos, isto é conveniente; noutros, cria problemas:

  • Categorias de serviço (por exemplo, «Rascunhos» ou «Para Editores») são indexadas e aparecem nas pesquisas.
  • Categorias com conteúdo antigo ou desatualizado diluem a impressão do site.
  • Secções fechadas (artigos premium, materiais de clientes) tornam-se visíveis para todos os visitantes.

Ponto importante: não tente resolver o problema através de CSS. display: none oculta a categoria visualmente, mas os motores de busca continuam a ver o conteúdo e podem interpretá-lo como cloaking. Uma penalização do Google nestes casos é quase garantida. A forma correta é excluir a categoria ao nível da consulta à base de dados, não mascará-la com estilos.

Método 1. Ultimate Category Excluder, oculte uma categoria num minuto

O método mais simples e fiável é o plugin Ultimate Category Excluder. Em junho de 2026, conta com mais de 50.000 instalações ativas, uma classificação de 4,2/5 e compatibilidade com o WordPress 6.5+. O programador atualiza o plugin de forma consistente, sendo o último lançamento em dezembro de 2025.

A instalar o plugin Ultimate Category Excluder a partir do painel do WordPress

Passo a passo:

  • No painel do WordPress, vá a Plugins → Adicionar Novo.
  • No campo de pesquisa, escreva «Ultimate Category Excluder», clique em Instalar e depois em Ativar.
  • Após a ativação, aparece um item Category Exclusion no menu «Configurações»; vá até lá.
  • Marque as caixas das categorias que precisa de ocultar da página inicial, arquivos, feed RSS e pesquisa.
  • Clique em Atualizar.
A marcar categorias para ocultar no Ultimate Category Excluder

Pronto. Abra o seu site em modo anónimo e certifique-se de que as publicações das categorias marcadas desapareceram da página inicial. O plugin funciona ao nível do WP_Query: modifica a consulta à base de dados, não ocultando blocos através de CSS. Portanto, para SEO isto é completamente seguro.

Vantagens: zero código, adequado para principiantes, exclusão seletiva (inicial, arquivos, RSS, em separado). Desvantagens: se precisar de ocultar uma categoria apenas num widget específico, este plugin não ajudará; para isso, existe uma ferramenta mais precisa.

Método 2. WP Categories Widget, oculte uma categoria num widget

Se a sua tarefa for mais restrita, removendo uma categoria específica da barra lateral ou do rodapé em vez de todo o site, use o WP Categories Widget. Em fevereiro de 2026, o plugin está na versão 2.8.1, com total compatibilidade com o WordPress atual e mais de 3.000 instalações ativas.

O que pode fazer:

  • Exibir categorias de qualquer taxonomia (não apenas as categorias padrão, mas também etiquetas e taxonomias personalizadas).
  • Ocultar o título do widget.
  • Ativar ou desativar o contador de artigos para cada categoria.
  • Mostrar ou ocultar seletivamente quaisquer categorias diretamente nas definições do widget.

Como utilizar:

  • Instale e ative o plugin através de Plugins → Adicionar Novo.
  • Vá a Aparência → Widgets.
  • Encontre o widget "WP Categories Widget" e arraste-o para a área desejada (barra lateral, rodapé).
A arrastar o widget WP Categories para a barra lateral do WordPress
  • Nas definições do widget, defina um título e oculte-o se desejar. No menu suspenso "Mostrar", selecione Todas as Categorias ou especifique as categorias que devem ser exibidas.
A selecionar categorias para ocultar nas definições do widget WP Categories
  • Guarde as alterações.

Tudo o que não estiver incluído na lista de "exibição" é automaticamente ocultado neste widget. Nota: o plugin controla a visibilidade apenas dentro do seu próprio widget. Não afeta o feed da página inicial nem os arquivos; para isso, volte ao método 1.

Método 3. Hook pre_get_posts, ocultar uma categoria através de código

Se não quiser instalar um plugin extra para uma única função, pode resolver com um par de linhas no functions.php. Este método modifica o ciclo principal do WordPress antes de executar a consulta; a categoria é excluída ao nível da base de dados, não mascarada.

Importante: antes de editar o functions.php, faça uma cópia de segurança completa do site. Um erro neste ficheiro fará o site inteiro falhar, e restaurá-lo sem uma cópia de segurança será difícil.

Aqui está um excerto funcional. Utiliza o hook pre_get_posts e especifica qual a categoria a excluir da página inicial:

1/**
2 * Excludes the specified category from the home page.
3 * Replace -5 with your category ID (with a minus sign).
4 */
5function sdstudio_exclude_category_from_home( $query ) {
6 if ( ! is_admin() && $query->is_home() && $query->is_main_query() ) {
7 $query->set( 'cat', '-5' );
8 }
9 return $query;
10}
11add_action( 'pre_get_posts', 'sdstudio_exclude_category_from_home' );

Na linha 'cat', '-5', o número 5 é o identificador da categoria que pretende ocultar. O sinal de menos significa "excluir". Como encontrar o ID da categoria pretendida:

  • No painel do WordPress, abra Artigos → Categorias.
  • Passe o cursor sobre o nome da categoria.
  • Na parte inferior do ecrã (na barra de estado do navegador), aparecerá um URL como ...taxonomy=category&tag_ID=6; o número após tag_ID= é o ID.
A ver o ID da categoria ao passar o rato sobre o nome da categoria no admin do WordPress

Na captura de ecrã, o ID da categoria "Países" é 6. Substitua pelo seu próprio número, guarde o ficheiro e os artigos desta categoria desaparecerão da página inicial.

Onde colocar o código:

  • Via FTP: ligue-se ao servidor, vá a /wp-content/themes/your-theme/, transfira o functions.php, adicione o código no final do ficheiro (antes de ?> se existir) e volte a carregá-lo.
  • Via painel de administração: abra Aparência → Editor de Temas, selecione o tema ativo, encontre o functions.php na coluna da direita, insira o código e clique em "Atualizar Ficheiro".
A editar o ficheiro functions.php através do editor de temas do WordPress

Alguns fornecedores de alojamento bloqueiam o acesso ao editor de temas por razões de segurança. Nesse caso, utilize apenas FTP ou volte ao plugin do método 1, que resolverá a tarefa sem acesso aos ficheiros.

O que foi melhorado em relação à receita original de guias antigos: foi adicionada a verificação ! is_admin() (para não quebrar o painel de administração) e $query->is_main_query() (para não afetar consultas secundárias de widgets e menus). Sem estas verificações, o código pode quebrar a filtragem no painel de administração ou a saída dos menus, algo verificado na prática.

Método 4. Ocultar categorias por perfis de utilizador

Imagine esta situação: tem artigos premium disponíveis apenas para assinantes pagantes. Ou documentação interna para colaboradores. Ou uma secção fechada para clientes grossistas. Os métodos comuns ocultam a categoria de todos, mas aqui precisa que o administrador e os utilizadores privilegiados a vejam, enquanto visitantes e assinantes básicos não.

Anteriormente, o plugin CaPa Protect era usado para esta tarefa, mas foi removido do repositório do WordPress. Foi substituído por uma combinação mais poderosa: o plugin Members (mais de 300.000 instalações, classificação 4,7/5, versão 3.2.22 em junho de 2026) e um pequeno trecho de código.

Plugin Members, a gerir funções e permissões no WordPress

Algoritmo:

  • Instale e ative o Members através de «Plugins → Adicionar novo».
  • Vá a Utilizadores → Perfis. Crie um perfil, por exemplo «Assinante Premium», ou use os existentes.
  • Atribua este perfil aos utilizadores necessários.
  • Adicione um snippet ao functions.php que verifica o perfil do utilizador atual e exclui a categoria para todos, exceto os permitidos:
1/**
2 * Hides category with ID 5 from everyone except administrators
3 * and users with the premium_subscriber role.
4 */
5function sdstudio_hide_category_by_role( $query ) {
6 if ( is_admin() || ! $query->is_main_query() ) {
7 return $query;
8 }
9
10 $restricted_cat_id = 5; // replace with your category ID
11
12 if ( current_user_can( 'administrator' )
13 || current_user_can( 'premium_subscriber' ) ) {
14 return $query;
15 }
16
17 $query->set( 'cat', '-' . $restricted_cat_id );
18 return $query;
19}
20add_action( 'pre_get_posts', 'sdstudio_hide_category_by_role' );

Como funciona: a função verifica o perfil do utilizador atual através de current_user_can(). Administradores e assinantes premium passam no filtro, para eles a categoria está visível. Todos os outros recebem uma consulta modificada com a categoria excluída. O mesmo hook pre_get_posts, mas vinculado a permissões, não à página.

O ponto forte do Members é que não é apenas um «contorno de categoria», mas um editor completo de perfis e permissões. Após a instalação, poderá controlar a visibilidade de quaisquer elementos do site: blocos Gutenberg, páginas, itens de menu, tudo através de perfis.

Tutorial em vídeo

Veja um guia visual para os quatro métodos, desde a instalação do plugin até à edição de código:

⁉️🤔 Perguntas frequentes

Porque não posso simplesmente ocultar a categoria com CSS?

display: none remove o bloco visualmente, mas os robôs dos motores de busca continuam a ler o conteúdo. O Google trata essa discrepância entre conteúdo visível e indexável como uma tentativa de manipulação (cloaking). A penalização é a despromoção manual ou a exclusão de páginas do índice. A solução correta é a exclusão ao nível do WP_Query, não por CSS.

Como oculto uma categoria não só da página inicial, mas também do feed RSS?

O Ultimate Category Excluder (método 1) faz isto de raiz. Nas definições do plugin, no separador «Category Exclusion», marque as categorias necessárias e assinale a caixa ao lado de «RSS Feeds». Se estiver a trabalhar com código (método 3), substitua a condição $query->is_home() por $query->is_home() || $query->is_feed(), e a categoria desaparecerá também do feed.

O que acontece ao SEO depois de ocultar uma categoria?

Se ocultou a categoria corretamente (via plugin ou pre_get_posts), as próprias páginas de categoria e os seus artigos permanecem acessíveis por URLs diretos e são indexados. Apenas a página inicial e os arquivos mudam, as duplicações desaparecem e o conteúdo útil permanece no índice. Para ter a certeza, após fazer as alterações, submeta o sitemap no Google Search Console para uma nova rastreio.

Posso ocultar uma categoria de um utilizador específico, e não de um perfil?

O WordPress não tem ferramentas nativas para isto. O método 4 foi concebido especificamente para perfis, é uma limitação arquitetural do sistema de permissões. Como alternativa, pode criar um perfil separado para um utilizador específico através do Members e aplicar o código do método 4. Tecnicamente, são dois cliques na interface do plugin.

Plugin ou código, o que escolher para a manutenção do site a longo prazo?

Depende do número de edições. Para ocultar uma categoria uma vez, o código no functions.php (método 3) é mais leve e não adiciona carga extra. Várias categorias com condições diferentes (início, RSS, pesquisa), o Ultimate Category Excluder (método 1) é mais fácil de gerir. A regra principal: não instale um plugin para uma caixa de seleção que pode ser resolvida com três linhas de código.

O que escolher para a sua tarefa

Os quatro métodos cobrem todos os cenários reais. Uma matriz simples ajudá-lo-á a orientar-se:

  • Precisa rápido e sem código → Ultimate Category Excluder. Alguns cliques, resultado instantâneo, adequado para a maioria dos sites típicos.
  • A categoria só atrapalha na barra lateral → WP Categories Widget. Uma solução direcionada e sem efeitos secundários.
  • O site já tem um mínimo de plugins, quer mantê-lo leve → hook pre_get_posts no functions.php. Três linhas de PHP, zero código extra.
  • Conteúdo com restrições de acesso por perfis → Members + snippet do método 4. Um sistema de permissões flexível que será útil também para outras tarefas.

Experimente o método que está mais próximo da sua situação. Se algo correr mal, volte à cópia de segurança (fez uma, certo?) e experimente o próximo. E nos comentários, conte-nos qual o método que funcionou para si e para que tipo de projeto estava a ocultar categorias.