Para extraer todas las URLs de un sitemap, abre el código fuente del sitemap, cópialo entero y saca la dirección de cada etiqueta <loc>. Nuestro extractor de URL gratis lo hace por ti: pega el XML, pulsa Enviar y obtienes una URL por línea y un recuento. Lee & como & y omite los enlaces mailto:, tel: y similares, pero antes de fiarte de la lista aún tienes que limpiar dos cosas: las líneas de espacio de nombres y los duplicados.
El extractor de URL es gratis, no necesitas cuenta y funciona en cualquier navegador, sin instalar nada. El texto se procesa en nuestro servidor para encontrar los enlaces. Los visitantes tienen 5 usos de herramientas al día, y una cuenta gratuita de My Botsy (100 % gratis, sin spam) quita ese límite. Todas las cifras de este artículo salen de pruebas con la herramienta real el 1 de noviembre de 2026, con nuestro propio sitemap y con un sitemap de prueba creado para hacerla fallar.
Cómo extraer las URLs de un sitemap, paso a paso
- Encuentra la dirección real del sitemap. Abre
https://el-sitio.com/robots.txty busca la línea que empieza porSitemap:. No des por hecho que está en/sitemap.xml: en mybotsy.com esa dirección da un 404 y el robots.txt apunta ahttps://mybotsy.com/sitemap. Las rutas por defecto más habituales son/wp-sitemap.xml(WordPress sin plugins),/sitemap_index.xml(Yoast SEO) y/sitemap.xml(Shopify y muchos otros). - Abre el código fuente, no la vista bonita. Algunos sitemaps se muestran en el navegador como una tabla con estilos. Escribe
view-source:delante de la dirección (Chrome, Edge, Firefox) o pulsa Ctrl+U, y después Ctrl+A y Ctrl+C. El código fuente es lo que lee el rastreador. - Pega el código fuente tal cual. En el XML, cada
&de una cadena de consulta se guarda como&. No tienes que arreglarlo: desde el 1 de noviembre de 2026 el extractor lo vuelve a convertir en&, así que?color=red&size=42sale como?color=red&size=42. - Pégalo en el extractor de URL y pulsa Enviar. Verás un Total y un cuadro de resultado con una URL por línea. Pulsa el icono de copiar para llevarte la lista completa.
- Borra las líneas de namespace. La primera línea casi siempre es
http://www.sitemaps.org/schemas/sitemap/0.9. No es una página: es la declaración del espacio de nombres del sitemap. Los sitemaps de imágenes y de hreflang añaden más, comohttp://www.w3.org/1999/xhtml. - Quita duplicados y ordena. Pega la lista en el eliminador de líneas duplicadas y luego en ordenar lista alfabéticamente. Al ordenar, las líneas de namespace y cualquier otro dominio (un CDN de imágenes, por ejemplo) quedan juntos y se ven a la primera. Nuestra guía para eliminar líneas duplicadas y ordenar listas explica los detalles, como los espacios al final.
- Si te salen sitemaps en vez de páginas, repite. Un índice de sitemaps enumera otros sitemaps, no páginas. Abre cada sitemap hijo y repite los pasos 2 a 6.
Ejemplo real 1: nuestro propio índice de sitemaps
Pegamos el código fuente de https://mybotsy.com/sitemap (3.813 bytes) en el extractor de URL. Resultado: Total 27. La primera línea era el namespace y las otras 26, sitemaps hijos: https://mybotsy.com/sitemap/main más un sitemap de herramientas por idioma, de /sitemap/tools/ar a /sitemap/tools/vi. Ni una sola página. Así es un índice, y es el motivo más común por el que alguien cree que la extracción «no ha funcionado».
Después abrimos https://mybotsy.com/sitemap/main, un archivo de 65.107 bytes, y pegamos su código. Resultado: Total 450, es decir, 449 URLs de páginas más la línea del namespace. Para comprobarlo contamos las etiquetas <loc> con un comando de terminal y salieron las mismas 449, y el eliminador de duplicados no quitó ninguna. La parte en inglés tenía 40 URLs: la portada, contacto, el blog, seis secciones de herramientas, cuatro URLs de /page/, cinco categorías del blog y 22 artículos (antes de publicar este, así que ahora hay más).
Ese desglose es lo que de verdad sirve. Con la lista en la mano puedes compararla con lo que esperabas encontrar, o con las páginas que Google marca como indexadas en Search Console, y ver qué falta o qué sobra.
Ejemplo real 2: un sitemap hecho para romper extractores
Los sitemaps reales contienen más que URLs <loc> simples. Escribimos un sitemap de prueba con siete <loc> para una tienda imaginaria, shop.example.com, con una alternativa hreflang, una etiqueta de imagen, una cadena de consulta, un bloque CDATA, paréntesis, una letra con tilde y dos páginas repetidas. Pegado sin tocar el 1 de noviembre de 2026, el extractor devolvió Recuento 12:
| En el sitemap | Lo que salió | Solución |
|---|---|---|
| Declaraciones de namespace (3) | 3 líneas de más como http://www.sitemaps.org/schemas/sitemap/0.9 | Bórralas |
<xhtml:link hreflang="es" href=".../es/"> | https://shop.example.com/es/ | Normal: las alternativas también son URLs |
<image:loc> en un CDN | https://cdn.example.com/img/red-shoe.jpg | Bórrala si solo quieres páginas |
/shoes?color=red&size=42 | /shoes?color=red&size=42 | Ninguno |
<![CDATA[/sale?utm_source=mail&utm_medium=email]]> | URL completa, correcta | Ninguna |
/guide/sizing-(eu-vs-us) | /guide/sizing-(eu-vs-us) | Ninguno |
/café-menu | /café-menu | Ninguno (los navegadores la envían como caf%C3%A9-menu) |
El eliminador de líneas duplicadas dejó las 12 líneas en 10 (la portada aparecía dos veces como <loc>, y /es/ una vez como alternativa hreflang y otra como <loc> propio). Al ordenar la lista, las tres líneas de namespace quedaron arriba del todo y la imagen del CDN justo después, así que la limpieza llevó segundos.
La lección: el total que te da la herramienta no es tu número de páginas hasta que quitas namespaces, alternativas que no quieres, imágenes y duplicados.
Errores que te dan una lista de URLs equivocada
La trampa del & (resuelta desde el 1 de noviembre de 2026)
El protocolo de sitemaps de sitemaps.org exige escapar cada valor con entidades, así que una URL con & debe escribirse como &. Las herramientas que leen el texto en bruto, en lugar de interpretar el XML, ven el punto y coma. Hasta el 1 de noviembre de 2026 nuestro extractor se paraba ahí y solo guardaba ?color=red&. Ahora decodifica primero las entidades y devuelve ?color=red&size=42. El clásico comando grep -o '<loc>[^<]*' sigue dejando & en la URL, lo que está mal si luego la solicitas.
Dónde termina una URL
Probamos más casos en el extractor. Las URLs con codificación por porcentaje, los puertos (:8443), los dominios Punycode (xn--mnchen-3ya.de), los dominios y rutas internacionales (münchen.de, пример.рф/путь) y caracteres como ; ! ' * $ ( ) [ ] se conservan enteros. Una URL termina en un espacio, una comilla o <, y la puntuación que la sigue, como un punto final, una coma o un paréntesis de cierre sin pareja, se descarta, así que see https://a.com/end. da https://a.com/end. Los enlaces que no son direcciones web, como mailto:, tel:, javascript:, data: y los anclajes que son solo #, se dejan fuera.
Confundir un índice con un sitemap
Si la etiqueta raíz es <sitemapindex>, cada <loc> es otro sitemap. Los sitios grandes reparten sus URLs porque un sitemap puede tener como máximo 50.000 URLs y pesar 50 MB (52.428.800 bytes) sin comprimir. Los archivos .xml.gz están comprimidos con gzip: el navegador los descarga en vez de mostrarlos, así que descomprímelos primero (7-Zip en Windows, doble clic en Mac).
Creer que el sitemap es la lista de páginas vivas
Un sitemap es lo que el sitio declara, no una prueba. Si no se regenera solo, puede seguir listando páginas borradas, URLs redirigidas y direcciones antiguas en http:// mucho después de que cambiaran. Revisa las URLs sospechosas con el comprobador de redirecciones (nuestra guía para saber si una redirección es 301 o 302 explica los resultados) y mira las etiquetas de cada página con el comprobador de metaetiquetas.
Qué hacer con la lista
- Auditar frente a Search Console. Compara tu lista con las páginas indexadas que muestra Google y busca lo que falta o lo que está de más.
- Planificar una migración. La lista ordenada de URLs antiguas es la primera columna de tu mapa de redirecciones.
- Ordenar la estructura de URLs. En una lista ordenada saltan a la vista las rutas largas y desordenadas. Nuestra guía de URLs amigables para SEO y el generador de slugs te ayudan a arreglarlas.
- Analizar una URL por partes. El analizador de URL separa cualquier dirección en host, ruta y parámetros, útil para detectar parámetros de seguimiento que no deberían estar en un sitemap. Nuestra guía de parámetros UTM explica por qué los enlaces con
utm_van en las campañas y no en el sitemap.
Preguntas frecuentes
¿Cómo saco la lista de todas las URLs de una web desde su sitemap?
Busca el sitemap en el robots.txt, abre su código fuente, cambia & por & y pégalo en el extractor de URL. Borra las líneas de namespace, quita duplicados y, si es un índice, repite con cada sitemap hijo.
¿Por qué me salen enlaces a sitemaps en lugar de páginas?
Has abierto un índice de sitemaps. Sus etiquetas <loc> apuntan a otros sitemaps; el nuestro devolvió 26 sitemaps hijos y ninguna página. Abre cada uno y vuelve a extraer.
¿Por qué la primera URL es http://www.sitemaps.org/schemas/sitemap/0.9?
Es el namespace XML que todo sitemap válido declara en su etiqueta raíz. Parece una URL, así que los extractores lo incluyen. Bórralo: no es una página del sitio.
¿El extractor entiende el & de los sitemaps?
Sí. Los sitemaps deben guardar & como &, y desde el 1 de noviembre de 2026 el extractor lo vuelve a convertir, así que las cadenas de consulta salen completas. Ya no hace falta reemplazarlo antes en un editor de texto.
¿Puedo extraer URLs de un sitemap .xml.gz?
Sí, después de descomprimirlo. Los sitemaps comprimidos se descargan como archivo; saca el .xml de dentro, ábrelo con un editor de texto y pega su contenido en la herramienta.
¿El extractor de URL es gratis?
Sí. Es gratis, sin cuenta y sin instalar nada. Los visitantes tienen 5 usos al día, y una cuenta gratuita (sin spam) quita el límite.
¿Listo para sacar tu lista? Abre el extractor de URL gratis, pega el código de tu sitemap y limpia el resultado en dos clics con el eliminador de líneas duplicadas y ordenar lista alfabéticamente.