robots.txt y sitemap.xml cumplen funciones distintas
| Mecanismo | Objetivo | Alcance | Efecto principal |
|---|---|---|---|
| robots.txt | Controlar crawling | Paths para crawlers | No garantiza desindexación |
| sitemap.xml | Señalar URL importantes | URL y metadatos | Señal, no garantía de indexación |
| noindex | Excluir del índice | URL o recurso | Funciona después del rastreo |
| rel="canonical" | Indicar versión preferida | URL o recurso | Señal fuerte, no directiva absoluta |
robots.txt forma parte del Robots Exclusion Protocol y controla qué paths puede solicitar un crawler. RFC 9309 aclara que estas reglas no son autorización de acceso. [4]
Una sitemap informa a los buscadores sobre páginas, vídeos y otros archivos importantes, además de sus relaciones y metadatos. [6]
Ubicación y alcance de robots.txt
El archivo debe llamarse `robots.txt` y estar en la raíz del host, por ejemplo `https://example.com/robots.txt`. Un archivo en un subdirectorio no controla todo el sitio. [2][4]
El alcance depende de protocolo, host y puerto. Google además aplica un límite de 500 KiB. [2][3]
Sintaxis básica de robots.txt
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://example.com/sitemap.xml
Google admite `user-agent`, `allow`, `disallow` y `sitemap`. `crawl-delay` no está admitido. [3]
El campo `sitemap` debe contener una URL absoluta y puede repetirse varias veces. [2][3]
Coincidencia de reglas, mayúsculas y wildcards
Google aplica la regla coincidente más específica. Si `allow` y `disallow` tienen la misma especificidad, usa la opción menos restrictiva, `allow`. [3][4]
Los paths distinguen mayúsculas de minúsculas. Google admite `*` como wildcard y `$` como final de URL. [3]
robots.txt no sustituye a noindex
Una URL bloqueada por robots.txt puede seguir apareciendo en Google si se descubre mediante enlaces externos o internos. [1][3]
Para excluir una página del índice usa `noindex` mediante robots meta o `X-Robots-Tag`. Google debe poder rastrear el recurso para leer esa regla. [5][16]
Errores HTTP y caché de robots.txt
| Estado | Comportamiento de Google |
|---|---|
| 2xx | Procesa el archivo robots.txt |
| 3xx | Sigue al menos 5 redirecciones |
| 4xx except 429 | Lo trata como ausencia de restricciones |
| 5xx / network | Puede pausar el crawling y usar la última versión válida |
Google procesa respuestas `2xx`, sigue al menos cinco redirecciones en `3xx` y trata la mayoría de `4xx`, salvo `429`, como ausencia de restricciones. [3]
Con `5xx` o errores de red puede pausar temporalmente el crawling y reutilizar la última versión válida. Normalmente cachea robots.txt hasta 24 horas. [3]
Para qué sirve sitemap.xml
Una sitemap facilita descubrir URL importantes y puede incluir fecha de modificación, variantes de idioma, imágenes, vídeos y noticias. [6][7]
Google indica que un sitio pequeño, de unas 500 páginas o menos y con buen enlazado interno, puede no necesitar sitemap. [6]
Formatos de sitemap admitidos
Google admite XML, RSS, mRSS, Atom 1.0 y sitemaps de texto. XML es el formato más flexible. [7]
Google no declara una preferencia general entre los formatos admitidos. [7]
Límites de sitemap e índice de sitemaps
| Archivo | Entradas máximas | Tamaño máximo | Nota |
|---|---|---|---|
| Sitemap individual | 50,000 | 50 MB | Límite sin comprimir; gzip permitido |
| Índice de sitemaps | 50,000 sitemaps | 50 MB | Límite sin comprimir; gzip permitido |
Una sitemap está limitada a 50.000 URL o 50 MB sin comprimir. Si se supera cualquiera de los límites, debe dividirse. [7][8]
Un índice puede contener hasta 50.000 sitemaps y también tiene límite de 50 MB. Se permite gzip. [8]
Qué URL deben incluirse
Google recomienda incluir URL absolutas que quieras ver en los resultados de búsqueda. [7]
En contenido duplicado conviene incluir la URL canonical preferida. La inclusión en sitemap es una señal canonical débil, inferior a una redirección o `rel="canonical"`. [7][9]
`<lastmod>`, `<priority>` y `<changefreq>`
Google ignora `<priority>` y `<changefreq>`. [7]
Puede usar `<lastmod>` si es coherente, verificable y representa una modificación significativa del contenido, datos estructurados o enlaces. [7]
Cómo enviar una sitemap a Google
La sitemap puede enviarse desde Search Console, mediante la Search Console API o referenciarse en robots.txt con `Sitemap:`. [7][11][12]
El envío es solo una señal y no garantiza descarga, crawling ni indexación. [7]
Sitios multilingües y sitemaps especializadas
Google admite relaciones `hreflang` dentro de sitemaps XML. Cada variante debe referenciar todas las versiones, incluida ella misma. [10]
También existen extensiones para imágenes, vídeos y noticias. [13][14][15]
Errores frecuentes de SEO técnico
Bloquear una página en robots.txt y esperar que Google lea su `noindex` es un error grave. [5][16]
También deben evitarse señales contradictorias entre sitemap y `rel="canonical"`. [9]
- No uses robots.txt como sustituto de `noindex`.
- No añadas deliberadamente redirecciones, 404 o duplicados innecesarios a la sitemap.
- No actualices `<lastmod>` en cada despliegue sin cambios reales.
- Mantén canonical y sitemap coherentes.
- Revisa por separado subdominios y protocolos.
Checklist de despliegue
Comprueba las respuestas HTTP reales. robots.txt debe servirse como texto y la sitemap en un formato admitido. [2][7]
Después de publicar, revisa el informe Sitemaps de Search Console. En migraciones, una sitemap puede ayudar a Google a descubrir URL nuevas. [11][17]
- ¿Está disponible `/robots.txt`?
- ¿Hay URL importantes bloqueadas por error?
- ¿Las páginas con noindex siguen siendo rastreables?
- ¿La sitemap contiene solo URL absolutas preferidas?
- ¿Cada archivo está por debajo de 50.000 URL y 50 MB?
- ¿Canonical y sitemap son coherentes?
- ¿Las relaciones hreflang son correctas?
- ¿Search Console muestra errores?

