El archivo robots.txt es un documento de texto fundamental en un sitio web que instruye a los rastreadores web, como Googlebot y Bingbot, sobre a qué URL se les permite acceder. Al gestionar el comportamiento de los rastreadores, este archivo desempeña un papel fundamental en la optimización del presupuesto de rastreo y el control del acceso a secciones específicas de un sitio web.
Este archivo es un acuerdo voluntario: todos los rastreadores de motores de búsqueda principales y de buena reputación se adhieren a sus directivas. Sin embargo, es importante tener en cuenta que los rastreadores maliciosos o «malos», a menudo utilizados para el scraping, ignorarán por completo las reglas establecidas en un archivo robots.txt.
¿Cómo afecta robots.txt al SEO
El impacto principal de un archivo robots.txt en el SEO se relaciona con la optimización del presupuesto de rastreo y la gestión de contenido. Al dirigir a los rastreadores lejos de páginas sin importancia, te aseguras de que gasten su limitado presupuesto de rastreo en el contenido más valioso e indexable de tu sitio. Esto es crucial para sitios web grandes con miles de páginas, pero es una buena práctica para cualquier sitio.
Además, los propietarios de sitios web pueden usar robots.txt para evitar que los rastreadores accedan a secciones privadas o administrativas de su sitio, como páginas de inicio de sesión, cuentas de usuario o carpetas específicas con datos sensibles. Esto ayuda a mantener la privacidad y a mantener el contenido irrelevante fuera de los índices de los motores de búsqueda.
Diferencias clave entre disallow y noindex
¿Cuál es la diferencia entre disallow y noindex?
Es un error común pensar que desautorizar una URL en robots.txt evitará que aparezca en los resultados de búsqueda. La diferencia fundamental reside en sus funciones:
- Disallow (en robots.txt): Esta directiva le dice a los rastreadores que no visiten una URL específica. El rastreador respetará la orden y no rastreará el contenido de la página. Sin embargo, si otros sitios web enlazan a esa URL, Google aún puede descubrirla e indexarla, mostrando un enlace en los resultados de búsqueda sin una descripción. A esto se le suele llamar un resultado «sin fragmento».
- Noindex (en la
<head>de un documento HTML): Esta es una metaetiqueta que le dice a los motores de búsqueda que no indexen una página específica. Para leer esta etiqueta, el rastreador primero debe poder acceder a la página. Por lo tanto, no puedes usar una etiquetanoindexen una página que ya está desautorizada por robots.txt.
¿Cuándo debo usar disallow?
Usa Disallow cuando quieras evitar que los rastreadores pierdan tiempo y recursos en páginas que no ofrecen valor a los motores de búsqueda. Por ejemplo, bloqueando el acceso a páginas de resultados de búsqueda internas, paneles administrativos u otro contenido privado.
¿Cuándo debo usar noindex?
Usa Noindex cuando quieras garantizar que una página no será indexada, pero aún así quieras que el rastreador pueda acceder a ella para leer la directiva. Este es el método correcto para eliminar una URL del índice de búsqueda. Los casos de uso comunes incluyen páginas con contenido escaso, archivos paginados o páginas con contenido duplicado.
NO combines un disalow con un noindex
Para ambos casos, Google ha publicado recientemente un video explicando brevemente cuándo utilizar Noindex y cuándo Disallow. En este video, Martin Splitt aclara que un error común es usar al mismo tiempo “noindex” y “disallow” en una misma página. Si se bloquea la URL con “disallow” en el archivo robots.txt, los buscadores no podrán rastrearla ni ver la etiqueta “noindex”, lo que puede hacer que la página igual aparezca en los resultados con información mínima. Esta combinación, mal aplicada, puede generar problemas de indexación.
¿Cuáles son las mejores prácticas para utilizar robots.txt?
- Usa un archivo separado para cada nombre de host: Cada subdominio (por ejemplo,
blog.example.com) debe tener su propio archivo robots.txt para garantizar que los rastreadores reciban las directivas correctas para cada parte del sitio. - Coloca el archivo en el directorio raíz: El archivo robots.txt debe estar ubicado en la raíz de tu dominio (por ejemplo,
https://www.example.com/robots.txt) para que los rastreadores lo descubran correctamente. - Incluye una directiva de sitemap: Agrega una directiva
Sitemap:a tu archivo robots.txt. Esta es una línea crucial que le dice a los rastreadores exactamente dónde encontrar tu mapa del sitio XML, lo que les facilita el descubrimiento de todas tus páginas importantes. - Valida tu archivo Regularmente: Usa herramientas como el Probador de Robots.txt de Google Search Console para verificar si hay errores en tu archivo y confirmar que tus reglas funcionan como se espera. Esto es especialmente importante después de realizar cualquier cambio. También puedes probar Robots.txt Validator and Testing Tool, una herramienta muy válida, y una de mis favoritas.
- Evita bloquear recursos necesarios: Bloquear archivos JavaScript y CSS en el archivo
robots.txtimpide que los rastreadores de motores de búsqueda, como Googlebot, los vean y los procesen. Esto tiene varios peligros y consecuencias negativas para el SEO y el rendimiento de tu sitio web.
Riesgos Principales de Bloquear JavaScript y CSS
- Problemas de Indexación y Renderizado: El principal peligro es que Googlebot no podrá renderizar (crear una representación visual de) tu página de la misma manera que lo hace un usuario. Google necesita acceder a los archivos CSS para entender el diseño y la estructura, y a los archivos JavaScript para comprender la funcionalidad, el contenido dinámico y la interactividad. Sin estos archivos, el rastreador puede ver una página en blanco o desorganizada.
- Malentendidos del Contenido: Muchos sitios modernos usan JavaScript para cargar contenido principal, como texto o imágenes. Si el JavaScript está bloqueado, Googlebot no podrá descubrir ni indexar ese contenido, lo que resultará en un SEO deficiente y una clasificación baja para las palabras clave relevantes.
- Evaluación Incorrecta de la Experiencia de Usuario: Google utiliza el diseño, la disposición y la velocidad de una página para evaluar la experiencia del usuario. Si bloqueas el CSS, Google no podrá evaluar adecuadamente la estabilidad visual (CLS – Cumulative Layout Shift), la velocidad de carga y la usabilidad móvil de tu sitio, lo que puede afectar negativamente a tus Core Web Vitals.
- Pérdida de Contexto: Al no poder ver la página completa, Google puede malinterpretar la jerarquía del contenido y la relación entre los elementos, lo que puede afectar la forma en que se clasifica el contenido semánticamente.
Impacto en el rendimiento del sitio web y la percepción del usuario
¿Cuál es la experiencia del usuario con robots.txt?
Los usuarios generalmente no interactúan directamente ni ven el archivo robots.txt. Sin embargo, su uso correcto tiene un impacto tangible en su experiencia. Al optimizar el presupuesto de rastreo, un archivo robots.txt bien gestionado contribuye indirectamente a un sitio web más saludable y eficiente. Esto puede conducir a un mejor rendimiento y una experiencia de usuario más estable, ya que los recursos del servidor no se desperdician en rastrear páginas irrelevantes.
¿Cómo influye robots.txt en la eficiencia del sistema?
Un archivo robots.txt optimizado tiene un efecto directo en la eficiencia de tu servidor. Al bloquear a los rastreadores para que no accedan a directorios o páginas que consumen muchos recursos (como una función de búsqueda interna), reduces la carga en tu servidor. Esto libera recursos que pueden usarse para servir a los usuarios humanos reales, mejorando la velocidad del sitio y el rendimiento general del sistema.
Preguntas Frecuentes
¿Qué sucede si no tengo un archivo robots.txt?
Si un sitio no tiene un archivo robots.txt, los rastreadores de los motores de búsqueda asumirán que tienen permiso para rastrear todas las URL de acceso público en el sitio. Para sitios web más pequeños, esto a menudo es aceptable. Sin embargo, para sitios más grandes, un archivo robots.txt es esencial para controlar y optimizar el tráfico de rastreadores.
¿Puedo ocultar una página de los motores de búsqueda usando robots.txt?
No. Solo puedes evitar que una página sea rastreada. Para ocultar una página de los motores de búsqueda y asegurarte de que no aparezca en el índice, debes usar la metaetiqueta noindex en la propia página. Si una página está desautorizada en robots.txt pero enlazada desde otro sitio, aún puede ser indexada por los motores de búsqueda.
Ejemplo comentado de robots.txt
El siguiente es un ejemplo de robots.txt, con los comentarios de la función que cumple cada una de las lineas:
# ===============================================
# Archivo robots.txt
# Gestiona el acceso de los rastreadores a este sitio.
# ===============================================
# 1. User-agent: Define a qué rastreadores se aplican las reglas siguientes.
# En este caso, las reglas aplicarán a todos los rastreadores (*).
User-agent: *
# 2. Disallow: Especifica las rutas que los rastreadores no deben visitar.
# En este ejemplo, se bloquea el rastreo de la carpeta de administración,
# las páginas de resultados de búsqueda internas y los archivos PDF.
Disallow: /admin/
Disallow: /search
Disallow: /*.pdf$
# 3. Allow: Permite el rastreo de una subcarpeta específica dentro de una ruta disallow.
# Aquí, se permite el rastreo de una subcarpeta de recursos públicos
# que está dentro de una carpeta más grande que está bloqueada.
# Esta directiva anula a la anterior para esta ruta específica.
Allow: /admin/public-resources/
# 4. Sitemap: Indica la ubicación de tu sitemap XML.
# Es una buena práctica incluir esta directiva para ayudar a los rastreadores a descubrir
# todas tus páginas importantes.
Sitemap: https://www.ejemplo.com/sitemap.xml
# 5. Crawl-delay: Controla la velocidad de rastreo.
# IMPORTANTE: Googlebot ya no soporta esta directiva, pero otros rastreadores como Yandexbot sí.
# Si tu servidor tiene problemas de rendimiento por el rastreo, puedes usar esta directiva
# para rastreadores específicos.
# User-agent: YandexBot
# Crawl-delay: 5

