Por que as páginas do meu site Next.js não são indexadas pelo Google?
Sites Next.js costumam perder páginas para quatro coisas: um noindex que sobrou do ambiente de teste, uma tag canônica definida só no layout raiz, páginas 404 com streaming que respondem 200 e sitemaps com endereços antigos.
Por que as páginas do seu site Next.js não estão no Google
Confira nesta ordem. As primeiras causas deixam o site inteiro fora do Google. As últimas deixam páginas soltas de fora.
- O site é novo. O Google precisa de tempo para achar um site novo. Ele diz que o rastreamento pode levar de alguns dias a algumas semanas. Pesquise no Google
site:seguido do seu domínio, comosite:exemplo.com.br. Se nada aparecer, o Google provavelmente ainda não tem nenhuma página sua. A inspeção de URL do Search Console dá a resposta exata para cada página. - O seu domínio serve um build de preview. A Vercel coloca
X-Robots-Tag: noindexnos deploys de preview. Se o domínio aponta para um deles, ou se você copiou esse cabeçalho para onext.config, o Google pula todas as páginas. Rodecurl -Inuma página e procureX-Robots-Tag. - O metadata coloca
noindex. Procurerobots: { index: false }emmetadataougenerateMetadata, muitas vezes esquecido do ambiente de teste. Uma chamada anotFound()depois que a página começa o streaming também colocanoindex. - O
robots.tsbloqueia o site. Oapp/robots.tsgera o/robots.txt. Uma regradisallow: '/'que sobrou do teste bloqueia todas as páginas. - Não há sitemap, ou o Search Console não tem. O Next.js não tem sitemap até você criar
app/sitemap.ts. Liste só endereços que respondem200, no mesmo formato de barra do site, e envie/sitemap.xmlno Search Console. - O conteúdo só carrega no navegador, ou todas as páginas dividem uma tag canônica. Busque o conteúdo principal no servidor, para ele estar no primeiro HTML. Defina
alternates.canonicalno metadata de cada página. Uma canônica só no layout raiz vale para todas as páginas abaixo dele, e todas apontam para a página inicial. - Os links não são links de verdade. Use
<Link href>na navegação. O Google segue links<a href>, não cliques que chamamrouter.push().
Se só algumas páginas estão fora: os três motivos mais comuns no Next.js
O Search Console mostra o motivo de cada página em Indexação > Páginas. Estes três são os que mais aparecem em sites Next.js.
Erro soft 404
Uma rota dinâmica como [slug] que mostra “não encontrado” sem chamar notFound() responde 200. Uma chamada a notFound() depois do início do streaming também. Chame notFound() antes do streaming, fora de <Suspense> e do loading.tsx, para a rota responder 404. Ou confira o slug no Proxy. Veja Erro soft 404.
A página foi indexada sem conteúdo
Se a página carrega o conteúdo no navegador, o Google vê primeiro uma página vazia ou um ícone de carregamento. Monte o conteúdo principal no servidor, com Server Components, páginas estáticas ou renderização no servidor. Veja A página foi indexada sem conteúdo.
Página com redirecionamento
O Proxy (middleware) e a opção trailingSlash mandam o visitante para um endereço diferente do que está no sitemap. Liste cada página no sitemap no endereço exato que o site usa: a mesma barra no fim e o mesmo domínio. Veja Página com redirecionamento.
Onde fica o sitemap
No App Router, o app/sitemap.ts gera o /sitemap.xml, e o app/robots.ts gera o /robots.txt. Você não tem nenhum dos dois até criar. Para avisar o Bing também, veja IndexNow no Next.js.
Veja quais rotas o Google deixou de fora
O CrawlCoach confere com o Search Console as páginas do seu sitemap.xml e agrupa as que ficaram fora do Google por motivo. Nos planos pagos, ele também avisa quando uma página do sitemap tem noindex ou redireciona.
Perguntas frequentes
Por que a página 404 do meu Next.js responde 200?
A página começou o streaming antes de o notFound() rodar, então o status 200 já tinha sido enviado. Nesse caso o Next.js coloca noindex. Leve a conferência para antes de qualquer <Suspense> ou loading.tsx, ou para o Proxy, para responder um 404 de verdade.
O Google renderiza páginas Next.js montadas no navegador?
O Google consegue rodar JavaScript, mas faz isso depois e com menos frequência. Páginas montadas no servidor entram no Google mais rápido e com mais frequência.
Preciso de sitemap.ts e de robots.ts?
Sim. O robots.ts deve indicar o URL do sitemap, e o sitemap.ts deve listar só URLs que respondem 200.
Fontes
Conferido em 8 de outubro de 2026. O Google muda o Search Console e a ajuda de tempos em tempos. Se algo estiver diferente na sua tela, confira a fonte.
- Documentação do Next.js: notFound (em inglês)
- Documentação do Next.js: loading.js e códigos de status (em inglês)
- Documentação do Next.js: generateMetadata (em inglês)
- Documentação do Next.js: trailingSlash (em inglês)
- Vercel: os deploys de preview são indexados? (em inglês)
- Central da Pesquisa Google: Práticas recomendadas de links para o Google
Veja quais páginas do seu site estão fora do Google
Entre com sua conta Google. O CrawlCoach confere até 500 páginas de graça e mostra a correção de cada problema.
Gerar meu relatório grátisGrátis para até 500 páginas. Sem cartão. Entre com a conta Google que você usa no Search Console.
O app e os relatórios do CrawlCoach estão em inglês.
Outras plataformas
- v0O v0 cria apps Next.js na Vercel, e as páginas costumam vir montadas do servidor. Os bloqueios comuns são deploy protegido, o título inicial e a falta de sitemap.
- GitHub PagesSites novos no GitHub Pages costumam ficar fora do Google por falta de sitemap, de propriedade no Search Console e de links.
- LovableApps Lovable antigos mandam uma página quase vazia e dependem do pré-render do Lovable para o Google. Confira o que o Google recebe e corrija no Lovable.