Ejemplos de sitemap.xml y robots.txt, comentados | We.Inc
Ejemplos de sitemap.xml, índice de sitemaps y robots.txt listos para copiar, con cada línea explicada, los límites de 50,000 URL y 500 KiB, las reglas con comodines y un mini generador de sitemaps.
Ejemplos de sitemap.xml y robots.txt
Un sitemap.xml enumera las URL que quieres que se rastreen, cada una en un elemento url con un loc y un lastmod opcional, hasta 50,000 URL o 50 MB por archivo. Un robots.txt en la raíz del sitio indica a los rastreadores qué rutas deben saltarse con líneas User-agent, Disallow y Allow, y puede señalar el sitemap.
Límites y reglas clave
Elemento
Regla
URL por sitemap
50,000 como máximo
Tamaño del archivo sitemap
50 MB sin comprimir como máximo
Formato de URL en los sitemaps
Completa, por ejemplo https://example.com/page
Ubicación de robots.txt
Raíz del host, por ejemplo https://example.com/robots.txt
Tamaño de robots.txt que lee Google
500 KiB
Campos que Google admite en robots.txt
user-agent, allow, disallow, sitemap
Los generadores escupen un archivo, pero rara vez explican por qué está cada línea o qué pasa cuando dos reglas se contradicen. Todos los ejemplos de abajo están comentados, y el generador convierte una simple lista de tus páginas en un sitemap válido con los caracteres especiales ya escapados.
Pega una URL completa por línea en el generador y elige una fecha lastmod si la tienes.
Copia el XML generado en un archivo llamado sitemap.xml en la raíz de tu sitio.
Elige el ejemplo de robots.txt más parecido a tu caso y edita las rutas.
Añade una línea Sitemap al robots.txt y envía el sitemap en Search Console.
Incluye solo URL canónicas que devuelvan 200. Las redirecciones, los 404 y las páginas con noindex en un sitemap envían señales contradictorias.
Pon en lastmod la fecha en que el contenido principal cambió de verdad. Google solo lo usa cuando es exacto de forma constante.
Google ignora changefreq y priority, así que puedes omitirlos.
Bloquear una página en robots.txt no la elimina de los resultados de búsqueda. Para mantenerla fuera, permite el rastreo y añade en su lugar una metaetiqueta robots con noindex.
Preguntas frecuentes
¿Dónde debe ir el sitemap.xml?
Sirve cualquier lugar del mismo host, pero la raíz es lo habitual porque, según el protocolo de sitemaps.org, un sitemap suele cubrir solo las URL de su propia carpeta o de las que cuelgan de ella. Indica a los buscadores dónde está con una línea Sitemap en robots.txt o enviándolo en Search Console.
¿Cómo incluyo más de 50,000 URL?
Repártelas en varios archivos sitemap y enuméralos en un índice de sitemaps. El índice usa los elementos sitemapindex y sitemap en lugar de urlset y url, y puede hacer referencia a hasta 50,000 sitemaps.
¿Admite Google Crawl-delay o Noindex en robots.txt?
No. Google solo lee user-agent, allow, disallow y sitemap. Otros rastreadores pueden respetar Crawl-delay, pero Googlebot lo ignora, y noindex tiene que ir en una metaetiqueta o en una cabecera X-Robots-Tag.
¿Qué pasa cuando Allow y Disallow coinciden con la misma URL?
Google elige la regla más específica, es decir, la de la ruta coincidente más larga. Si dos reglas coincidentes son igual de específicas, usa la menos restrictiva, que es Allow.
¿Tengo que escapar caracteres en las URL del sitemap?
Sí. Un sitemap es XML, así que un ampersand debe escribirse como & y los demás caracteres reservados como sus entidades. El archivo también debe estar codificado en UTF-8.
Para qué sirve cada archivo
El sitemap es una invitación: estas son las páginas que vale la pena rastrear y cuándo cambiaron por última vez. Ayuda sobre todo en sitios nuevos, sitios grandes y páginas a las que llegan pocos enlaces internos.
robots.txt es un conjunto de instrucciones de rastreo, no una herramienta de seguridad. Cualquiera puede leerlo y los bots mal educados lo ignoran, así que nunca confíes en él para ocultar zonas privadas. Protégelas con un inicio de sesión.
Cómo se aplican las reglas
Un rastreador elige el grupo cuya línea User-agent coincide con él de forma más específica e ignora el resto. Si Googlebot tiene su propio grupo, no leerá las reglas de User-agent: *.
Las rutas distinguen mayúsculas y minúsculas y coinciden desde el principio. Un asterisco representa cualquier secuencia de caracteres y el signo de dólar ancla el final de la URL, así que Disallow: /*.pdf$ bloquea todos los PDF.
Ejemplos de sitemap
sitemap.xml básico
La declaración xml, el urlset con el espacio de nombres del protocolo y un url por página. lastmod usa el formato de fecha del W3C.
Índice de sitemaps para sitios grandes
Apunta a sitemaps hijos. Cada hijo sigue el mismo límite de 50,000 URL y 50 MB.
Ejemplos de robots.txt
Permitir todo y señalar el sitemap
Un Disallow vacío significa que no se bloquea nada. Es el archivo adecuado para la mayoría de los sitios de pequeñas empresas.
Tienda online: saltar carritos, cuentas y combinaciones de filtros
Bloquea los patrones de URL que crean duplicados sin fin y deja abiertas las páginas de producto y de categoría.
Bloquear todo un sitio de staging
Detiene a los rastreadores que cumplen las normas en una copia de prueba. Añade también una contraseña, porque este archivo solo lo pide con educación.
Comodines para tipos de archivo
El signo de dólar indica que la URL termina ahí, así que /guide.pdf queda bloqueada pero /guide.pdf.html no.
Qué regla gana
Cómo resuelve Google unas reglas de ejemplo
Reglas
URL
Resultado
Por qué
Allow: /p y Disallow: /
Permitida
Allow: /folder y Disallow: /folder
Permitida
Misma longitud, gana la menos restrictiva
Disallow: /*.php$
Permitida
La URL no termina en .php
Disallow: /fish
Permitida
Las rutas distinguen mayúsculas y minúsculas
Mini generador de sitemaps
Pega una URL completa por línea y el generador escribe un urlset válido con los caracteres especiales escapados.
Tus URL, una por línea
lastmod para todas (opcional)
{n} URL incluida.
{n} URL incluidas.
Se omitieron {n} línea(s) que no son URL http o https completas.