Carregando recursos ...
sitemap reactrobots txtseo tecnicovitenetlifysitemap xml

Sitemap e robots.txt no React com Vite e Netlify

SCStormcore
5 min de leitura

Sitemap e robots.txt no React com Vite e Netlify

Para configurar sitemap e robots.txt no React com Vite e Netlify, basta colocar os dois arquivos dentro da pasta public/ do projeto. O Vite copia tudo dessa pasta para a raiz do build, e a Netlify os serve em seusite.com.br/sitemap.xml e seusite.com.br/robots.txt. O erro mais comum é o regex de redirecionamento do SPA engolir esses arquivos, e este guia mostra como evitar isso.

Por que sitemap e robots.txt importam para SEO e GEO

O sitemap.xml é a lista de URLs que você quer que os buscadores descubram. O robots.txt diz aos rastreadores o que eles podem ou não acessar e indica onde está o sitemap. Juntos, formam a base do SEO técnico de qualquer site.

Em sites feitos com React, isso pesa ainda mais. Como a aplicação é uma SPA, os links internos nem sempre são fáceis de seguir, e o sitemap vira um mapa confiável das suas páginas.

Hoje esses arquivos também servem para a busca com IA. Rastreadores de motores de resposta, como o do Google, o da OpenAI e o do Perplexity, consultam o robots.txt para saber se podem ler seu conteúdo. Bloquear sem querer significa ficar fora das respostas geradas por IA.

Como criar o sitemap.xml no Vite

Crie o arquivo public/sitemap.xml com a estrutura abaixo:

code
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://seusite.com.br/</loc>
    <lastmod>2026-11-03</lastmod>
  </url>
  <url>
    <loc>https://seusite.com.br/servicos</loc>
    <lastmod>2026-10-20</lastmod>
  </url>
</urlset>

Algumas regras importantes:

  • Use sempre URLs absolutas e completas, com https://.
  • Liste apenas páginas que devem ser indexadas, sem redirecionamentos nem páginas com noindex.
  • Mantenha o lastmod verdadeiro. Segundo a documentação do Google, o campo só é considerado quando é consistentemente preciso.
  • Ignore priority e changefreq, pois o Google informa que não usa esses campos.
  • Respeite o limite de 50.000 URLs ou 50 MB (sem compactar) por arquivo, definido pelo protocolo de sitemaps.

Sitemap dinâmico para blogs e catálogos

Se o seu site tem posts vindos de um banco como o Supabase, escrever o arquivo à mão não funciona. Gere o sitemap em um script executado antes do build, que consulta as páginas publicadas e grava public/sitemap.xml. Na Netlify, você pode rodar esse script no comando de build, como node scripts/sitemap.js && vite build.

Como criar o robots.txt

Crie public/robots.txt com o conteúdo mínimo:

code
User-agent: *
Allow: /

Sitemap: https://seusite.com.br/sitemap.xml

Se existirem áreas privadas, como painel administrativo, use Disallow: /admin. Lembre que o robots.txt controla o rastreamento, e não a indexação. Para tirar uma página do Google, use a meta tag noindex, e não o Disallow, porque uma página bloqueada ainda pode aparecer no índice se receber links.

Como evitar o 404 na Netlify com React Router

Em uma SPA, você normalmente usa uma regra para devolver o index.html em qualquer rota. No arquivo public/_redirects, ela fica assim:

code
/*    /index.html   200

Por padrão, a Netlify prioriza arquivos estáticos existentes sobre essa regra, desde que ela não use o modificador de força (200!). Portanto, se o sitemap e o robots.txt estão em public/ e a regra não é forçada, eles são servidos normalmente.

Se o problema persistir, siga esta lista de verificação:

  1. Confirme que os arquivos aparecem na pasta dist/ depois do build.
  2. Remova o ! da regra de redirecionamento, caso exista.
  3. Verifique se nenhum redirecionamento no netlify.toml captura essas rotas.
  4. Abra a URL direto no navegador após o deploy, em aba anônima.

Como enviar o sitemap ao Google

Depois do deploy, abra o Google Search Console, vá em Sitemaps e informe o caminho sitemap.xml. O relatório mostra quantas URLs foram descobertas e quais têm erros. Revise-o depois de cada grande atualização do site.

Perguntas Frequentes

Onde fica o sitemap.xml em um projeto React com Vite? Fica na pasta public/. O Vite copia o conteúdo dessa pasta para a raiz do build, então o arquivo é acessado em seusite.com.br/sitemap.xml.

O robots.txt impede que uma página apareça no Google? Não necessariamente. Ele bloqueia o rastreamento, mas a URL ainda pode ser indexada se tiver links apontando para ela. Para remover da busca, use a meta tag noindex.

Por que a Netlify retorna 404 para o meu sitemap? Em geral, o arquivo não foi para o build ou existe uma regra de redirecionamento forçada capturando a rota. Confira a pasta dist/ e remova o ! da regra do SPA.

Preciso de sitemap se meu site é pequeno? Sites pequenos e bem linkados são descobertos sem ele, mas o sitemap acelera a descoberta, facilita o monitoramento no Search Console e custa quase nada para manter.

Conclusão

Colocar sitemap e robots.txt em public/, manter o lastmod correto e testar as URLs após cada deploy resolve a maior parte dos problemas de rastreamento em sites React. Na Stormcore, criamos sites em React com essa base de SEO técnico já configurada, junto com automações e sistemas sob medida para o seu negócio.

Continue lendo

Matérias relacionadas

Pronto para tirar sua ideia do papel?

Fale agora com nosso time de desenvolvimento. Sites, apps, automações, o que você precisar.

Chamar no WhatsApp

Resposta em até 2 horas