Resposta curta
Comece por Configurações › Leitura. Se a caixa "Evitar que mecanismos de busca indexem este site" estiver marcada, o WordPress coloca <meta name='robots' content='noindex, nofollow' /> em todas as páginas e desliga o sitemap nativo. Desmarque e salve. Se ela já está desmarcada, a causa costuma ser o Yoast SEO ou o Rank Math com noindex num tipo de conteúdo ou numa página, um plugin de "em breve" respondendo 503, um banco de staging copiado pra produção, o cache servindo o HTML antigo ou o site aberto em http e https ao mesmo tempo. Os comandos curl abaixo mostram qual é o seu caso em dois minutos.
A caixa que esconde o site inteiro
Ela fica em Configurações › Leitura, na linha Visibilidade nos motores de busca, e também aparece na tela de instalação do WordPress. Quem marca durante o desenvolvimento quase sempre esquece de desmarcar no lançamento. O que ela faz mudou com as versões:
| Versão do WordPress | O que a caixa marcada faz |
|---|---|
| Até a 5.2 | O robots.txt virtual responde User-agent: * e Disallow: /, bloqueando o rastreamento |
| 5.3 em diante | O robots.txt deixa de bloquear e o aviso passa pra meta tag robots com noindex em cada página |
| 5.5 em diante | Também desliga o sitemap nativo (wp-sitemap.xml) e tira a linha Sitemap: do robots.txt |
| 5.7 em diante | A meta tag passa a sair pela função wp_robots(), num formato só, com noindex, nofollow |
Na prática, num WordPress atual, a caixa marcada deixa isto no <head> de todas as páginas:
<meta name='robots' content='noindex, nofollow' />Repare nas aspas simples. Muita gente procura por name="robots" com aspas duplas no código-fonte, não acha e conclui que está tudo certo. Procure só pela palavra noindex.
Com a caixa desmarcada, o WordPress continua imprimindo a meta tag, mas com max-image-preview:large, que libera imagens grandes nos resultados. Ver essa tag no código é bom sinal. Num site público, o próprio WordPress só marca com noindex os resultados da busca interna (/?s=) e as versões de incorporação dos posts (/embed/), e isso está certo.
Três lugares que avisam que ela está marcada
- Painel, na caixa Agora: aparece a frase "Motores de busca desencorajados".
- Ferramentas › Diagnóstico: o teste de visibilidade diz "Seu site está escondido dos mecanismos de busca. Pense em ativar a indexação caso este seja um site público."
- Rank Math, se estiver instalado: mostra um "Aviso de SEO" dizendo que o site está definido como "No index", com um link pra mudar.
Pra corrigir, desmarque a caixa e clique em Salvar alterações. A tela lembra que é só um pedido aos buscadores. O Google atende, e por isso o site some.
Como conferir com curl em dois minutos
O painel diz o que está configurado. O curl diz o que o Google recebe depois de plugins, cache e servidor. Troque seusite.com.br pelo seu domínio.
1. Status e meta robots da home, com o user agent do Googlebot (alguns plugins de manutenção e de segurança respondem diferente pra ele):
UA="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
curl -s -A "$UA" -o /dev/null -w "%{http_code}\n" https://seusite.com.br/
curl -s -A "$UA" https://seusite.com.br/ | grep -io "<meta[^>]*robots[^>]*>"O primeiro comando tem que mostrar 200. O segundo não pode trazer noindex. Repita com um post, uma página e uma categoria: o Yoast e o Rank Math aplicam noindex por tipo, então a home limpa não garante o resto.
2. Cabeçalho X-Robots-Tag, que não aparece no código-fonte:
curl -sIL https://seusite.com.br/ | grep -iE "^HTTP|^x-robots-tag|^location"Se aparecer X-Robots-Tag: noindex e você não achou nada no WordPress, ele vem do .htaccess, da configuração do servidor, da hospedagem ou da CDN. O artigo sobre noindex sem querer mostra onde procurar em cada camada.
3. robots.txt:
curl -s -w "\nstatus: %{http_code}\n" https://seusite.com.br/robots.txtProcure Disallow: / sozinho numa linha, depois de User-agent: * ou User-agent: Googlebot. O status precisa ser 200 (ou 404, que o Google trata como "sem restrições"), nunca 5xx.
4. Sitemap, testando os três endereços comuns:
for s in wp-sitemap.xml sitemap_index.xml sitemap.xml; do
printf "%s: " "$s"
curl -s -o /dev/null -w "%{http_code} %{redirect_url}\n" "https://seusite.com.br/$s"
donePelo menos um deles tem que responder 200 com XML. Pra contar as entradas de um sitemap: curl -s https://seusite.com.br/sitemap_index.xml | grep -o "<loc>" | wc -l. Num índice, o número é de sitemaps, não de URLs: rode o mesmo comando num dos arquivos listados (ex. post-sitemap.xml no Yoast ou wp-sitemap-posts-post-1.xml no nativo). Use grep -o e não grep -c: o sitemap nativo vem numa linha só, e o -c conta linhas.
5. As quatro versões do domínio:
for u in http://seusite.com.br http://www.seusite.com.br https://seusite.com.br https://www.seusite.com.br; do
printf "%s -> " "$u"
curl -s -o /dev/null -w "%{http_code} %{redirect_url}\n" "$u/"
doneTrês delas devem responder 301 apontando pra mesma quarta, e a quarta responde 200. Se mais de uma responde 200, veja a seção sobre http e https.
Yoast SEO: noindex por tipo de conteúdo e por página
O Yoast tem duas camadas: uma por tipo de conteúdo e outra por página.
Por tipo de conteúdo
- No menu do WordPress, abra Yoast SEO › Configurações.
- Em Tipos de conteúdo, abra cada tipo (Posts, Páginas, Produtos, se tiver WooCommerce) e veja a chave de mostrar nos resultados da pesquisa. Cinza com um X quer dizer noindex pra todo aquele tipo.
- Faça o mesmo em Categorias e tags e, em Avançado, nos arquivos de autor e de data.
- Clique em Salvar alterações.
Por página
No editor do post, abra a caixa do Yoast SEO (na barra lateral ou abaixo do conteúdo) e vá na aba Avançado. A pergunta é "Permitir que os mecanismos de pesquisa mostrem esse conteúdo nos resultados da pesquisa?". Se estiver "Não", aquela página tem noindex mesmo que o tipo inteiro esteja liberado. Por padrão, só editores e administradores veem essa aba, então um autor pode não ter como conferir.
Um detalhe do Yoast: tipos de conteúdo marcados como noindex saem do sitemap dele. Se o sitemap do Yoast não lista os seus posts, o noindex por tipo é o primeiro suspeito.
Rank Math: Títulos e meta e a aba Avançado
Por tipo de conteúdo
- Abra Rank Math SEO › Títulos e meta. Essa tela só aparece com o Rank Math no Modo avançado.
- Escolha o tipo (Posts, Páginas, Mídia, Categorias, Tags).
- Veja se o meta robots personalizado do tipo está ligado e se Não indexar está marcado. Cada tipo tem o seu: Post Robots Meta, Page Robots Meta, Media Robots Meta, e assim por diante.
- Clique em Salvar alterações.
Por página
No editor, abra o painel do Rank Math, vá na aba Avançado e, em Robots Meta, veja se Não indexar está marcado. A configuração da página vence a do tipo: uma página marcada como indexar continua indexável mesmo com o tipo inteiro em noindex, e o contrário também vale.
Sitemap: qual é o seu e por que ele sumiu
O WordPress gera um sitemap próprio desde a versão 5.5. Os plugins de SEO costumam trocar ele pelo deles. Saber qual está valendo evita enviar o endereço errado pro Search Console:
| Quem gera | Endereço | Observação |
|---|---|---|
| WordPress (5.5 ou mais novo) | /wp-sitemap.xml | Com links permanentes no "Padrão", vira /?sitemap=index. Some com a caixa de Leitura marcada |
| Yoast SEO | /sitemap_index.xml | Desliga o sitemap do WordPress. /sitemap.xml e /wp-sitemap.xml redirecionam pra ele |
| Rank Math | /sitemap_index.xml | Configurado em Rank Math SEO › Configurações do sitemap |
O sitemap nativo inclui posts, páginas e outros tipos públicos, categorias, tags, autores e a home, com até 2.000 URLs por arquivo.
Três problemas aparecem com frequência:
- Sitemap 404. Com a caixa de Leitura marcada, o WordPress desliga o sitemap nativo. Desmarcou a caixa e ele continua 404? Limpe o cache e, se não resolver, vá em Configurações › Links permanentes e clique em Salvar alterações sem mudar nada, o que regrava as regras de endereço.
- Sitemap velho. A documentação do Rank Math avisa que o sitemap pode estar em cache quando um post novo não aparece nele. Exclua os endereços de sitemap do plugin de cache.
- Endereço errado no Search Console. Instalou o Yoast ou o Rank Math depois de enviar o
wp-sitemap.xml? O antigo passa a redirecionar pro do plugin. Em Sitemaps, envie ositemap_index.xmle remova o antigo.
O validador de sitemap grátis abre o índice e os arquivos dele, testa as URLs e mostra as que respondem erro, redirect ou noindex. O guia completo de sitemap.xml explica o formato.
robots.txt: o virtual e o arquivo de verdade
O WordPress não cria um arquivo robots.txt no servidor. Ele responde o endereço na hora, com um conteúdo virtual assim:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://seusite.com.br/wp-sitemap.xmlA linha Sitemap: só entra quando o site é público e o sitemap nativo está ligado. Os plugins de SEO podem acrescentar ou trocar linhas por um filtro, e o Yoast e o Rank Math têm um editor de robots.txt no painel.
Duas pegadinhas:
- Um arquivo físico vence o virtual. Se existe um
robots.txtde verdade na pasta raiz do site, o servidor entrega ele e o WordPress nem é chamado. UmDisallow: /deixado ali por um tema, um instalador ou uma agência continua bloqueando, não importa o que o painel diga. Procure o arquivo pelo gerenciador de arquivos da hospedagem ou por FTP. - robots.txt com erro 5xx. Se o
robots.txtresponde 5xx, o Google para de rastrear o site nas primeiras 12 horas e depois usa a última versão boa que tem guardada, por até 30 dias. Um plugin de manutenção que responde 503 também norobots.txttrava o rastreamento inteiro.
Pra ver o que cada robô pode acessar, use o teste de robots.txt. O artigo sobre robots.txt bloqueando o Google mostra como ler cada regra.
Links permanentes no "Padrão" (?p=123)
Em Configurações › Links permanentes, a opção Padrão gera endereços como https://seusite.com.br/?p=123. Na instalação, o WordPress tenta ligar a estrutura Dia e nome e só fica no Padrão quando o servidor não aplica as regras de endereço. A própria tela diz que incluir a tag %postname% deixa os links fáceis de entender e pode ajudar os posts a ranquear melhor. O Google consegue indexar endereços com ?p=, mas eles não dizem nada sobre a página, e o sitemap nativo também vira um endereço com parâmetro.
A troca recomendada é Nome do post, que gera /titulo-do-post/. Cuidados:
- Troque cedo. Endereço permanente é pra não mudar. Num site novo, troque antes de enviar o sitemap.
- Se o site já estava no Google com
?p=, o WordPress redireciona?p=123pro endereço novo do mesmo post. Confira algumas URLs antigas no verificador de redirect. - Tudo deu 404 depois da troca? O servidor não está aplicando as regras de endereço (no Apache, o
.htaccesse omod_rewrite). Peça pra hospedagem ativar.
Modo manutenção e páginas "em breve"
Existem dois tipos de manutenção no WordPress, e eles se comportam de jeitos diferentes pro Google.
A do próprio WordPress entra durante atualizações. Ele cria um arquivo .maintenance na raiz e responde 503 com Retry-After: 600 e a mensagem "Momentaneamente indisponível para manutenção programada" (em inglês, "Briefly unavailable for scheduled maintenance"). O WordPress considera a manutenção encerrada 10 minutos depois de criar o arquivo. Esse 503 curto não prejudica nada.
A dos plugins de "em breve" e manutenção fica ligada quanto tempo você quiser, e cada plugin responde de um jeito: uns devolvem 503, outros devolvem 200 com uma página de aviso e, às vezes, um noindex. O teste 1 de curl mostra qual é o seu caso. O que o Google diz sobre cada resposta:
- 503 por pouco tempo é a resposta certa pra uma pausa. O Google recomenda isso só por um período muito curto, alguns dias no máximo. Com 5xx, ele desacelera o rastreamento, ignora o conteúdo recebido e, se o erro continua, tira as URLs do índice.
- 200 com a página "em breve" diz ao Google que aquele aviso é o conteúdo da página, e ele pode indexar o aviso no lugar do site.
- 200 com noindex tira as páginas do índice até o plugin ser desligado.
Antes de lançar, desative o modo, limpe o cache e rode o teste deslogado: alguns plugins liberam o site pra quem está logado.
Staging copiado pra produção
A caixa de Leitura é guardada no banco de dados, na opção blog_public da tabela de opções. Quem monta o site num ambiente de testes, marca a caixa lá pra ele não aparecer no Google e depois copia o banco inteiro pra produção leva a caixa marcada junto. O mesmo vale pra quem restaura um backup do staging ou usa um plugin de migração que copia o banco: a configuração viaja com os dados, não com o servidor.
Depois de cada cópia de staging pra produção, confira:
- Configurações › Leitura: a caixa desmarcada.
- Configurações › Geral: o Endereço do WordPress (URL) e o Endereço do site (URL) com o domínio de produção, em https. Se ficou o endereço do staging, os links internos, o canonical dos plugins de SEO e o sitemap passam a apontar pro lugar errado. O verificador de canonical mostra isso numa página.
- O noindex por tipo no Yoast ou no Rank Math, que também vive no banco.
- Um
robots.txtfísico ou umX-Robots-Tagno.htaccessque veio junto nos arquivos.
Melhor ainda: proteja o staging com senha pela hospedagem em vez de depender da caixa.
Cache servindo a versão antiga
Plugins de cache, como os que vêm com a hospedagem, guardam o HTML pronto de cada página. Você desmarca a caixa de Leitura ou tira o noindex no Yoast, mas o cache continua entregando a cópia antiga com noindex pra todo mundo, inclusive pro Googlebot. O painel diz uma coisa e o site entrega outra.
Pra descobrir, compare a página normal com uma versão que fura o cache:
curl -sI https://seusite.com.br/ | grep -iE "^(age|cache-control|x-cache|cf-cache-status)"
curl -s "https://seusite.com.br/?nocache=$(date +%s)" | grep -io "<meta[^>]*robots[^>]*>"Se a versão com ?nocache= não tem noindex e a normal tem, limpe o cache em todas as camadas: o plugin, o cache da hospedagem e a CDN, se houver. O artigo sobre site que não mostra as mudanças cobre o assunto com mais detalhe.
http, https e www
O WordPress monta os links a partir do Endereço do site (URL) em Configurações › Geral, e já redireciona entre a versão com www e a sem www, de acordo com esse endereço. O que ele não faz sozinho é forçar https: isso depende do certificado e de um redirect no servidor ou na hospedagem.
Os sinais de que algo está errado:
- O Endereço do site ainda começa com
http://. O Ferramentas › Diagnóstico avisa quando o endereço não usa HTTPS. - O teste 5 de curl mostra mais de uma versão respondendo 200, ou um redirect de https pra http.
- O sitemap lista URLs em
http://.
O Google prefere a versão https como canônica, mas certificados inválidos e redirects de https pra http fazem ele preferir a http. Escolha uma versão, faça as outras três redirecionarem pra ela com 301, deixe o Endereço do site e o Endereço do WordPress iguais a ela e confira o canonical. Mudou de domínio? O guia de mudança de domínio vale aqui também.
Sintoma, causa e onde corrigir
| Sintoma | Causa provável | Onde corrigir |
|---|---|---|
noindex, nofollow em todas as páginas e "Motores de busca desencorajados" no painel | Caixa "Evitar que mecanismos de busca indexem este site" marcada | Configurações › Leitura |
noindex só nos posts, só nas páginas ou só nas categorias | Noindex por tipo de conteúdo no plugin de SEO | Yoast SEO › Configurações › Tipos de conteúdo, ou Rank Math SEO › Títulos e meta |
noindex numa página específica | Opção individual do plugin de SEO | Aba Avançado do Yoast ou do Rank Math, no editor |
X-Robots-Tag: noindex no cabeçalho | Regra no servidor, na hospedagem ou na CDN | .htaccess, painel da hospedagem, regras da CDN |
Disallow: / no robots.txt mesmo com o painel certo | Arquivo robots.txt físico na raiz | Gerenciador de arquivos ou FTP |
wp-sitemap.xml responde 404 | Caixa de Leitura marcada ou regras de endereço velhas (com Yoast ou Rank Math, ele redireciona pro sitemap do plugin) | Configurações › Leitura e Links permanentes, ou o sitemap do plugin |
| Home responde 503 por dias | Plugin de manutenção ou "em breve" ligado | Configurações do plugin, depois limpar o cache |
| Google mostra "em breve" como título | Página de aviso respondendo 200 | Desligar o modo no plugin e pedir indexação |
| Painel certo, curl mostra noindex | Cache servindo HTML antigo | Plugin de cache, hospedagem e CDN |
| Canonical ou links apontando pro staging | Endereço do site errado depois da cópia | Configurações › Geral |
| Duas versões do site respondendo 200 | Falta redirect pra https ou pra uma versão do domínio | Configurações › Geral, servidor ou hospedagem |
URLs com ?p=123 nos resultados | Links permanentes no "Padrão" | Configurações › Links permanentes › Nome do post |
Depois de corrigir: avisar o Google
- Rode de novo os testes de curl, com o cache limpo.
- No Search Console, use a Inspeção de URL na home, clique em Testar o URL publicado e confira que a indexação está permitida.
- Clique em Solicitar indexação na home e nas páginas mais importantes.
- Em Sitemaps, envie o sitemap que vale hoje (
wp-sitemap.xmlousitemap_index.xml) e remova o antigo, se mudou. - Em Indexação › Páginas, abra os motivos URL marcado como "noindex", URL bloqueado pelo arquivo robots.txt ou Erro no servidor (5xx) e clique em Validar correção.
A volta depende de quando o Google rastrear cada URL de novo. As páginas que você pediu na Inspeção costumam voltar primeiro. Se o site é novo e nunca esteve no Google, o passo a passo de como colocar o site no Google cobre a verificação do domínio. Se as páginas aparecem como rastreadas e não indexadas, o problema já é outro, explicado em rastreada, mas não indexada.
Checklist
- A caixa "Evitar que mecanismos de busca indexem este site" está desmarcada em Configurações › Leitura.
- A home, um post, uma página e uma categoria respondem 200 pro Googlebot, sem
noindexna meta tag nem noX-Robots-Tag. - Os tipos de conteúdo importantes estão liberados no Yoast ou no Rank Math, e as páginas principais não têm noindex na aba Avançado.
- O
robots.txtresponde 200, semDisallow: /, e não existe um arquivo físico esquecido na raiz. - O sitemap certo responde 200 e está enviado no Search Console.
- Os links permanentes usam Nome do post ou outra estrutura com o título.
- Nenhum plugin de manutenção ou "em breve" está ligado.
- O cache foi limpo depois das mudanças.
- O Endereço do site e o do WordPress estão em https, no domínio certo, e as outras versões redirecionam com 301.
No WordPress, um update de plugin, uma troca de tema ou uma cópia de staging muda essas configurações sem aviso. A varredura grátis da Varrida confere noindex, robots.txt, sitemap, canonical e redirects do seu domínio em menos de um minuto e mostra onde corrigir no WordPress.


