Mapa del sitio XML
Qué es un mapa del sitio XML, su anatomía, las etiquetas ignoradas (priority/changefreq), lastmod preciso, los límites de 50 000/50MB, hreflang en mapas del sitio y cómo enviar uno.
Idiomas
1 señal de evidencia en esta página
- Herramienta activa relacionadaGoogle Index Checker
Un mapa del sitio XML es un archivo UTF-8 que enumera las URL canónicas e indexables que deseas que los motores de búsqueda conozcan, cada una en un bloque <url> con un <loc> obligatorio y un <lastmod> opcional. Ayuda a los motores a descubrir URL pero no garantiza la indexación; su beneficio real es el diagnóstico de enviadas frente a indexadas en Search Console. Google ignora <priority> y <changefreq>, y usa <lastmod> solo cuando es verificablemente preciso (actualizaciones significativas, no un 'hoy' genérico). Un mapa del sitio tiene un límite de 50 000 URL o 50MB sin comprimir; más allá de eso, divides los archivos y los referencias desde un índice de mapa del sitio. Incluye solo URL canónicas, indexables y con estado 200; omitir una URL del mapa del sitio no es lo mismo que no indexarla. Los mapas del sitio también son el lugar más fácil para gestionar hreflang a escala. Referéncialo en robots.txt y envíalo en Search Console y Bing Webmaster Tools.
Evidence for this claim The XML sitemap protocol lists canonical URL locations and optional metadata, with limits of 50,000 URLs and 50 MB uncompressed per sitemap. Scope: Sitemaps protocol and current Google-supported limits. Confidence: high · Verified: Sitemaps XML format Evidence for this claim Google treats sitemaps as discovery hints rather than guarantees and supports submission through Search Console or robots.txt references. Scope: Current Google sitemap behavior and submission methods. Confidence: high · Verified: Google Search Central: Build and submit a sitemapTL;DR — Un sitemap XML es un archivo que lista las páginas de tu sitio que quieres que los motores de búsqueda encuentren. Cada página tiene una entrada: su URL completa y, opcionalmente, la fecha en que cambió significativamente por última vez. Ayuda a los motores a descubrir tus páginas — no los obliga a indexar ni clasificar nada. Lo colocas en una URL como
/sitemap.xml, lo señalas desde turobots.txty lo envías en Google Search Console y Bing Webmaster Tools.
Qué es un sitemap XML
Un sitemap XML es una lista de tus URLs, escrita en un formato estructurado simple, que entregas directamente a los motores de búsqueda. En lugar de hacer que descubran cada página siguiendo enlaces, les das un inventario limpio de las páginas que te importan.
Google describe un sitemap como “a file where you provide information about the pages, videos, and other files on your site.” (traducción) «un archivo donde proporcionas información sobre las páginas, videos y otros archivos de tu sitio». La parte “XML” solo significa que está escrito en un formato etiquetado que las máquinas leen fácilmente. Aquí está el ejemplo válido más pequeño:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/foo.html</loc>
<lastmod>2026-06-04</lastmod>
</url>
</urlset>Leyéndolo de arriba a abajo: la primera línea dice “esto es XML, codificado como UTF-8.” El
<urlset> envuelve toda la lista. Cada <url> es una página. <loc> es la dirección web completa de la página. <lastmod> es la fecha en que cambió por última vez de manera significativa —
y es opcional.
Qué hace (y qué no hace)
Un sitemap ayuda a los motores a encontrar tus páginas más rápido — especialmente páginas nuevas, o páginas que no están bien enlazadas desde otros lugares de tu sitio. Esa es la ventaja.
El detalle que la mayoría pasa por alto: enviar un sitemap no garantiza la indexación. Google aún decide si cada página vale la pena mantenerla. Un sitemap es una forma de ayudar a los motores de búsqueda a encontrar tu contenido, no un comando para indexarlo. El valor real para mí es lo que puedes ver después en Search Console — cuántas de las URLs que enviaste realmente se indexaron. Esa brecha es un diagnóstico útil.
Qué incluir en él
Mantenlo limpio. Un sitemap debe listar solo las páginas que realmente quieres indexar —
tus páginas reales y canónicas que devuelven una respuesta 200 normal. Deja fuera
redirecciones, URLs duplicadas y cualquier cosa que hayas configurado como noindex. Piénsalo como un
inventario ordenado de tu conjunto indexable, nada más.
Un punto importante de confusión: dejar una URL fuera de tu sitemap no la
elimina de Google. Un sitemap anuncia páginas; no las oculta. Para
realmente mantener una página fuera del índice necesitas una etiqueta noindex — no una entrada
faltante en el sitemap.
Dónde va y cómo enviarlo
- Guárdalo en una URL sensata —
/sitemap.xmles el predeterminado convencional. - Añade una línea a tu
robots.txtpara que los motores puedan encontrarlo:Sitemap: https://www.example.com/sitemap.xml. - Envíalo en Google Search Console (informe de Sitemaps) y en Bing Webmaster Tools.
La mayoría de las plataformas modernas (WordPress, Shopify, Wix, Squarespace, Webflow) generan un sitemap automáticamente — normalmente solo necesitas enviarlo. ¿Quieres la anatomía completa, los límites, las etiquetas que Google ignora y cómo funciona hreflang en los sitemaps? Cambia a la pestaña Avanzado.
Evidence for this claim The XML sitemap protocol lists canonical URL locations and optional metadata, with limits of 50,000 URLs and 50 MB uncompressed per sitemap. Scope: Sitemaps protocol and current Google-supported limits. Confidence: high · Verified: Sitemaps XML format Evidence for this claim Google treats sitemaps as discovery hints rather than guarantees and supports submission through Search Console or robots.txt references. Scope: Current Google sitemap behavior and submission methods. Confidence: high · Verified: Google Search Central: Build and submit a sitemapTL;DR — Un sitemap XML es un archivo UTF-8 de URLs
<loc>canónicas e indexables, cada una opcionalmente con un<lastmod>. Ayuda al descubrimiento, no a la indexación — el beneficio es la señal de enviadas vs. indexadas en Search Console. Google ignora<priority>y<changefreq>y usa<lastmod>solo cuando es verificablemente preciso (actualizaciones significativas, nunca un “hoy” genérico). Un archivo tiene un límite de 50 000 URLs o 50 MB sin comprimir — más allá de eso, divide y usa un índice de sitemap. Incluye solo URLs200, canónicas e indexables; excluir una URL no es lo mismo que noindexarla. XML no es el único formato aceptado (RSS/Atom/txt también funcionan), y los sitemaps son el lugar más fácil para gestionar hreflang a escala — aunque esas anotaciones se publican con un retraso, no instantáneamente. Referéncialo enrobots.txty envíalo en Search Console + Bing Webmaster Tools.
Qué es realmente un sitemap XML
Un sitemap XML es un archivo, escrito según el protocolo sitemaps.org 0.9, que
enumera las URLs de tu sitio que quieres que los motores conozcan. La propia
definición de Google: “A sitemap is a file where you provide information about the
pages, videos, and other files on your site, and the relationships between them.”
(traducción) «Un sitemap es un archivo donde proporcionas información sobre las
páginas, videos y otros archivos de tu sitio, y las relaciones entre ellos.» Es una
ayuda de descubrimiento y un diagnóstico de cobertura — explícitamente no una
garantía: “A sitemap helps search engines discover URLs on your site, but it
doesn’t guarantee that all the items in your sitemap will be crawled and indexed.”
(traducción) «Un sitemap ayuda a los motores de búsqueda a descubrir URLs en tu
sitio, pero no garantiza que todos los elementos de tu sitemap serán rastreados e
indexados.»
Ese enfoque importa, porque es donde se malgasta mucho esfuerzo. El sitemap no es una palanca de posicionamiento ni un comando de indexación. Aquí tienes un ejemplo mínimo anotado:
<?xml version="1.0" encoding="UTF-8"?> <!-- XML declaration; UTF-8 -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <!-- root + namespace -->
<url> <!-- one entry per page -->
<loc>https://www.example.com/foo.html</loc> <!-- required: absolute URL -->
<lastmod>2026-06-04</lastmod> <!-- optional: last significant change -->
</url>
</urlset>Anatomía
- La declaración XML —
<?xml version="1.0" encoding="UTF-8"?>. Google es inequívoco aquí: “The sitemap file must be UTF-8 encoded.” (traducción) «El archivo de sitemap debe estar codificado en UTF-8.» Si te equivocas con la codificación, los caracteres especiales se rompen. <urlset>+ espacio de nombres — el elemento raíz, conxmlns="http://www.sitemaps.org/schemas/sitemap/0.9". El espacio de nombres es lo que le dice al analizador que esto es un sitemap; un espacio de nombres incorrecto o ausente es un error común en Search Console.<url>— un bloque por página.<loc>— obligatorio. “Use fully-qualified, absolute URLs in your sitemaps” (traducción) «Usa URLs absolutas y completamente calificadas en tus sitemaps» — no rutas relativas, y por debajo de ~2 048 caracteres. Todos los valores deben estar escapados como entidades:&se convierte en&,'se convierte en',"se convierte en",>se convierte en>, y un menor que literal se convierte en<.<lastmod>— opcional; la fecha en que la página cambió significativamente por última vez (más sobre la regla de honestidad abajo).
La verdad sobre las etiquetas ignoradas
Esto es lo más desactualizado en la mayoría de los tutoriales de sitemaps. Dos
etiquetas heredadas — <priority> y <changefreq> — son ignoradas por
Google. Gary Illyes llamó a priority “essentially a bag of noise,” (traducción)
«esencialmente una bolsa de ruido», y John Mueller ha dicho que priority y change
frequency “doesn’t really play that much of a role with Sitemaps anymore.”
(traducción) «ya no juegan un papel tan importante con los Sitemaps.» Bing ha
confirmado lo mismo: changefreq y priority ya no afectan su rastreo ni su
posicionamiento. Puedes dejarlas (no hacen daño) o eliminarlas — simplemente no
hacen nada.
<lastmod> es diferente — no lo mezcles con las etiquetas ignoradas. Google
sí usa <lastmod>, pero solo cuando confía en él, y esa confianza es
aproximadamente binaria: o Google cree en tus fechas o no. La regla es que la fecha
debería reflejar un cambio significativo — “an update to the main content, the
structured data, or links on the page is generally considered significant, however
an update to the copyright date is not.” (traducción) «Una actualización del
contenido principal, los datos estructurados o los enlaces de la página se
considera generalmente significativa, sin embargo, una actualización de la fecha de
derechos de autor no lo es.» El modo de fallo que veo constantemente es marcar cada
URL con la fecha de hoy en cada compilación. Eso es contraproducente: Mueller lo ha
llamado “just lazy,” (traducción) «simplemente perezoso», señalando que es
trivial para los motores reconocerlo y solo les dificulta detectar páginas
realmente actualizadas. Miente con suficiente frecuencia y, en palabras de Google,
“eventually we’re not going to believe you anymore.” (traducción) «Finalmente ya
no te vamos a creer.» Bing se apoya aún más en <lastmod> como señal de frescura
que Google — así que una fecha precisa te ayuda en ambos motores, y una falsa te
perjudica en ambos.
Ubicación, nombre, codificación y compresión
- Ubicación/nombre. No hay un nombre de archivo obligatorio, pero
/sitemap.xmlen la raíz es la convención. Por defecto, un sitemap solo afecta a las URLs en o por debajo de su propia ruta, así que mantenlo lo suficientemente alto para cubrir todo lo que lista. La única excepción: puedes alojar un sitemap para un sitio diferente si has verificado la propiedad de ese sitio y surobots.txtapunta de vuelta a la ubicación real del sitemap — Google llama a esto envío cruzado, y es el mecanismo detrás de un índice de sitemap que agrega sitemaps alojados en otro lugar. - Codificación. UTF-8, siempre.
- Compresión. Puedes comprimir un sitemap con gzip (sírvirlo como
.xml.gz), lo cual vale la pena en archivos grandes. Matiz importante: el límite de 50MB se mide sin comprimir — gzip ahorra ancho de banda, no margen frente al límite de tamaño.
Límites → dividir + índice de sitemap
Un solo sitemap está limitado a 50 000 URLs o 50MB sin comprimir, lo que ocurra primero. Google lo afirma directamente: “All formats limit a single sitemap to 50MB (uncompressed) or 50,000 URLs.” (traducción) «Todos los formatos limitan un solo sitemap a 50MB (sin comprimir) o 50 000 URLs.» Cuando superas cualquiera de los dos límites, divides la lista en varios archivos de sitemap y los referencias todos desde un índice de sitemap — un sitemap de sitemaps. Ese es un tema hermano propio; la versión corta es que envías el índice, y un índice puede apuntar a hasta 50 000 sitemaps hijos, así que nunca te quedarás sin capacidad.
Qué URLs incluir — y “excluir ≠ noindex”
Incluye solo URLs que sean indexables, canónicas y devuelvan 200. Eso significa sin redirecciones 3xx, sin duplicados no canónicos, sin páginas noindex, sin URLs bloqueadas por robots. Un sitemap limpio de exactamente tu conjunto indexable es lo que hace que la comparación enviado-vs-indexado de Search Console sea significativa — contamínalo con basura y habrás tirado el diagnóstico.
Ahora el punto mecánico que la gente entiende mal: excluir una URL de tu sitemap no la desindexa. El sitemap es un anuncio, no una puerta. Eliminar la entrada de una URL solo deja de anunciar esa página; si Google ya la conoce (a través de enlaces, historial u otra fuente), permanece en el índice. Los únicos mecanismos que realmente eliminan una página son una directiva noindex (con rastreo permitido para que Google pueda verla), un 404/410, o la herramienta de eliminaciones. Así que “sácala del sitemap” nunca es la respuesta correcta a “cómo desindexo esto”.
Formatos de archivo de sitemap aceptados
XML no es el único formato que Google acepta — vale la pena saberlo para que no asumas que estás atascado escribiendo XML a mano. Google llama a XML “the most versatile of the sitemap formats,” (traducción) «el más versátil de los formatos de sitemap», pero también lee:
- Fuentes RSS 2,0 / Atom — útiles porque muchos CMS ya publican una; llevan solo URLs de páginas.
- mRSS — una fuente RSS de medios, usada para video.
- Texto plano (
.txt) — literalmente una URL por línea, solo URLs de páginas web, UTF-8.
XML sigue siendo el valor predeterminado correcto porque es el único formato que soporta las extensiones (metadatos lastmod, anotaciones de imagen, video y hreflang). Los demás son solo de URLs.
hreflang en sitemaps
Si tienes un sitio multilingüe o multirregional, el sitemap suele ser el lugar más fácil para gestionar hreflang — mantienes todo el clúster de idiomas en un solo archivo en lugar de inyectar etiquetas de retorno en cada plantilla de página. (Es uno de los tres lugares válidos donde puede vivir hreflang; el <head> y las cabeceras HTTP son los otros.)
Cómo se implementa. Cada <url> recibe hijos xhtml:link rel="alternate", uno por versión de idioma/región, y declaras el espacio de nombres xmlns:xhtml="http://www.w3.org/1999/xhtml" en <urlset>:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://www.example.com/english/page.html</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/english/page.html"/>
<xhtml:link rel="alternate" hreflang="de" href="https://www.example.de/deutsch/page.html"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/english/page.html"/>
</url>
<!-- each alternate URL repeats the FULL set, including itself (return tags) -->
</urlset>La regla de la etiqueta de retorno. Esta es la parte que atrapa a la gente. Cada elemento <url>
debe listar todas las versiones alternativas de la página — incluida la propia. Google: “Cada
<url> debe tener un elemento hijo <xhtml:link rel="alternate" hreflang="[supported_language-code]"> que liste todas las versiones alternativas de la
página, incluida la propia.” Y debe ser bidireccional: “Si la página X enlaza a la página
Y, la página Y debe enlazar de vuelta a la página X. Si este no es el caso para todas las páginas que usan
anotaciones hreflang, esas anotaciones pueden ser ignoradas o no interpretarse
correctamente.” Añade una entrada x-default para el respaldo de idioma no coincidente. Una sola
etiqueta de retorno rota o faltante puede invalidar todo el conjunto.
El límite cuenta solo las URLs <loc>. Un alivio para los sitios internacionales grandes: el
límite de 50 000 URLs cuenta solo las URLs de página <loc>, no las alternativas hreflang.
Así que un sitemap con 50 000 páginas, cada una con diez alternativas de idioma,
todavía cabe — son las URLs de ubicación las que cuentan, no las URLs alternativas.
Cuando realmente se activa — días de presupuesto, no minutos. Aquí está la expectativa a establecer, y es mecanismo más que una línea citable. Google analiza tu sitemap hreflang cuando vuelve a buscar el sitemap, pero las anotaciones solo surten efecto una vez que todas las URLs del conjunto han sido (re)rastreadas y las etiquetas de retorno se han reconciliado entre sí. Eso significa que hay un desfase real entre publicar el hreflang y que se respeten las alternativas, y una URL lenta de re-rastrear o rota en el conjunto puede retener al resto. No esperes que se active en el momento en que lo envías — planifica para que se asiente a lo largo de días.
Referéncialo y envíalo
robots.txt— añade una líneaSitemap:con la URL absoluta completa. Esto también permite que los motores lo descubran automáticamente.- Google Search Console — el informe de Sitemaps (o la API de Search Console) es el método principal de envío; también es donde lees el diagnóstico de enviado vs. indexado.
- Bing Webmaster Tools — envíalo también allí; Bing lo busca rápidamente y lo revisa regularmente.
Una nota de automatización desde cómo pienso sobre esto: un sitemap debería generarse automáticamente a partir de las páginas que realmente tienes, para que se mantenga actualizado. Un sitemap construido a mano se deteriora en cuanto tu sitio cambia. Los hermanos de esta página — la visión general de sitemaps, el índice de sitemap para sitios grandes, y las extensiones de sitemap de imágenes y sitemap de video — cubren el resto de la familia, y el tema más amplio de descubrimiento vincula los sitemaps con las otras formas en que los motores encuentran tus URLs.
Resumen de IA
Una versión condensada de la versión avanzada:
- Un sitemap XML es un archivo UTF-8 que enumera las URLs canónicas e indexables que quieres que los motores conozcan: cada
<url>tiene un<loc>obligatorio (URL absoluta) y un<lastmod>opcional. La raíz es<urlset>con el espacio de nombressitemaps.org/0.9. - Ayuda al descubrimiento, no a la indexación. Enviarlo no garantiza que una página se indexe; el beneficio real es el diagnóstico enviadas vs. indexadas en Search Console.
- Google ignora
<priority>y<changefreq>(y Bing también). No mezcles<lastmod>con ellos: sí se usa, pero solo cuando es verificablemente preciso (cambios significativos de contenido, nunca una fecha genérica de “hoy”). - Límites: 50 000 URLs o 50 MB sin comprimir, lo que ocurra primero. Más allá de eso, divide los archivos y usa un índice de sitemap. Se permite Gzip, pero el límite de 50 MB es el tamaño sin comprimir.
- Incluye solo URLs
200, canónicas e indexables. Escapa con entidades& ' " < >. Excluir una URL ≠ no indexarla: la eliminación requierenoindex/404, no una entrada faltante en el sitemap. - XML no es el único formato: RSS/Atom y
.txtplano también funcionan (solo URLs); XML es el único que admite extensiones de imagen/video/hreflang. - hreflang en sitemaps: hijos
xhtml:link rel="alternate"+ el espacio de nombresxmlns:xhtml; cada<url>debe listar todas las alternativas incluida sí misma, bidireccionalmente, además dex-default. El límite de 50 000 cuenta solo las URLs<loc>, no las alternativas. Se procesa al re-rastrear el sitemap, pero solo está activo después de que todas las URLs del conjunto se vuelvan a rastrear/reconciliar: presupuesta días, no minutos. - Envíalo mediante la línea
Sitemap:enrobots.txt, Google Search Console y Bing Webmaster Tools. Genéralo automáticamente para que se mantenga actualizado.
Documentación oficial
Documentación de fuentes primarias de los motores de búsqueda.
- Descripción general de sitemaps: qué es un sitemap, si lo necesitas y que no garantiza la indexación.
- Crear y enviar un sitemap: los límites de 50 000/50 MB, el requisito de UTF-8, la regla de URL absoluta, los formatos aceptados y la definición de “actualización significativa” de
<lastmod>. - Gestionar sitemaps con un archivo de índice de sitemap: dividir sitemaps grandes y el índice de sitemap.
- Informar a Google sobre versiones localizadas de tu página: hreflang en sitemaps mediante
xhtml:link, la regla de etiqueta de retorno yx-default. - Combinar extensiones de sitemap: poner imagen/video/hreflang en un solo sitemap.
- Informe de sitemaps (ayuda de Search Console): qué significa cada error de envío y cómo solucionarlo.
- Protocolo sitemaps.org: la especificación
0.9subyacente que comparten todos los motores.
Bing / Microsoft
- Mantener el contenido descubrible con sitemaps en la búsqueda impulsada por IA (jul 2025): la postura de Bing de que XML es preferido y
<lastmod>es una señal clave. - La importancia de configurar la etiqueta lastmod en tu sitemap (feb 2023): por qué Bing pondera
<lastmod>para las decisiones de re-rastreo.
Citas de la fuente
Declaraciones públicas de Google y Bing. Cada enlace es un enlace profundo que salta al pasaje citado en la página de origen.
Google: qué es un sitemap y qué hace
- “A sitemap is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.” (traducción) «Un sitemap es un archivo donde proporcionas información sobre las páginas, videos y otros archivos de tu sitio, y las relaciones entre ellos.» — Descripción general de los sitemaps. Ir a la cita
- “A sitemap helps search engines discover URLs on your site, but it doesn’t guarantee that all the items in your sitemap will be crawled and indexed.” (traducción) «Un sitemap ayuda a los motores de búsqueda a descubrir URLs en tu sitio, pero no garantiza que todos los elementos de tu sitemap sean rastreados e indexados.» Ir a la cita
Google — formato, límites y codificación
- “All formats limit a single sitemap to 50MB (uncompressed) or 50,000 URLs.” (traducción) «Todos los formatos limitan un sitemap individual a 50 MB (sin comprimir) o 50 000 URLs.» — Crear y enviar un sitemap. Ir a la cita
- “The sitemap file must be UTF-8 encoded.” (traducción) «El archivo del sitemap debe estar codificado en UTF-8.» Ir a la cita
- “Use fully-qualified, absolute URLs in your sitemaps.” (traducción) «Usa URLs absolutas y completamente calificadas en tus sitemaps.» Ir a la cita
Google — las etiquetas ignoradas y las reglas de lastmod
- “we ignore those. It’s essentially a bag of noise.” — Gary Illyes, sobre
<priority>/<changefreq>. (traducción) «Los ignoramos. Es esencialmente una bolsa de ruido.» Leer la cobertura - “Priority and change frequency doesn’t really play that much of a role with Sitemaps anymore.” — John Mueller. (traducción) «La prioridad y la frecuencia de cambio ya no juegan un papel tan importante con los sitemaps.» Leer la cobertura
- “an update to the main content, the structured data, or links on the page is generally considered significant, however an update to the copyright date is not.” — sobre lo que
<lastmod>debería reflejar. (traducción) «Una actualización del contenido principal, los datos estructurados o los enlaces de la página generalmente se considera significativa, sin embargo, una actualización de la fecha de copyright no lo es.» Ir a la cita - “setting today’s date in a sitemap file isn’t going to be something that works in favor of anyone, it’s just lazy.” — John Mueller. (traducción) «Poner la fecha de hoy en un archivo de sitemap no va a ser algo que juegue a favor de nadie, es simplemente pereza.» Leer la cobertura
- “it’s binary, or at least was last time I checked. we either trust it or not.” — Gary Illyes, sobre si Google confía en tu
<lastmod>. (traducción) «Es binario, o al menos lo era la última vez que lo comprobé. O confiamos en ello o no.» Leer la cobertura
Google — el límite de 50 000 cuenta las URLs de ubicación, no las alternativas hreflang
- El límite de 50 000 URLs “is just the location URL” — no las URLs alternativas hreflang. — John Mueller. (traducción) «es solo la URL de ubicación» Leer la cobertura
Google — etiquetas de retorno hreflang
- “Each
<url>element must have a child element<xhtml:link rel="alternate" hreflang="[supported_language-code]">that lists every alternate version of the page, including itself.” (traducción) «Cada elemento<url>debe tener un elemento hijo<xhtml:link rel="alternate" hreflang="[supported_language-code]">que enumere cada versión alternativa de la página, incluida la propia.» — Documentación de versiones localizadas. Ir a la cita - “If page X links to page Y, page Y must link back to page X. If this is not the case for all pages that use hreflang annotations, those annotations may be ignored or not interpreted correctly.” (traducción) «Si la página X enlaza a la página Y, la página Y debe enlazar de vuelta a la página X. Si esto no ocurre para todas las páginas que usan anotaciones hreflang, esas anotaciones pueden ignorarse o no interpretarse correctamente.» Ir a la cita
Bing — XML y lastmod
- “XML remains the preferred format for sitemaps, as it supports structured metadata like lastmod, which helps Bing assess content freshness and relevance more effectively.” (traducción) «XML sigue siendo el formato preferido para los sitemaps, ya que admite metadatos estructurados como lastmod, lo que ayuda a Bing a evaluar la frescura y relevancia del contenido de manera más efectiva.» Ir a la cita
Lista de verificación del sitemap XML
Constrúyelo correctamente
- El archivo está codificado en UTF-8, con
<?xml version="1.0" encoding="UTF-8"?>en la primera línea. - La raíz es
<urlset>conxmlns="http://www.sitemaps.org/schemas/sitemap/0.9". - Cada
<loc>es una URL absoluta totalmente calificada de menos de ~2 048 caracteres. - Todos los valores están escapados como entidades (
& ' " > <). -
<priority>y<changefreq>eliminados o aceptados como ignorados (Google los ignora). -
<lastmod>presente solo donde refleja un cambio significativo — nunca un “hoy” genérico en cada URL. - El archivo tiene menos de 50 000 URLs y 50 MB sin comprimir; si no, divídelo y añade un índice de sitemap.
Incluye las URLs correctas
- Solo URLs canónicas, indexables y con estado
200. - Sin redirecciones
3xx, sin duplicados no canónicos, sin URLs connoindex/bloqueadas por robots. - Recuerda: omitir una URL no es una forma de desindexarla — usa
noindexpara eso.
Publícalo y supervisa
- Línea
Sitemap:añadida arobots.txtcon la URL absoluta completa. - Enviado en Google Search Console y Bing Webmaster Tools.
- Generado automáticamente a partir de URLs reales para que se mantenga actualizado.
- Observa los números de enviadas vs indexadas en Search Console; divide por sección/tipo para ver qué parte del sitio está subindexada.
Sitemap XML — hoja de referencia
Referencia de etiquetas
| Etiqueta | ¿Obligatoria? | Qué hace | Tratamiento de Google |
|---|---|---|---|
<urlset> | Obligatoria | Elemento raíz; declara el espacio de nombres 0.9 | Analizada (espacio de nombres incorrecto/faltante = error) |
<url> | Obligatoria | Un bloque por página | Analizada |
<loc> | Obligatoria | La URL absoluta totalmente calificada de la página | Usada |
<lastmod> | Opcional | Fecha del último cambio significativo | Usada — pero solo si es verificablemente precisa |
<changefreq> | Opcional | Indicación de la frecuencia con la que cambia la página | Ignorada |
<priority> | Opcional | Importancia relativa (0,0–1,0) | Ignorada |
xhtml:link rel="alternate" | Opcional | Versiones alternativas hreflang | Usada (necesita xmlns:xhtml, etiquetas de retorno) |
Incluir vs excluir
| Incluir | Excluir |
|---|---|
| URLs canónicas | URLs no canónicas / duplicadas |
| Páginas indexables | Páginas con noindex |
Páginas con estado 200 | Redirecciones 3xx, errores 4xx/5xx |
| Páginas que quieres que se rastreen e indexen | URLs bloqueadas por robots |
Datos rápidos
- Límites: 50 000 URLs o 50 MB sin comprimir, lo que ocurra primero → dividir + índice de sitemap.
- Codificación: UTF-8. URLs: absolutas, con escape de entidades.
- Gzip permitido (
.xml.gz); el límite de 50 MB es el tamaño sin comprimir. - El límite de 50 000 para hreflang cuenta solo las URLs
<loc>, no las alternativas. - Excluir una URL ≠ no indexarla.
- Formatos aceptados: XML (el versátil), RSS/Atom,
.txtplano.
Un sitemap XML mínimo válido
El sitemap correcto más pequeño: declaración, <urlset> con espacio de nombres, un <url> con un <loc> obligatorio y un <lastmod> opcional:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/</loc>
<lastmod>2026-06-22</lastmod>
</url>
<url>
<loc>https://www.example.com/blog/post-with-an-ampersand?a=1&b=2</loc>
<lastmod>2026-06-18</lastmod>
</url>
</urlset>Observa el segundo <loc>: el & en la cadena de consulta está escapado como entidad a &. Los caracteres &, ', ", < y > sin escapar romperán el XML.
Comprímelo con gzip para archivos grandes
Puedes servir un sitemap comprimido con gzip para ahorrar ancho de banda — nómbralo .xml.gz:
# Compress a sitemap; Google and Bing both accept .xml.gz
gzip -k sitemap.xml # produces sitemap.xml.gz, keeps the originalRecuerda que el límite de tamaño se comprueba sin comprimir — gzip reduce el tamaño de transferencia, no el techo de 50 MB/50 000 URLs. (En Windows, usa cualquier herramienta zip que produzca un flujo gzip real, o Compress-Archive no es gzip — prefiere la salida gzip de 7-Zip.)
Referéncialo en robots.txt
Apunta a los motores con una línea Sitemap: (URL absoluta completa; el auto-descubrimiento funciona desde aquí):
User-agent: *
Allow: /
Sitemap: https://www.example.com/sitemap.xmlValídalo
Antes de enviarlo, comprueba el archivo:
- Obténlo y confirma que devuelve
200con un cuerpo XML real (no tu página 404 HTML — “Unsupported format” en Search Console normalmente significa que enviaste una página HTML por error). - Comprueba la buena formación localmente con
xmllint:
# Confirms the XML parses; flags unescaped & < > and mismatched tags
xmllint --noout sitemap.xml && echo "well-formed"- Envíalo y observa el informe de Sitemaps en Search Console para ver el recuento de URLs analizadas y cualquier error, luego sigue el seguimiento de enviadas frente a indexadas en los días siguientes.
Herramientas para construir y comprobar tu sitemap XML
- Google Index Checker — una vez que tu sitemap esté en vivo, así es como compruebas el otro lado del diagnóstico: si una URL que enviaste es realmente indexable. Muestra el código de estado, redirecciones,
noindexy señales canónicas para una URL, y luego te dirige a la Inspección de URLs de Search Console para la respuesta real de Google. Útil para investigar por qué una URL enviada no aparece en el recuento indexado.
Indicaciones listas para pegar para el trabajo con sitemaps
Audita un archivo de sitemap para cumplir con la especificación. Pega el contenido XML crudo de tu sitemap (o un fragmento representativo) y pide a un asistente de IA que lo verifique contra las reglas de este artículo:
Here is the content of my XML sitemap. Check it against these rules and list
every violation with the line/URL affected:
1. The declaration and encoding must be `<?xml version="1.0" encoding="UTF-8"?>`.
2. `<urlset>` must declare xmlns="http://www.sitemaps.org/schemas/sitemap/0.9".
3. Every <loc> must be a fully-qualified absolute URL, with & ' " < > properly
entity-escaped (& ' " > <).
4. Flag any <priority> or <changefreq> tags as harmless-but-ignored, not errors.
5. Flag any <lastmod> value that is identical across most/all URLs (a sign of a
fake "always today" date) as suspicious rather than a hard error.
6. Confirm the file is under 50,000 <url> entries and, if you can estimate file
size, under 50MB uncompressed.
[paste sitemap XML here]Espera una lista de violaciones concretas (no una reescritura) — trata la salida genérica de “looks fine” como una señal para comprobar el archivo tú mismo con xmllint en su lugar.
Revisa las etiquetas de retorno hreflang en un sitemap. Si gestionas hreflang mediante bloques xhtml:link en el sitemap, pega una sección del archivo y pide una comprobación de bidireccionalidad:
This is a section of my XML sitemap using xhtml:link rel="alternate" hreflang
tags. For each <url> block, list every hreflang alternate it declares, then
tell me which alternates are NOT reciprocated (page A links to page B, but B's
block doesn't link back to A) and whether an x-default entry is present for
each language cluster.
[paste sitemap XML section here]Esto detecta el modo de fallo exacto cubierto arriba — una etiqueta de retorno faltante puede hacer que se ignore todo el conjunto hreflang — más rápido que revisar manualmente un archivo grande.
Recursos que valen tu tiempo
Mi escritura relacionada
- When Should You Worry About Crawl Budget? — dónde encajan los sitemaps limpios en la eficiencia de rastreo, y por qué tu sitemap debería listar solo URLs indexables.
- Enterprise Technical SEO — la postura de automatízalo o se pudre, y sitemaps a escala.
- Website Migration: The Definitive Guide — por qué mantengo un sitemap de las URLs antiguas después de una migración para verlas desaparecer del índice en GSC.
- Hreflang: The Easy Guide — los tres lugares válidos donde puede vivir hreflang, incluido el sitemap, y las compensaciones.
- The Beginner’s Guide to Technical SEO — dónde se sitúan los sitemaps en el panorama general.
Mis charlas
- How Search Works (SlideShare) — mi recorrido por el rastreo, el descubrimiento y la indexación. (Descargo de responsabilidad permanente: “This is my understanding of systems… not going to be 100% complete or accurate.”)
De otros
- La documentación de Sitemaps de Google — la fuente canónica para formatos, límites y extensiones.
- sitemaps.org — el protocolo
0.9entre motores sobre el que se basa todo esto. - Sitemaps en la búsqueda impulsada por IA de Bing — la opinión de Bing, más enfática que la de Google, sobre
<lastmod>. - La importancia de configurar la etiqueta lastmod en tu sitemap de Bing — explica cómo Bing usa
<lastmod>para priorizar el rastreo. - Search Engine Roundtable — cobertura de sitemaps — declaraciones agregadas de Google y Bing sobre sitemaps, incluyendo a Gary Illyes sobre
<priority>y a John Mueller sobre la precisión de<lastmod>. - Blog de Google Search Central: Qué busca Googlebot en tu sitemap — la publicación propia de Google que confirma
<lastmod>y elimina el protocolo de ping. - Search Engine Journal — Sitemaps XML — cobertura de la industria sobre las mejores prácticas y errores comunes de los sitemaps.
Ponte a prueba: sitemaps XML
Cinco preguntas sobre los detalles específicos del formato de sitemap XML: etiquetas, límites y hreflang. Elige una respuesta para cada una y luego comprueba.
Registro de cambios
Actualizado el 18 jul 2026.
Resumen editorial y detalles registrados del cambio.Detalles del cambio
-
Los detalles del cambio están disponibles actualmente en inglés.
La comparación completa no está disponible: no se archivó una instantánea anterior para esta revisión.