Skip to content

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

🗂️ Como excluir páginas do sitemap do Yoast SEO

🗂️ Como excluir páginas do sitemap do Yoast SEO

Abre o Search Console e vê: de 200 páginas do site, 340 estão indexadas. As 140 extra são etiquetas de arquivo, duplicados com parâmetros UTM, páginas de teste e páginas de anexos. O Google gasta orçamento de rastreio com lixo enquanto os seus URLs reais esperam semanas pela sua vez.

O problema não é o Google. O sitemap que o Yoast SEO gera reporta honestamente ao robô tudo o que vê. E, por predefinição, ele vê muita coisa desnecessária. O seu trabalho é dizer ao plugin quais as páginas que não devem aparecer no sitemap.

Abaixo estão quatro formas de limpar o seu sitemap XML: desde um único clique na interface até filtros no functions.php. Com capturas de ecrã reais e código atualizado.

💡 Visão geral rápida:

  • Exclua uma página individual através do separador "Avançado" na caixa de meta do Yoast SEO, sem necessidade de código.
  • Remova dezenas de URLs em massa através do filtro wpseo_exclude_from_sitemap_by_post_ids, com um array.
  • Desative taxonomias inteiras em Aspeto na Pesquisa ou através do wpseo_sitemap_exclude_taxonomy.
  • Verifique o resultado em sitemap_index.xml e adicione noindex se necessário.

Por que razão precisa de limpar o seu sitemap

Um sitemap não é apenas uma lista de links. É uma instrução para o robô de pesquisa: «estas são as páginas que realmente importam, indexe-as primeiro.» Quando o lixo aparece no sitemap, o Google enfrenta três problemas.

Primeiro, duplicados. O mesmo conteúdo em dois URLs (por exemplo, /blog/ e /blog/?utm_source=telegram) sinaliza um site de baixa qualidade para o motor de pesquisa. Segundo, conteúdo pobre. Páginas de teste, arquivos de autor vazios e páginas de anexos não têm valor para a pesquisa, mas consomem orçamento de rastreio. Terceiro, URLs de serviço. Páginas de destino de teste, páginas de agradecimento pós-compra e painéis de utilizador não têm qualquer lugar na pesquisa.

Auditorias regulares ao sitemap são higiene básica de SEO. Especialmente se o site tiver mais de um ano: URLs extra quase inevitavelmente infiltram-se no sitemap.

O Yoast SEO oferece vários níveis de controlo, desde a exclusão precisa de uma única página até à filtragem de taxonomias inteiras através de um hook. Vamos analisar cada um.

Como excluir uma única página do sitemap

O cenário mais simples: remover um post ou página específica do índice. O Yoast SEO permite-lhe fazer isto diretamente do editor do WordPress, sem uma única linha de código.

Abra o conteúdo desejado no painel de administração, desça até à caixa de meta do Yoast SEO e vá ao separador "Avançado". Encontre a pergunta "Permitir que os motores de pesquisa mostrem este conteúdo nos resultados de pesquisa?" e mude de "Sim" para "Não". Clique em "Atualizar".

Opção para indexar páginas no separador Avançado do Yoast SEO

Depois de guardar, o Yoast removerá o conteúdo do sitemap, e uma meta tag <meta name="robots" content="noindex, follow"> aparecerá no código fonte da página. A página em si permanecerá acessível através do link direto. Será excluída da pesquisa e do sitemap.

Este é o método padrão e mais seguro. Funciona para ocultar uma ou duas páginas. Para exclusão em massa de dezenas de URLs, veja a próxima secção.

Como excluir páginas em massa através de código

Quando precisa de excluir 20 a 30 páginas de uma vez, clicar em cada uma manualmente é uma perda de tempo. O Yoast SEO fornece o filtro wpseo_exclude_from_sitemap_by_post_ids: recebe um array de IDs de posts e remove-os do sitemap.

Adicione o código ao functions.php do seu tema ativo ou através do plugin Code Snippets:

1add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', function() {
2 return array( 311, 322, 450, 512 );
3} );
Código PHP para exclusão em massa de páginas através do filtro wpseo_exclude_from_sitemap_by_post_ids

Como encontrar o ID de uma página? No painel de administração do WordPress, abra a lista de páginas ou posts, passe o rato sobre o título e verá post=311 no URL do link. O número após post= é o ID.

Depois de adicionar o filtro, vá a yourdomain.com/sitemap_index.xml, abra o sitemap filho (por exemplo, page-sitemap.xml) e verifique: os IDs especificados desapareceram da lista.

Importante: o filtro apenas remove IDs do sitemap. Não adiciona noindex à página em si. Se a página já estiver no índice do Google, defina adicionalmente noindex através da interface (secção anterior) ou solicite a remoção do URL através da Google Search Console.

Por predefinição, o Yoast SEO inclui até 1000 links num único sitemap filho. Para um site grande (uma loja com 5000 produtos ou um diretório com dezenas de milhares de artigos), isto significa ou mais ficheiros (diminuir o limite) ou mais URLs num ficheiro (aumentar o limite).

A configuração está em Yoast SEO → Definições → Tipos de conteúdo:

Tipos de conteúdo e definições do limite de links do sitemap no Yoast SEO

O que pode ajustar aqui:

  • Desativar tipos de conteúdo desnecessários. Por exemplo, se apenas publica posts e usa páginas como páginas de serviço, remova "Páginas" do sitemap.
  • Configurar multimédia. O separador Multimédia (anexos) está incluído no sitemap por predefinição. Para blogues de fotografia isto faz sentido; para um site normal, desperdiça orçamento de rastreio.
  • Limite de links. Tecnicamente, o filtro wpseo_sitemap_entries_per_page permite-lhe definir um número arbitrário de entradas por ficheiro de sitemap:
1add_filter( 'wpseo_sitemap_entries_per_page', function() {
2 return 500;
3} );

O padrão 1000 é o ponto ideal para a maioria dos projetos. Altere o limite apenas se compreender totalmente as consequências para a velocidade de indexação.

Como remover categorias e taxonomias do sitemap

Categorias, etiquetas e taxonomias personalizadas muitas vezes sobrecarregam o sitemap com arquivos vazios ou de baixo valor. Isto é especialmente relevante para sites WooCommerce: os atributos dos produtos («cor», «tamanho») geram centenas de URLs sem valor de pesquisa autónomo.

O primeiro método, visual, é o separador Taxonomias nas definições do Yoast SEO:

Separador de taxonomias nas definições do sitemap do Yoast SEO

Cada taxonomia tem um interruptor «Mostrar nos resultados de pesquisa?». «Sim» significa que a taxonomia entra no sitemap, «Não» significa que é excluída. Para a maioria dos sites, faz sentido manter apenas as categorias no sitemap, desativando etiquetas e atributos de produtos.

Lista de taxonomias com opções de visibilidade nos motores de busca no Yoast SEO

Se a taxonomia de que precisa não estiver na lista (por estar registada por código personalizado ou por um plugin de terceiros), utilize um filtro. Código para excluir uma única taxonomia pelo slug:

1/* Exclude one taxonomy from Yoast SEO sitemap */
2function sitemap_exclude_taxonomy( $value, $taxonomy ) {
3 if ( $taxonomy === 'taxonomy_slug' ) {
4 return true;
5 }
6 return $value;
7}
8add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomy', 10, 2 );

Para várias taxonomias de uma só vez:

1/* Exclude multiple taxonomies from Yoast SEO sitemap */
2function sitemap_exclude_taxonomies( $value, $taxonomy ) {
3 $taxonomy_to_exclude = array(
4 'taxonomy_slug1',
5 'taxonomy_slug2',
6 'taxonomy_slug3'
7 );
8 if ( in_array( $taxonomy, $taxonomy_to_exclude, true ) ) {
9 return true;
10 }
11 return $value;
12}
13add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomies', 10, 2 );
Código PHP para excluir várias taxonomias através do filtro de sitemap do Yoast SEO

Substitua taxonomy_slug1, taxonomy_slug2 e taxonomy_slug3 pelos slugs reais das suas taxonomias. Depois de guardar o código, aceda a sitemap_index.xml e verifique o sitemap secundário: os arquivos das taxonomias excluídas devem ter desaparecido.

⁉️🤔 Perguntas frequentes

Uma página excluída do sitemap continua a aparecer nas pesquisas. Porquê?

Um sitemap é apenas uma recomendação para o Google, não uma diretiva. Excluir uma página do sitemap não equivale a noindex. Se a página já estiver indexada e tiver links externos a apontar para ela, o Google pode continuar a mostrá-la. Solução: além de excluir do sitemap, ative noindex (o mesmo interruptor no separador "Avançado" do Yoast) e, se necessário, solicite a remoção do URL através do Google Search Console.

É possível excluir completamente um tipo de conteúdo do sitemap sem código?

Sim. Em Yoast SEO → Definições → Tipos de conteúdo, cada tipo de conteúdo registado tem um interruptor "Mostrar nos resultados de pesquisa?". Defina-o como "Não" e todo o tipo (por exemplo, "Páginas" ou "Produtos") deixará de aparecer no sitemap. Isto também funciona para taxonomias através do separador Taxonomias.

Como verificar se uma página foi realmente removida do sitemap?

Abra yoursite.com/sitemap_index.xml num navegador e verá uma lista de sitemaps secundários. Encontre o que precisa (por exemplo, page-sitemap.xml ou post-sitemap.xml), siga o link e procure por título ou URL. Se a página não estiver lá, o filtro funcionou. Para comparação em massa, o Screaming Frog ou o Sitebulb são práticos: mostram discrepâncias entre o sitemap e as páginas reais do site.

E se o código do filtro não estiver a funcionar?

Verifique três coisas. Primeiro: o código foi adicionado ao tema ativo (functions.php) ou através do Code Snippets, e o ficheiro foi guardado sem erros de sintaxe (abra o site noutro separador; um ecrã branco = erro de PHP). Segundo: os IDs das páginas estão especificados corretamente, sem espaços extra dentro do array. Terceiro: cache. O Yoast SEO guarda o sitemap em cache; após as alterações, limpe a cache do plugin (SEO → Ferramentas → Otimizar dados SEO) ou aguarde até 24 horas.

Excluir do sitemap afeta o link building interno?

Não. O sitemap e os links internos são sinais independentes. Uma página excluída do sitemap continua a passar link equity através de links internos se outras páginas do site tiverem links para ela. Mas o Google irá reindexá-la com menos frequência: desapareceu da principal fonte de informação sobre a estrutura do site.

O que priorizar: interface ou código

Para três a cinco páginas, use apenas a interface. É rápido, seguro e não requer acesso aos ficheiros do tema.

Para dezenas de páginas, use o filtro wpseo_exclude_from_sitemap_by_post_ids. Um array com IDs em vez de alternar manualmente cada artigo.

Para taxonomias, use o interruptor visual em Aspeto de Pesquisa se a taxonomia estiver na lista. Se não estiver (taxonomia personalizada), use o filtro wpseo_sitemap_exclude_taxonomy.

E o mais importante: a exclusão do sitemap não equivale à exclusão do índice. Se uma página deve desaparecer completamente das pesquisas, adicione sempre noindex. O Yoast SEO fornece uma interface unificada para isto; não a negligencie.

🔗 Yoast SEO no WordPress.org