
🔒 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.

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.

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é).

- 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.

- 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 */ 5 function 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 } 11 add_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óstag_ID=é o ID.

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 ofunctions.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.phpna coluna da direita, insira o código e clique em "Atualizar Ficheiro".

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.

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.phpque 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 */ 5 function 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 } 20 add_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: noneremove 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 doWP_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_postsnofunctions.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.



