Resposta direta: para excluir categorias apenas da busca interna do WordPress, altere a consulta principal no hook pre_get_posts e defina category__not_in com os IDs desejados. Restrinja a regra ao front-end, à busca e à consulta principal para não afetar painel, widgets ou consultas secundárias.
Revisão técnica: 08/09/2026.
Confirme o efeito editorial desejado
Excluir da busca interna não remove artigos, não aplica noindex e não impede acesso pela URL, categoria ou mecanismo externo. Use a regra quando determinada categoria não ajuda quem pesquisa dentro do site. Para conteúdo obsoleto, decida atualização, consolidação ou redirecionamento em processo separado.
Encontre os IDs das categorias
No painel, abra Posts → Categorias e edite cada termo. O endereço administrativo normalmente mostra o identificador em tag_ID. Também é possível consultar por WP-CLI ou código. Use IDs, não nomes traduzidos ou slugs que possam mudar. Registre a finalidade de cada exclusão.
Adicione a regra em local persistente
Coloque o código em um pequeno plugin próprio ou no tema filho. Alterar o tema principal perde a mudança em atualizações. Use um prefixo exclusivo na função:
<?php
add_action( 'pre_get_posts', 'webin_filtrar_busca' );
function webin_filtrar_busca( $query ) {
if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
$query->set( 'category__not_in', array( 9, 12 ) );
}
}
Entenda as três condições
! is_admin() preserva consultas administrativas. $query->is_main_query() limita a mudança ao loop principal. $query->is_search() seleciona resultados de pesquisa. A referência oficial do hook alerta que alterar consultas sem essas condições pode atingir menus, rodapés e loops personalizados.
Use o parâmetro apropriado
category__not_in aceita uma lista de IDs e deixa a intenção explícita. Substitua 9 e 12 pelos valores reais. Não combine parâmetros de categoria incompatíveis sem testar a lógica do WP_Query. Se outro plugin modifica a busca, avalie prioridades e o valor final da consulta.
Teste resultados e paginação
Pesquise termos presentes apenas nas categorias excluídas e termos presentes em várias categorias. Teste páginas seguintes, usuário desconectado, painel e widgets. Limpe caches depois da implantação e verifique logs de PHP. Preserve uma forma documentada de remover a regra caso a estrutura editorial mude.