Resposta curta
O noindex pode estar em dois lugares: numa tag <meta name="robots"> dentro do HTML ou no cabeçalho HTTP X-Robots-Tag. Procure nos dois. No WordPress, a culpa costuma ser a caixa "Evitar que mecanismos de busca indexem este site". No Next.js, um robots: { index: false } no layout ou uma condição de ambiente que deu errado. Tirou a tag? Peça indexação no Search Console e não bloqueie a página no robots.txt, senão o Google nem vê que ela saiu.
O que o noindex faz
O noindex é um pedido explícito pro Google não mostrar a página nos resultados. Diferente do canonical, que é só uma sugestão, o noindex é uma ordem, e o Google cumpre. Se ele está na página, a página sai do índice na próxima vez que for rastreada.
Ele é útil em páginas de login, carrinho, busca interna e ambientes de teste. O problema é quando escapa pra onde não devia, e escapa com frequência porque passa despercebido: o site continua abrindo normal pra qualquer pessoa. Só o robô enxerga.
Os dois lugares onde ele mora
Na tag meta, dentro do <head>:
<meta name="robots" content="noindex">
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex">
A terceira linha vale só pro Google. Ela é fácil de deixar passar porque não tem "robots" no nome.
No cabeçalho HTTP da resposta:
X-Robots-Tag: noindex
Esse não aparece no código-fonte. Vem do servidor, da CDN, do framework ou da hospedagem, e é o mais traiçoeiro. Também é o único jeito de aplicar noindex em arquivos que não são HTML, como PDFs.
Como checar em um minuto
- Código-fonte. Abra a página, aperte Ctrl+U (Cmd+Option+U no Mac) e procure por
noindex. Use o código-fonte, não o "Inspecionar": o inspetor mostra o HTML depois do JavaScript, e um script pode ter adicionado ou removido a tag. - Cabeçalhos. No terminal:
Ou no navegador: DevTools › Network › clique no documento › Response Headers.curl -sI https://seusite.com.br/ | grep -i x-robots-tag - Como o Googlebot. Alguns servidores respondem diferente pro robô. Teste com o user agent dele:
curl -s -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" \ https://seusite.com.br/ | grep -io '<meta[^>]*robots[^>]*>' - Search Console. A Inspeção de URL mostra "Indexação permitida? Não: 'noindex' detectado na tag 'robots'" ou no cabeçalho. O relatório Indexação › Páginas lista todas as afetadas no motivo "Excluída pela tag 'noindex'".
Se a home está limpa, confira também uma página interna de cada tipo (produto, post, categoria). É comum o noindex estar só num template.
Onde ele costuma se esconder, por plataforma
WordPress
- Configurações › Leitura › "Evitar que mecanismos de busca indexem este site". Marcada durante o desenvolvimento e esquecida no lançamento. É a causa mais comum de todas. Desmarque e salve.
- Yoast SEO ou Rank Math. Os dois têm noindex por tipo de conteúdo (posts, páginas, categorias, tags) e por página, numa caixa no editor. Confira em Aparência da pesquisa, no Yoast, ou em Títulos e Meta, no Rank Math.
- Staging copiado pra produção. Ferramentas de clonagem às vezes ligam o "evitar indexação" no staging, e a configuração volta junto quando o banco é copiado de volta.
Next.js
No App Router, o metadata de um layout.tsx vale pra todas as páginas abaixo dele. Um noindex no layout raiz derruba o site inteiro:
// app/layout.tsx
export const metadata = {
robots: { index: false, follow: false }, // isso tira TODAS as páginas do Google
};
A armadilha mais comum é uma condição de ambiente que dá errado fora da Vercel:
// funciona na Vercel, mas em outra hospedagem VERCEL_ENV não existe
robots: { index: process.env.VERCEL_ENV === "production" }
Ao migrar pra Cloudflare, Netlify, Render ou um servidor próprio, VERCEL_ENV fica indefinida, a comparação dá false e o site inteiro vira noindex. Use uma variável sua, como SITE_ENV=production, definida explicitamente em cada ambiente.
Procure também por X-Robots-Tag no middleware.ts e na função headers() do next.config.js.
Vercel e outras hospedagens com preview
A Vercel adiciona X-Robots-Tag: noindex nas URLs de preview, as que terminam em .vercel.app e não são o domínio de produção. Isso é bom: impede que versões de teste entrem no Google. Só vira problema se o domínio de verdade não estiver configurado como produção no projeto, ou se o seu canonical apontar pro .vercel.app, caso explicado no artigo sobre canonical errado.
Shopify, Wix e construtores de site
- Shopify: enquanto a loja tem senha (a página "em breve"), o Google não consegue ver nada. Tire a senha em Loja virtual › Preferências quando lançar.
- Wix, Squarespace e similares: todos têm uma opção de esconder o site ou uma página dos buscadores nas configurações de SEO. Confira a do site e a de cada página importante.
Servidor e CDN
Se o noindex aparece no cabeçalho e não está no código da aplicação, ele está na camada de cima:
# nginx
add_header X-Robots-Tag "noindex";
# Apache (.htaccess)
Header set X-Robots-Tag "noindex"
Na Cloudflare, procure em Rules › Transform Rules › modificação de cabeçalho de resposta. Em proxies e balanceadores, nas regras de cabeçalho.
Não bloqueie a página no robots.txt
Esse erro aparece nas duas direções:
- Você quer tirar o noindex: se a página também está bloqueada no robots.txt, o Google não volta nela, não vê que a tag saiu e ela continua fora.
- Você quer que uma página saia do Google: se colocar noindex e bloquear no robots.txt ao mesmo tempo, o Google não consegue ler o noindex, e a página pode continuar indexada, só que sem descrição.
Regra simples: pra tirar uma página do índice, use noindex e deixe ela rastreável. Pra economizar rastreamento, use o robots.txt. São ferramentas diferentes.
Tirei a tag. E agora?
- Confirme no código-fonte e no cabeçalho que ela sumiu mesmo, inclusive com o cache da CDN limpo.
- No Search Console, rode a Inspeção de URL com "Testar URL publicada" e veja "Indexação permitida? Sim".
- Clique em "Solicitar indexação" nas páginas mais importantes e reenvie o sitemap.
- No relatório de Páginas, abra o motivo "Excluída pela tag 'noindex'" e clique em "Validar correção". O Google avisa por e-mail quando terminar.
Páginas importantes costumam voltar em poucos dias. O site inteiro pode levar algumas semanas, porque o Google precisa rastrear cada URL de novo.
Como impedir que volte a acontecer
O noindex acidental quase sempre entra num deploy. A forma mais barata de pegar é conferir logo depois de cada publicação. Um script de três linhas no fim do pipeline já resolve o caso mais grave:
#!/bin/sh
URL="https://seusite.com.br/"
curl -sI "$URL" | grep -qi "x-robots-tag:.*noindex" && { echo "noindex no cabeçalho"; exit 1; }
curl -s "$URL" | grep -qi '<meta[^>]*noindex' && { echo "noindex no HTML"; exit 1; }
echo "ok"
Ele só olha uma página, não testa como o Googlebot e não pega robots.txt nem canonical. Pra cobrir o resto, a varredura grátis da Varrida confere noindex no HTML e no cabeçalho, robots.txt, canonical e redirects numa amostra do site, e mostra a correção pra sua plataforma.


