Como Criar Sitemap XML (2026): Guia Completo com Exemplos e Geração Automática
Sitemap XML é a forma mais eficiente de mostrar ao Google quais URLs você quer indexadas e quando mudaram. Este guia cobre a estrutura completa, sitemap-index para sites grandes, geração automática nas principais stacks e os erros que travam indexação.
Por Vitor Morais
Fundador do MochaLabz ·
Gere um sitemap em segundos
Cole a lista de URLs ou o domínio e baixe o XML pronto para subir.
Usar gerador →Sitemap XML é um arquivo estruturado que lista as URLs que você quer que os buscadores conheçam, junto com metadados opcionais como data de modificação e importância relativa. É um dos recursos mais eficientes de SEO técnico — configurado certo, acelera indexação de conteúdo novo em dias em vez de semanas.
Apesar da aparência intimidadora de arquivo XML, o sitemap é simples. Este guia cobre o que cada campo significa, como estruturar em sites grandes, como gerar automaticamente em diferentes stacks e os erros que fazem o Google ignorar seu esforço.
Para que serve exatamente um sitemap
O Googlebot descobre URLs seguindo links. Sitemap acelera essa descoberta entregando a lista pronta. Em quatro cenários, o impacto é grande:
- Sites grandes: com milhares ou milhões de URLs, links internos sozinhos não cobrem tudo no tempo certo.
- Sites novos: sem backlinks, o Google demora para descobrir — sitemap é atalho.
- Conteúdo isolado: páginas que não têm muitos links internos (produto novo, artigo em categoria pouco acessada).
- Mídia: imagens e vídeos têm sitemaps especializados que elevam visibilidade em Google Images e Google Video.
Estrutura básica do arquivo XML
O sitemap segue o protocolo Sitemaps (mantido por Google, Bing e Yahoo desde 2006). O formato mínimo:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://seusite.com/</loc>
<lastmod>2026-04-17</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://seusite.com/sobre</loc>
<lastmod>2026-03-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>Campos: obrigatório, recomendado e ignorado
| Critério | Status em 2026 | Quando usar |
|---|---|---|
| <loc> | Obrigatório | Sempre — URL absoluta |
| <lastmod> | Recomendado | Google usa como pista real |
| <changefreq> | Google ignora | Pode omitir |
| <priority> | Google ignora | Pode omitir |
Contexto
changefreq e priority são ignorados. Eles foram relevantes na era pré-2015. Hoje, só o lastmod influencia rastreamento incremental. Outros buscadores (Bing, Yandex) ainda consideram, então mantê-los não prejudica.Sitemap-index: o arquivo que aponta para vários
Quando você passa 50.000 URLs ou quer organizar por tipo de conteúdo, use um sitemap-index — um XML que aponta para múltiplos sitemaps menores.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://seusite.com/sitemap-posts.xml</loc>
<lastmod>2026-04-17</lastmod>
</sitemap>
<sitemap>
<loc>https://seusite.com/sitemap-products.xml</loc>
<lastmod>2026-04-16</lastmod>
</sitemap>
<sitemap>
<loc>https://seusite.com/sitemap-categories.xml</loc>
<lastmod>2026-04-10</lastmod>
</sitemap>
</sitemapindex>No Search Console você envia apenas o sitemap-index; o Google percorre e indexa todos os filhos automaticamente.
Estratégia de divisão por tipo de conteúdo
Em e-commerces e blogs grandes, divida sitemaps por natureza do conteúdo. Facilita depuração no Search Console e isola problemas (se o sitemap de produtos está com 30% de cobertura, o problema é específico).
sitemap-posts.xml— artigos do blog.sitemap-products.xml— páginas de produto.sitemap-categories.xml— hubs e listagens.sitemap-images.xml— sitemap de imagens com extensão.sitemap-video.xml— sitemap de vídeos com extensão.sitemap-news.xml— sitemap de news (até 1000 URLs publicadas nos últimos 2 dias).
Geração automática por stack
Next.js App Router
O Next 14+ tem convenção app/sitemap.ts que gera XML tipado. Funciona tanto em SSG quanto SSR.
// app/sitemap.ts
import type { MetadataRoute } from "next";
import { getAllPosts, getAllProducts } from "@/lib/db";
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
const posts = await getAllPosts();
const products = await getAllProducts();
return [
{
url: "https://seusite.com",
lastModified: new Date(),
changeFrequency: "daily",
priority: 1,
},
...posts.map((p) => ({
url: `https://seusite.com/blog/${p.slug}`,
lastModified: new Date(p.updatedAt),
changeFrequency: "weekly" as const,
priority: 0.7,
})),
...products.map((p) => ({
url: `https://seusite.com/products/${p.slug}`,
lastModified: new Date(p.updatedAt),
changeFrequency: "daily" as const,
priority: 0.8,
})),
];
}WordPress
Yoast SEO e Rank Math geram e submetem sitemaps automaticamente. Por padrão, criam:
sitemap_index.xml(arquivo principal).post-sitemap.xml,page-sitemap.xml,category-sitemap.xml.- Atualizam automaticamente a cada publicação ou edição.
Shopify
Gera sitemap automaticamente em /sitemap.xml, incluindo produtos, coleções, páginas e posts do blog. Sem possibilidade de editar diretamente, mas você pode complementar com sitemap customizado hospedado à parte se precisar.
Script Node.js para sites custom
// scripts/generate-sitemap.mjs
import { writeFileSync } from "node:fs";
const urls = [
{ loc: "https://seusite.com/", lastmod: "2026-04-17" },
{ loc: "https://seusite.com/sobre", lastmod: "2026-03-10" },
// gere dinamicamente a partir do banco
];
const xml = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
${urls
.map(
(u) => ` <url>
<loc>${u.loc}</loc>
<lastmod>${u.lastmod}</lastmod>
</url>`,
)
.join("\n")}
</urlset>`;
writeFileSync("public/sitemap.xml", xml, "utf8");
console.log(`Sitemap gerado: ${urls.length} URLs`);Submetendo ao Google Search Console
- Acesse Search Console → sua propriedade → Sitemaps (menu esquerdo).
- No topo, digite a URL relativa do sitemap (ex.:
sitemap.xml). - Clique em “Enviar”.
- O status aparece em “Status: Sucesso” dentro de algumas horas.
- Acompanhe ao longo das semanas os números de “URLs enviadas” vs “URLs indexadas”. Taxa saudável: 85%+.
Dica
Sitemap: https://seusite.com/sitemap.xml. Isso alcança Bing, DuckDuckGo, Yandex e IAs que usam Common Crawl sem configuração adicional.Erros comuns que quebram indexação
- URLs com HTTP e HTTPS misturadas: sempre use a versão canônica (preferencialmente HTTPS).
- Trailing slash inconsistente: se o site usa
/sobre/, não liste/sobre. O Google trata como URLs diferentes. - Incluir URLs com noindex, canonical ou 4xx/5xx: gera erros no Search Console e mina a confiança do domínio.
- Codificação incorreta: o arquivo deve ser UTF-8, sem BOM. Caracteres especiais em URLs (acentos, espaços) precisam estar URL-encoded.
- Data lastmod inventada: pôr data atual em tudo, sempre. O Google detecta e para de confiar.
- Tamanho estourado: acima de 50.000 URLs ou 50MB, o Google recusa o arquivo. Divida em sitemap-index.
- XML malformado: tags não fechadas, caracteres & não escapados (use
&), aspas em URL. Valide antes de submeter.
Quando atualizar o sitemap
- Sempre que publicar URL nova: ideal é regenerar via build automático ou ao salvar conteúdo.
- Após reestruturação de URLs: redirects 301 + sitemap novo acelera a atualização do índice.
- Após remoção em massa: URLs removidas devem sair do sitemap; complemente com Removal Tool no Search Console.
- Reindexação rápida: ao reenviar o sitemap no Search Console, você sinaliza prioridade. O Google não promete, mas costuma acelerar em 24–72h.
Sitemap em um site estático
Gerar sitemap em site estático (Astro, Hugo, Eleventy, Jekyll, Next export) é barato. Todas as principais stacks têm plugin oficial que lê o file system e gera XML no build.
- Astro:
@astrojs/sitemap— plug-and-play. - Hugo: gera sitemap por padrão em
/sitemap.xml. - Eleventy: plugin
eleventy-plugin-sitemap. - Next export:
next-sitemapou a convenção nativaapp/sitemap.ts.
Validação antes de submeter
Ferramentas gratuitas de validação:
- Search Console Sitemap Tester: mostra erros de parsing imediatamente.
- XML-Sitemaps.com: validador online que checa estrutura, tamanho e URLs inacessíveis.
- Screaming Frog: crawler local que pode baixar e auditar qualquer sitemap externo.
Vai mais fundo
Sitemap em uma frase
Sitemap XML é o índice que você entrega ao Google — configurado certo e atualizado, acelera descoberta, melhora cobertura e dá visibilidade em diagnóstico. Configurado errado, polui o Search Console com erros que o algoritmo anota contra seu domínio. 15 minutos de atenção na primeira configuração economizam meses de debugging depois.
Perguntas frequentes
Todo site precisa de sitemap XML?+
Tecnicamente, não — mas quase sempre vale. Sites pequenos (até 50 páginas) e bem internamente linkados podem ser rastreados sem sitemap. Acima disso, e em qualquer caso de URLs novas frequentes (blog, e-commerce, SaaS), o sitemap acelera a descoberta e melhora a cobertura de indexação. Envio ao Search Console também habilita relatórios detalhados de status por URL.
Qual o limite de URLs em um sitemap?+
50.000 URLs por arquivo ou 50MB (descompactado), o que vier primeiro. Se seu site passa disso, use sitemap-index (um XML que aponta para múltiplos sitemaps menores). Google e Bing suportam o protocolo de sitemap-index desde 2006. Na prática, dividir por tipo de conteúdo (posts, produtos, categorias, imagens) é mais útil do que só estourar limite.
Qual a diferença entre sitemap XML e HTML?+
Sitemap XML é para buscadores — formato estruturado que bots parseiam. Sitemap HTML é uma página para humanos, com lista de links organizada que ajuda navegação e indexação secundária. Os dois se complementam: XML para Google, HTML para usuário (e como sinal adicional de estrutura). Se precisa escolher um, comece pelo XML — impacto direto em SEO.
O sitemap garante que minhas URLs sejam indexadas?+
Não. Sitemap é convite, não ordem. Google usa como pista sobre quais URLs considerar, mas a indexação depende de qualidade, relevância, E-E-A-T e autoridade do domínio. Uma URL no sitemap com conteúdo thin ou duplicado continua não indexada. Sitemap ajuda descoberta; não substitui conteúdo bom.
Como o Google descobre meu sitemap?+
Três caminhos. (1) Você submete manualmente no Search Console em Sitemaps. (2) Declaração no robots.txt: linha Sitemap: https://seusite.com/sitemap.xml. (3) Descoberta passiva via links ou experiência. O caminho 1 é obrigatório em sites sérios — dá acesso a relatórios detalhados de status. O 2 é complementar e serve também para Bing, DuckDuckGo e outros.
Preciso incluir a data lastmod em cada URL?+
Recomendado mas não obrigatório. O lastmod indica a última modificação real do conteúdo. O Google usa como pista para rastreamento incremental. Se você mente (põe data atual em URLs que não mudaram), o Google aprende a ignorar o campo no seu domínio — literalmente mina sua credibilidade no sitemap. Use lastmod honesto ou omita.
Devo incluir URLs com noindex no sitemap?+
Não. Sitemap é lista de URLs que você quer indexadas. Incluir URLs com meta noindex, bloqueadas por robots.txt ou com canonical apontando para outro lugar gera erros no Search Console (“URL bloqueada” ou “alternativa com canonical”). O sitemap limpo aumenta a confiança do Google no domínio.
Como gerar sitemap automaticamente em vez de editar XML na mão?+
Depende da stack. Next.js App Router tem app/sitemap.ts que gera sitemap tipado. WordPress, use Yoast ou Rank Math, que geram e submetem automaticamente. Shopify e Wix geram nativamente. Sites estáticos (Astro, Next export, Hugo) têm integração direta. Para sites legados custom, scripts de build que lêem o banco de dados e geram XML rodam uma vez por dia via cron.
Artigos relacionados
Sitemap de Imagens e Vídeos (2026): Indexar Mídia no Google e YouTube
Guia completo de sitemap com extensões image e video: estrutura XML, todos os campos obrigatórios e opcionais, geração automática em Next.js e WordPress, validação, limites e os 8 erros que travam a indexação.
Google Search Console: Como Enviar e Monitorar Sitemap (Guia 2026)
Verificação de propriedade, envio passo a passo, sitemap-index para sites grandes, decifrar status, relatório de Páginas e estratégias para acelerar indexação.
Robots.txt: Allow, Disallow, User-agent e Wildcards Explicados
Guia completo das diretivas do robots.txt: Disallow, Allow, User-agent, Sitemap, Crawl-delay, wildcards, ancoragem e regras de precedência. Com exemplos prontos por CMS.
Crawl Budget: O que é e Como Otimizar para Indexar Mais Páginas
Crawl budget é o número de URLs que o Googlebot rastreia no seu site. Aprenda como funciona, quando se preocupar, os 7 maiores desperdiçadores e o checklist completo de otimização — com exemplos reais de robots.txt, canonical, sitemap e arquitetura.