A diferença entre sitemap index e sitemap se resume a uma função específica de cada um. Um sitemap.xml comum é uma lista plana das URLs reais das suas páginas. Um sitemap index é uma lista de sitemaps, não de páginas. Quando um site ultrapassa 50.000 URLs ou 50MB de tamanho de arquivo não compactado, um único sitemap.xml deixa de ser válido, e você divide suas URLs em vários arquivos de sitemap que um arquivo de índice referencia. Este guia aborda exatamente quando essa mudança é necessária, a sintaxe precisa, como dividir um site grande de forma lógica e como enviar o índice para o Google para que ele rastreie de forma eficiente.
A maioria das páginas sobre esse assunto para na especificação de uma linha do Google ("50.000 URLs e 50MB por arquivo") e deixa você descobrir o resto. As perguntas práticas que ninguém responde são: como dividir, como é a aparência real do arquivo de índice e onde se encaixam hreflang e sitemaps de imagens. Essa é a lacuna que este artigo preenche.
Sitemap Index vs Sitemap: A Diferença Essencial#
Um sitemap e um sitemap index são dois tipos de arquivo diferentes que usam dois elementos raiz diferentes. Confundi-los é o erro mais comum, e os mecanismos de busca rejeitarão o arquivo se você aninhá-los incorretamente.
- Um sitemap usa a raiz
<urlset>e contém entradas<url>. Cada entrada é uma página real e indexável do seu site. - Um sitemap index usa a raiz
<sitemapindex>e contém entradas<sitemap>. Cada entrada aponta para a localização de outro arquivo de sitemap, não para uma página.
Pense no index como um sumário. Ele não lista diretamente seus artigos ou páginas de produto. Ele lista os arquivos de sitemap menores, e cada um deles lista as páginas. Os mecanismos de busca buscam o index primeiro e depois rastreiam cada sitemap filho que ele referencia.
Regra fundamental: um sitemap index só pode apontar para sitemaps. Você não pode colocar URLs de páginas e URLs de sitemaps filhos no mesmo arquivo. Misturar os dois elementos raiz é inválido e falhará na validação no Search Console.
Por que a estrutura de dois níveis existe#
A razão pela qual essa estrutura existe é o limite máximo de um único arquivo. O protocolo sitemaps.org (e Google, Bing e os demais seguem) limita qualquer sitemap a:
- 50.000 URLs no máximo por arquivo.
- 50MB descompactados de tamanho máximo de arquivo.
Ao atingir qualquer um desses limites, o arquivo está fora das especificações. Sites grandes ultrapassam 50.000 URLs constantemente, então o protocolo permite que você publique vários arquivos de sitemap e os agrupe com um único index. Um único sitemap index pode referenciar até 50.000 sitemaps, o que significa que o teto teórico é 50.000 x 50.000 = 2,5 bilhões de URLs. Você ficará sem páginas muito antes de ficar sem capacidade de sitemap.
Quando Mudar de um Sitemap Único para um Índice de Sitemap#
A mudança não é uma questão de estilo. Ela é forçada por limites, e existem três gatilhos. O primeiro que você atingir decide a questão.
| Gatilho | O limite | O que acontece se você ignorar |
|---|---|---|
| Contagem de URLs | Mais de 50.000 URLs em um único arquivo | Os mecanismos de busca param de ler no limite; URLs extras são descartadas silenciosamente |
| Tamanho do arquivo | Mais de 50MB descompactados | O arquivo é rejeitado como inválido; nada nele é rastreado de forma confiável |
| Organização lógica | Sem limite rígido, mas útil acima de alguns milhares de URLs | Mais difícil depurar problemas de rastreamento e ler relatórios de cobertura por seção |
Aqui está a interpretação prática de cada um.
Contagem de URLs é o motivo mais comum. Com mais de 50.000 URLs publicadas e indexáveis, você precisa dividir. Não há uma opção para ativar ou cota para aumentar. Ou você divide em vários sitemaps sob um índice, ou as URLs além do número 50.000 nunca serão enviadas.
Tamanho do arquivo afeta sites com URLs longas. Você pode atingir o limite de 50MB antes de 50.000 URLs se suas URLs forem muito longas, ou se você incluir muitos elementos <image:image> e <xhtml:link> (hreflang) por URL. Cada elemento extra adiciona bytes, e sites multilíngues com anotações hreflang incham rapidamente.
Organização lógica é o motivo subestimado. Mesmo com 8.000 URLs, dividir em sitemaps temáticos é inteligente. Quando o Search Console relata que um sitemap tem problemas de indexação, uma divisão por seção informa imediatamente se o problema está no seu blog, produtos ou páginas de categoria. Um arquivo gigante não diz nada.
Dica prática: se você estiver perto de 40.000 URLs, construa a estrutura de índice agora, em vez de depois de ultrapassar 50.000. Adaptar sob pressão quando as páginas estão saindo do índice é muito mais estressante do que configurar cedo.
A Sintaxe Exata do Índice de Sitemap (Com Exemplo)#
Esta é a parte que as especificações técnicas resumidas pulam. Um índice de sitemap é um pequeno arquivo XML. Aqui está um exemplo completo e válido apontando para três sitemaps filhos.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-posts.xml</loc>
<lastmod>2026-06-25T09:00:00+00:00</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
<lastmod>2026-06-24T14:30:00+00:00</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-pages.xml</loc>
<lastmod>2026-06-20T08:15:00+00:00</lastmod>
</sitemap>
</sitemapindex>
Três detalhes são importantes aqui.
<loc>deve ser uma URL absoluta. Use o caminho completohttps://example.com/..., não um relativo/sitemap-posts.xml. URLs relativas são inválidas em sitemaps.<lastmod>é o único outro filho permitido. Cada entrada<sitemap>aceita<loc>e, opcionalmente,<lastmod>. Não há<changefreq>ou<priority>no nível do índice (o Google ignora esses até em sitemaps comuns).<lastmod>deve ser honesto. Defina-o para a hora mais recente em que uma URL dentro daquele sitemap filho realmente mudou. Um<lastmod>que sempre diz "hoje" treina os crawlers a ignorá-lo, enquanto um preciso ajuda o crawler a decidir quais sitemaps filhos buscar primeiro.
Cada sitemap filho é apenas um arquivo <urlset> normal:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/blog/primeiro-post</loc>
<lastmod>2026-06-25T09:00:00+00:00</lastmod>
</url>
<url>
<loc>https://example.com/blog/segundo-post</loc>
<lastmod>2026-06-22T11:00:00+00:00</lastmod>
</url>
</urlset>
Você pode editar manualmente para uma divisão pequena, mas para algo real você os gera. Um gerador de sitemap XML gratuito cuida da divisão, do arquivo de índice e da formatação de URL absoluta para que você não introduza um erro de digitação que silenciosamente quebre o rastreamento.
Como Dividir um Site Grande de Forma Lógica#
Você pode dividir arbitrariamente ("URLs 1 a 50.000 aqui, 50.001 a 100.000 ali"), mas isso é uma oportunidade desperdiçada. Dividir por seção ou tipo de conteúdo transforma seus sitemaps em uma ferramenta de diagnóstico, não apenas em uma caixa de conformidade.
Divida por tipo de conteúdo ou seção#
O padrão mais limpo é um sitemap por grupo lógico, todos referenciados por um único índice:
sitemap-posts.xmlpara URLs de blog ou artigossitemap-products.xmlpara páginas de produtos ou listagenssitemap-categories.xmlpara páginas de taxonomia e categoriassitemap-pages.xmlpara páginas estáticas (sobre, contato, legal)
Agora, quando o Search Console disser "sitemap-products.xml: 4.200 enviados, 3.100 indexados", você saberá exatamente onde investigar. Com um único arquivo monolítico, você saberia apenas que algo, em algum lugar, não está indexado.
Mantenha cada sitemap filho bem abaixo do limite#
Não encha cada arquivo filho até o limite de 49.999 URLs. Busque de alguns milhares até cerca de 10.000 a 20.000 URLs cada. Arquivos menores são mais rápidos para buscar e rebuscar quando apenas uma seção muda, e mantêm você seguramente abaixo do teto de 50MB à medida que as URLs crescem.
Decida entre sitemaps separados e combinados#
Você tem uma escolha entre sitemaps especializados dedicados e combinar tudo por URL.
| Abordagem | Quando usar | Compensação |
|---|---|---|
| Combinar imagens e hreflang nos sitemaps principais de URL | Na maioria dos sites | Estrutura mais simples; fique de olho no limite de 50MB |
| Sitemap de imagens separado | Sites com muitas imagens (galerias, banco de imagens, ecommerce) | Relatórios mais limpos sobre indexação de imagens, mas mais arquivos para manter |
| Tratamento de hreflang/idioma separado | Grandes sites multilíngues | Evita inflar um arquivo; requer anotações recíprocas |
Para a maioria dos sites, menos arquivos é melhor. Recorra a sitemaps especializados separados apenas quando uma seção for grande o suficiente para que a combinação empurre um arquivo em direção ao limite de tamanho ou atrapalhe seus relatórios.
Onde Hreflang e Sitemaps de Imagem se Encaixam em um Índice#
Esta é a parte que quase nenhum artigo concorrente aborda, e que confunde as pessoas em sites internacionais e com muitos arquivos de mídia.
Hreflang dentro de um índice de sitemap#
As anotações hreflang ficam dentro das entradas <url> de um sitemap comum, usando o elemento xhtml:link. Elas não alteram o arquivo de índice. O índice ainda lista apenas os sitemaps filhos. Um sitemap filho com hreflang tem esta aparência:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://example.com/page</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/page"/>
<xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/page"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/page"/>
</url>
</urlset>
Duas coisas para lembrar. Primeiro, as anotações hreflang devem ser recíprocas: se a página em inglês aponta para a versão em espanhol, a página em espanhol deve apontar de volta. Segundo, cada xhtml:link adiciona bytes, então sitemaps com muitos hreflang atingem o limite de 50MB com muito menos de 50.000 URLs. Esse é exatamente o caso em que dividir em mais sitemaps filhos sob um único índice se torna necessário, mesmo com uma contagem modesta de URLs.
Sitemaps de imagem dentro de um índice#
As entradas de imagem também ficam dentro do bloco <url> da página, usando o namespace image:image, não no índice. Você pode anexar imagens às URLs em seus sitemaps principais ou criar um sitemap de imagem dedicado e adicioná-lo como outra entrada <sitemap> no índice.
Para um site com milhares de imagens por seção, um sitemap de imagem separado mantém seus sitemaps principais enxutos e fornece uma linha limpa no Search Console para indexação de imagens. Para todo o resto, anexar imagens às entradas de URL existentes é mais simples e funciona bem.
Como Enviar um Índice de Sitemap para o Google#
Depois que seu índice for criado, você só precisa enviar uma coisa: o arquivo de índice. Você não precisa enviar cada sitemap filho separadamente. O Google descobre os filhos lendo o índice.
Etapa 1: Referencie o índice no robots.txt#
Adicione uma linha Sitemap: ao seu robots.txt apontando para a URL absoluta do arquivo de índice. Isso permite que qualquer rastreador o descubra, não apenas o Google.
Sitemap: https://exemplo.com/sitemap-index.xml
Você pode listar várias linhas Sitemap: se necessário, mas com um índice adequado você só precisa de uma. Se também precisar controlar quais caminhos os rastreadores podem acessar, gere um arquivo limpo com um gerador de robots.txt gratuito para que as diretivas e a referência do sitemap sejam formatadas corretamente.
Etapa 2: Envie o índice no Google Search Console#
No Search Console, abra o relatório de Sitemaps para sua propriedade e insira o caminho para o seu arquivo de índice (por exemplo, sitemap-index.xml). Envie-o. O Google lê o índice e, em seguida, coloca cada sitemap filho na fila. Você verá o índice listado e, nos dias seguintes, as contagens de descoberta e indexação por sitemap serão preenchidas.
Etapa 3: Verifique se cada sitemap filho foi lido#
Após o Google processar o índice, o relatório de Sitemaps mostra cada sitemap filho referenciado. Confirme se as contagens de URLs enviadas correspondem ao que você espera por seção. Se um sitemap filho mostrar zero URLs ou um erro, esse arquivo tem um problema (um <loc> ruim, um erro de sintaxe ou um estouro de tamanho), e você corrige esse arquivo em vez de toda a estrutura.
Etapa 4: Monitore e mantenha o lastmod preciso#
O reenvio raramente é necessário depois que um índice está no lugar. O Google busca novamente o índice e os sitemaps filhos em sua própria programação. A coisa mais útil que você pode fazer é manter <lastmod> preciso, tanto nas entradas do índice quanto dentro dos sitemaps filhos, para que os rastreadores priorizem as seções que realmente mudaram. Enquanto você está ajustando os sinais técnicos de SEO, vale a pena combinar seu sitemap com dados estruturados: nosso gerador de schema markup ajuda suas páginas principais a obter resultados avançados depois que são rastreadas.
Erros Comuns em Índices de Sitemap a Evitar#
Alguns erros são responsáveis pela maioria dos sitemaps quebrados em sites grandes.
- Aninhar um índice dentro de outro índice. Um índice de sitemap não pode apontar para outro índice de sitemap, apenas para sitemaps comuns. Você só tem um nível de indexação.
- Misturar entradas
<url>e<sitemap>. Um arquivo é ou um<urlset>ou um<sitemapindex>, nunca ambos. - URLs relativas em
<loc>. Sempre absolutas, sempre com o protocolo e host corretos. - Listar a mesma URL em vários sitemaps filhos. Cada URL deve aparecer uma vez em todo o conjunto. Duplicatas desperdiçam orçamento de rastreamento e confundem os relatórios.
- Enviar sitemaps filhos individualmente após enviar o índice. Redundante e polui seu relatório de Sitemaps. Envie apenas o índice.
A Conclusão sobre Sitemap Index vs Sitemap#
A decisão entre sitemap index vs sitemap é resolvida pela sua contagem de URLs e tamanho de arquivo, não por preferência. Abaixo de 50.000 URLs e 50MB, um único sitemap.xml é suficiente. Ultrapasse qualquer um desses limites e você deve dividir suas páginas em vários sitemaps filhos, unidos por um único arquivo <sitemapindex>, e enviar apenas esse índice ao Google.
Feito corretamente, a divisão vai além da conformidade. Agrupar por seção transforma seus sitemaps em um painel de saúde de rastreamento, mantém arquivos com hreflang e muitas imagens abaixo do limite de tamanho, e mostra exatamente onde estão os problemas de indexação. Se preferir não escrever uma única linha de XML manualmente, um gerador de sitemap XML gratuito cria o índice e os arquivos filhos, formata as URLs absolutas e evita os erros de digitação que silenciosamente quebram o rastreamento em sites grandes.
Perguntas Frequentes#
Qual é a diferença entre um sitemap e um índice de sitemap?
Um sitemap (<urlset>) lista as URLs reais das páginas do seu site. Um índice de sitemap (<sitemapindex>) lista outros arquivos de sitemap, não páginas. Os mecanismos de busca leem o índice primeiro e depois rastreiam cada sitemap filho que ele referencia. Você usa um índice quando tem mais arquivos de sitemap do que um único arquivo pode conter.
Quando preciso de um índice de sitemap em vez de um sitemap.xml? Você deve mudar quando um único arquivo exceder 50.000 URLs ou 50 MB descompactados, o que ocorrer primeiro. Sites multilíngues com hreflang ou sites com muitas imagens podem atingir o limite de 50 MB bem antes de 50.000 URLs. Muitas equipes também dividem antes, por volta de alguns milhares de URLs, apenas para ter relatórios mais limpos por seção no Search Console.
Um índice de sitemap pode apontar para outro índice de sitemap?
Não. Um índice de sitemap só pode referenciar sitemaps comuns (arquivos <urlset>), não outros arquivos de índice. Você tem exatamente um nível de indexação. Se precisar organizar muitos sitemaps, agrupe-os logicamente em um único índice, em vez de tentar aninhar índices.
Quantas URLs um índice de sitemap pode manipular no total? Um único índice de sitemap pode referenciar até 50.000 sitemaps filhos, e cada sitemap filho pode conter até 50.000 URLs. Isso resulta em um teto de aproximadamente 2,5 bilhões de URLs a partir de um índice, o que é muito mais do que qualquer site real precisa.
Devo enviar cada sitemap filho para o Google ou apenas o índice? Envie apenas o arquivo de índice no Google Search Console e faça referência a ele uma vez no robots.txt. O Google lê o índice e descobre automaticamente todos os sitemaps filhos. Enviar sitemaps filhos individualmente é redundante e apenas polui seu relatório de Sitemaps.
Onde vão as entradas hreflang e de imagem em um índice de sitemap?
Elas nunca vão no próprio arquivo de índice. As anotações hreflang (xhtml:link) e de imagem (image:image) ficam dentro das entradas <url> dos sitemaps filhos comuns. O índice apenas lista as localizações dos sitemaps filhos. Como essas anotações aumentam o tamanho do arquivo, sitemaps filhos com muitos hreflang ou muitas imagens atingem o limite de 50 MB com menos URLs, o que muitas vezes é o motivo pelo qual você divide.



