Artigo Grow·SEO·14 min de leitura de leitura

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.

Vitor Morais

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

Campos do sitemap XML e relevância em 2026
CritérioStatus em 2026Quando usar
<loc>ObrigatórioSempre — URL absoluta
<lastmod>RecomendadoGoogle usa como pista real
<changefreq>Google ignoraPode omitir
<priority>Google ignoraPode omitir

Contexto

O Google confirmou publicamente em 2017 e reafirmou em 2023 que 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

  1. Acesse Search Console → sua propriedade → Sitemaps (menu esquerdo).
  2. No topo, digite a URL relativa do sitemap (ex.: sitemap.xml).
  3. Clique em “Enviar”.
  4. O status aparece em “Status: Sucesso” dentro de algumas horas.
  5. Acompanhe ao longo das semanas os números de “URLs enviadas” vs “URLs indexadas”. Taxa saudável: 85%+.

Dica

Depois de submeter no Search Console, também declare no robots.txt: 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&amp;), 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-sitemap ou a convenção nativa app/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

Se o site tem milhares de URLs e você quer segmentar auditoria, rode Screaming Frog em modo List contra o sitemap. Em 10 minutos, você vê códigos de status, tempos de resposta e metadados de cada URL — mina de ouro para priorizar correções.

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 (&ldquo;URL bloqueada&rdquo; ou &ldquo;alternativa com canonical&rdquo;). 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.

#sitemap#sitemap xml#seo#indexação#search console#next.js#wordpress#lastmod#sitemap index

Artigos relacionados