Guía Técnica de robots.txt, Directivas RFC 9309 y Optimización de Rastreo
El archivo robots.txt es un documento de texto plano ubicado en la raíz del servidor web (por ejemplo, https://tudominio.com/robots.txt). Comunica instrucciones directas a los motores de búsqueda, arañas y rastreadores automáticos sobre qué secciones de una web pueden o no pueden explorar. En 2022, el Internet Engineering Task Force (IETF) formalizó este protocolo mediante el estándar RFC 9309 (Robots Exclusion Protocol), unificando las directivas, la sintaxis de comodines y la precedencia de reglas entre todos los buscadores modernos.
Aunque robots.txt es respetado por los principales buscadores como Google, Bing e Yandex, constituye un protocolo voluntario. Su existencia no es obligatoria para que un sitio web se indexe, pero es una herramienta imprescindible para optimizar el presupuesto de rastreo (crawl budget), evitar sobrecargas en el servidor y asegurar que los bots descubran las URLs canónicas e indexables del proyecto.
1. Directivas Principales: User-agent, Disallow, Allow y Sitemap
Un archivo robots.txt estándar se compone de uno o más bloques organizados por agentes de rastreo:
User-agent:Identifica al robot específico al que aplican las reglas.User-agent: *define directivas globales para todos los motores de búsqueda, mientras queUser-agent: GooglebotoUser-agent: Bingbotestablecen normas exclusivas para rastreadores individuales.Disallow:Indica al rastreador que no debe explorar las URLs que comiencen por la ruta indicada (ej.Disallow: /admin/). Dejarlo vacío (Disallow:) autoriza el rastreo completo del sitio.Allow:Permite expresamente el rastreo de una subcarpeta o archivo dentro de un directorio bloqueado porDisallow(ej.Disallow: /wp-admin/conAllow: /wp-admin/admin-ajax.php).Sitemap:Declara la URL absoluta del mapa de sitio XML (ej.Sitemap: https://tudominio.com/sitemap.xml). Puedes incluir múltiples sitemaps para acelerar la indexación. Puedes crear mapas de sitio con nuestro Generador de Sitemap XML.
2. Rastreo frente a Indexación: Por qué robots.txt NO es un noindex
Uno de los fallos más habituales en SEO técnico es utilizar Disallow creyendo que desindexará una URL. Disallow únicamente impide que el buscador descargue y lea el contenido de la página. Si esa URL bloqueada recibe enlaces internos o externos, Google puede llegar a indexar la URL sin rastrear el contenido, mostrándola en las SERPs con un mensaje genérico ("No hay información disponible sobre esta página").
Para desindexar o evitar garantizadamente que una página aparezca en Google, debes permitir su rastreo y servir la etiqueta <meta name="robots" content="noindex, follow"> o la cabecera HTTP X-Robots-Tag: noindex. Puedes generar y verificar estas etiquetas con nuestro Generador de Meta Tags. Recuerda que Google retiró el soporte a la directiva experimental Noindex: en robots.txt en septiembre de 2019.
3. Precedencia de Directivas y Coincidencia de Rutas (RFC 9309 §2.2.2)
El estándar RFC 9309 establece criterios objetivos para la resolución de conflictos entre directivas:
- Gana el Patrón Más Largo: El rastreador compara todas las reglas coincidentes y aplica la directiva con mayor longitud de caracteres.
- Prioridad de Allow en Empates: En caso de que una regla
Allowy una reglaDisallowtengan exactamente la misma longitud sobre una URL, la directivaAllowtiene prioridad. - Comodín Asterisco (
*): Sustituye cualquier cadena de caracteres intermedia (ej.Disallow: /*.pdf$). - Ancla de Fin de Cadena (
$): Indica el final exacto de la URL, evitando que se bloqueen parámetros adicionales de consulta. - Sensibilidad a Mayúsculas: Las rutas son estrictamente case-sensitive.
Disallow: /Admin/no bloquea/admin/.
4. Realidad Técnica de Crawl-delay en Google, Yandex y Bing
La directiva Crawl-delay no forma parte del estándar RFC 9309 y su tratamiento varía según el motor de búsqueda:
- Googlebot: Ignora completamente Crawl-delay en robots.txt. Google ajusta la frecuencia de rastreo de forma dinámica según la capacidad del servidor o desde Google Search Console.
- Yandex: Ignora Crawl-delay para su buscador principal desde febrero de 2018. La tasa de rastreo se parametriza en Yandex Webmaster.
- Bingbot, AhrefsBot y SemrushBot: Reconocen y respetan
Crawl-delay(especificado en segundos) para limitar la frecuencia de peticiones a la web.
5. Bots Específicos y Rastreadores de Inteligencia Artificial
Los sitios web modernos gestionan simultáneamente motores de búsqueda, herramientas de análisis SEO y bots de IA generativa:
- Buscadores Principales:
Googlebot,Bingbot,YandexBot,Baiduspider. - Rastreadores de IA y LLMs:
GPTBot(OpenAI),CCBot(Common Crawl),ClaudeBot(Anthropic),Google-Extended. - Herramientas SEO:
AhrefsBot,SemrushBot,DotBot.
Puedes auditar qué bots visitan tu sitio y verificar el bloqueo de agentes de IA con nuestro Comprobador de Bots de IA.
6. Advertencia de Seguridad: robots.txt NO Protege Contenido Privado
robots.txt es un archivo público que cualquiera puede consultar en internet. Nunca incluyas rutas confidenciales, paneles privados, tokens de acceso o carpetas secretas en robots.txt, ya que los atacantes revisan este archivo específicamente para descubrir endpoints ocultos.
Para proteger contenido confidencial, utiliza siempre autenticación de servidor (OAuth, contraseñas, sesiones PHP o reglas de cortafuegos por IP).
7. Cómo Probar y Verificar tu Archivo robots.txt
Antes de dar por finalizada la configuración de tu archivo, realiza estas comprobaciones técnicas:
- Comprobación directa HTTP 200: Abre
https://tudominio.com/robots.txten tu navegador y valida que se sirve como texto plano UTF-8. - Google Search Console: Utiliza el informe de robots.txt y la herramienta de Inspección de URLs para confirmar que Googlebot ha descargado la versión correcta.
- Auditoría SEO Integral: Comprueba la existencia de enlaces rotos y la validez de tus datos estructurados con el Comprobador de Enlaces Rotos y el Validador Schema JSON-LD.
Ejemplo Práctico
Permitir todo, bloquear /wp-admin/, permitir admin-ajax.php, sitemap
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://tudominio.com/sitemap.xml
Protege la zona de administración pero permite la ejecución de scripts AJAX esenciales para el renderizado del tema.
Bloquear clases internas, carritos de compra, búsquedas y páginas de filtro
User-agent: *
Disallow: /classes/
Disallow: /config/
Disallow: /cart
Disallow: /search
Sitemap: https://tudominio.com/sitemap.xml
Evita el desperdicio de rastreo en páginas temporales de compra y búsquedas internas, concentrando la autoridad en el catálogo.
Bloquear la descarga e indexación de archivos PDF en cualquier ruta
User-agent: *
Disallow: /*.pdf$
El ancla de fin de cadena ($) asegura que solo se bloqueen los archivos que terminen estrictamente en .pdf.