Sitemap e robots.txt no React com Vite e Netlify
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:
<?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
lastmodverdadeiro. Segundo a documentação do Google, o campo só é considerado quando é consistentemente preciso. - Ignore
priorityechangefreq, 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:
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:
/* /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:
- Confirme que os arquivos aparecem na pasta
dist/depois do build. - Remova o
!da regra de redirecionamento, caso exista. - Verifique se nenhum redirecionamento no
netlify.tomlcaptura essas rotas. - 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.
Matérias relacionadas
Certificado SSL para site: o que é e como ter HTTPS
Conteúdo gerado por IA e SEO: o Google penaliza?
Carrossel no Instagram para Empresas: Guia Prático
Animações em React com Framer Motion: guia prático

E-mail Profissional para Empresa: Como Criar e Escolher

Paginação com Supabase e React: guia com range()
Pronto para tirar sua ideia do papel?
Fale agora com nosso time de desenvolvimento. Sites, apps, automações, o que você precisar.
Chamar no WhatsAppResposta em até 2 horas