Robots.txt


¿Qué es el archivo robots.txt?

El archivo robots.txt es un archivo de texto simple que se coloca en el directorio raíz de un sitio web y que contiene instrucciones para los robots de los motores de búsqueda, también llamados "rastreadores" o "bots". Estos rastreadores navegan por la web y analizan el contenido de los sitios para indexarlo en sus bases de datos. El archivo robots.txt sirve como una guía para indicarles qué partes de un sitio web deben o no deben rastrear.

El formato del archivo es sencillo y se compone de reglas que utilizan dos directivas principales:

  • User-agent: Especifica a qué bots va dirigida la regla.
  • Disallow: Indica qué rutas o URLs no deben ser rastreadas.

Por ejemplo:

User-agent: *
Disallow: /admin/

Este ejemplo indica que cualquier rastreador ("*") no debe acceder al directorio /admin/ del sitio.

Aunque robots.txt es una convención utilizada por la mayoría de los motores de búsqueda, no es un mandato obligatorio: los bots pueden, si lo desean, ignorar el archivo. Sin embargo, los rastreadores de motores de búsqueda importantes como Google, Bing o Yahoo suelen seguir las directrices indicadas en este archivo.

Importancia para la gestión de rastreadores web

El archivo robots.txt juega un papel clave en la gestión de los rastreadores web y la optimización del rendimiento del sitio web, ya que permite al administrador del sitio controlar qué contenido desea mostrar a los motores de búsqueda y qué contenido desea mantener fuera de sus índices. Algunas de las razones más comunes para usar robots.txt son:

  • Proteger áreas privadas o sensibles: Se pueden bloquear carpetas como /admin/ o /login/, que no necesitan ser indexadas por los motores de búsqueda. Esto no protege la información (ya que la URL sigue siendo accesible) pero reduce la exposición innecesaria.
  • Evitar la sobrecarga del servidor: Un sitio con muchas páginas puede sobrecargar los recursos del servidor si todos los rastreadores acceden a cada página. Al bloquear secciones innecesarias o de menor importancia, puedes mejorar el rendimiento.
  • Controlar el contenido duplicado: Si un sitio web tiene contenido que puede aparecer en varias URL, como versiones traducidas o páginas de impresión, robots.txt puede bloquear aquellas URLs que no necesitas que aparezcan en los resultados de búsqueda, ayudando a mejorar la eficiencia de indexación.
  • Optimizar el presupuesto de rastreo: Los motores de búsqueda, como Google, asignan un crawl budget o presupuesto de rastreo a cada sitio, es decir, la cantidad de páginas que pueden rastrear en un determinado período de tiempo. Usar robots.txt ayuda a priorizar qué páginas deben ser rastreadas, maximizando la eficiencia.
  • Bloquear rastreadores maliciosos: Aunque muchos bots malintencionados ignoran robots.txt, algunos rastreadores menos sofisticados pueden ser disuadidos de visitar áreas específicas del sitio.

Estructura del archivo robots.txt

1. Directivas básicas: User-agent, Disallow, Allow

User-agent

La directiva User-agent especifica a qué rastreador o bot se aplicarán las reglas definidas. Puedes apuntar a un bot específico o a todos los bots utilizando un comodín.

Disallow

La directiva Disallow se usa para bloquear el acceso de los bots a ciertas partes del sitio web, como directorios o páginas específicas.

Allow

La directiva Allow permite que ciertas páginas o directorios dentro de áreas bloqueadas puedan ser rastreadas.

2. Ejemplos de configuraciones comunes

Ejemplo 1: Bloquear todo el sitio para todos los bots

User-agent: *
Disallow: /

Este ejemplo impide que todos los bots accedan a cualquier parte del sitio.

Ejemplo 2: Permitir el acceso completo a todos los bots

User-agent: *
Disallow:

Permite el acceso a todas las páginas del sitio a todos los bots.

Ejemplo 3: Bloquear un directorio específico

User-agent: *
Disallow: /admin/

Este ejemplo bloquea el acceso de los bots al directorio /admin/.

Ejemplo 4: Bloquear para Googlebot pero permitir otras páginas

User-agent: Googlebot
Disallow: /privado/
Allow: /privado/visible-para-google.html

Googlebot no podrá rastrear la carpeta /privado/, pero sí el archivo específico dentro de esa carpeta.

Ejemplo 5: Bloquear imágenes para todos los bots

User-agent: *
Disallow: /images/

Bloquea el acceso de todos los bots a la carpeta /images/, impidiendo que indexen imágenes.

Ejemplo 6: Incluir un Sitemap

User-agent: *
Disallow:
Sitemap: https://www.ejemplo.com/sitemap.xml

Indica a los bots la ubicación del archivo Sitemap, facilitando el rastreo del contenido del sitio.

¿Cómo funciona robots.txt?

El archivo robots.txt funciona como un protocolo que comunica a los rastreadores de los motores de búsqueda, también llamados "bots" o "spiders", sobre qué partes de tu sitio web pueden rastrear e indexar y cuáles deben evitar. Aunque no es una medida de seguridad, ya que algunos bots maliciosos pueden ignorar estas reglas, es una forma efectiva de controlar cómo interactúan los motores de búsqueda con tu sitio.

1. Comunicación con los motores de búsqueda

Cuando un bot visita tu sitio web, el primer archivo que suele buscar es el robots.txt, ubicado en el directorio raíz de tu dominio. El bot lo lee para saber qué partes del sitio puede rastrear. Si no existe un archivo robots.txt, el bot asume que puede acceder a todo el contenido.

  • Solicitud inicial: El bot solicita el archivo robots.txt en el directorio raíz. Por ejemplo, buscaría www.ejemplo.com/robots.txt.
  • Lectura del archivo: El bot lee las directivas especificadas en el archivo, como Disallow y Allow, para saber qué áreas debe o no debe rastrear.
  • Cumplimiento de las reglas: El bot procede a rastrear solo las partes permitidas. Si encuentra secciones bloqueadas, no accede a ellas, aunque algunos bots maliciosos podrían ignorar estas reglas.
  • Actualización periódica: Los bots revisan el archivo robots.txt de forma periódica para detectar posibles cambios en las reglas.

2. Diferencias entre "permitir" y "denegar" contenido

Con el archivo robots.txt, puedes especificar qué contenido deseas permitir o denegar a los bots. Esto se hace mediante dos directivas clave: Disallow y Allow.

2.1 Disallow (Denegar)

La directiva Disallow es la más común en robots.txt y se utiliza para bloquear el acceso de los bots a ciertas áreas del sitio web.

  • Sintaxis:
    Disallow: [ruta]
  • Ejemplo (para bloquear el acceso a la carpeta /admin/):
    Disallow: /admin/

2.2 Allow (Permitir)

La directiva Allow permite a los bots acceder a ciertas páginas o archivos dentro de un directorio que ha sido bloqueado por Disallow.

  • Sintaxis:
    Allow: [ruta]
  • Ejemplo (para permitir el acceso a una página dentro de una carpeta bloqueada):
    Allow: /privado/acceso-publico.html

3. Ejemplos prácticos

Ejemplo práctico con Allow y Disallow

Imagina que tienes una tienda en línea y deseas bloquear la sección de administración, pero permitir el acceso a una página pública dentro de esa sección:

User-agent: *
Disallow: /gestion/
Allow: /gestion/informacion-publica.html

En este caso, se impide el acceso de los bots a la carpeta /gestion/, excepto a la página informacion-publica.html, que sí puede ser rastreada.

4. Impacto en la visibilidad del sitio

El archivo robots.txt tiene un impacto directo en la visibilidad de tu sitio en los motores de búsqueda. Aquí hay algunas formas en que puede influir:

  • Bloquear contenido duplicado: Si tienes varias versiones de la misma página, puedes usar robots.txt para bloquear las versiones duplicadas y evitar problemas de SEO.
  • Optimización del "crawl budget": Los motores de búsqueda tienen un "presupuesto de rastreo" limitado. Usar robots.txt para bloquear páginas irrelevantes permite que los bots se centren en el contenido importante.
  • No bloquear contenido esencial: Asegúrate de no bloquear accidentalmente páginas clave como la página de inicio o productos importantes. Esto podría reducir la visibilidad de tu sitio.

Mejores prácticas para robots.txt

El archivo robots.txt es una herramienta poderosa para guiar a los rastreadores de los motores de búsqueda sobre qué contenido de tu sitio web deben indexar y qué contenido deben evitar. Sin embargo, una configuración incorrecta puede afectar negativamente al SEO o permitir la exposición de información sensible. Aquí te presentamos algunas de las mejores prácticas para utilizar correctamente este archivo.

1. Exclusión de contenido sensible o privado

Una de las principales funciones de robots.txt es evitar que los motores de búsqueda rastreen y muestren contenido sensible o privado. Esto incluye páginas de administración, archivos confidenciales o cualquier recurso que no deba aparecer en los resultados de búsqueda.

  • Ejemplo de exclusión de una sección de administración:
    User-agent: *
    Disallow: /admin/
    Esto bloquearía el acceso de los bots a la carpeta /admin/, protegiendo cualquier contenido sensible relacionado con la gestión del sitio.
  • No uses robots.txt para proteger información sensible: Ten en cuenta que robots.txt solo impide el rastreo de una URL, pero si alguien conoce el enlace exacto, aún puede acceder a la página o archivo. Para proteger contenido sensible, utiliza métodos más seguros como la autenticación o restricciones en el servidor.

2. Evitar errores comunes que afectan al SEO

Una mala configuración de robots.txt puede causar problemas importantes en la indexación de tu sitio y afectar negativamente tu visibilidad en los motores de búsqueda. Aquí algunos errores comunes que debes evitar:

  • No bloquear contenido clave: Asegúrate de no bloquear accidentalmente páginas importantes como la página de inicio, páginas de productos o categorías principales. Si se bloquea una página crítica, los motores de búsqueda no podrán indexarla, lo que afectará directamente tu SEO.
  • Evitar el uso excesivo de Disallow: Bloquear muchas áreas del sitio puede reducir la capacidad de los rastreadores para indexar contenido relevante. Usa Disallow solo en las áreas que realmente necesitan estar fuera del alcance de los bots.
  • No bloquear recursos esenciales: Asegúrate de no bloquear archivos CSS o JavaScript importantes que son necesarios para la correcta visualización y funcionalidad de la página. Un ejemplo de mala práctica sería:
    User-agent: *
    Disallow: /css/
    Disallow: /js/
    Si bloqueas las carpetas /css/ o /js/, los motores de búsqueda no podrán interpretar correctamente tu página, lo que podría perjudicar la experiencia de usuario y afectar tu ranking.

3. Uso de Sitemap en el archivo robots.txt

Una de las mejores prácticas recomendadas es incluir la ubicación de tu archivo Sitemap en el archivo robots.txt. Esto facilita que los bots encuentren tu mapa del sitio, que contiene todas las URL que deseas que se indexen, y garantiza que no pasen por alto páginas importantes.

  • Ejemplo de uso de Sitemap:
    User-agent: *
    Sitemap: https://www.ejemplo.com/sitemap.xml
    Al incluir esta línea en tu archivo robots.txt, indicas a los bots dónde está tu Sitemap para que puedan rastrear todas las páginas importantes de tu sitio.
  • Por qué es importante: Un archivo Sitemap bien estructurado asegura que todas tus páginas esenciales sean descubiertas y rastreadas, incluso aquellas que podrían estar ocultas o no enlazadas directamente desde otras páginas.

4. Probar y revisar el archivo robots.txt

Antes de implementar tu archivo robots.txt, es crucial revisarlo para asegurarte de que no haya errores que afecten negativamente tu sitio web. Google Search Console ofrece una herramienta llamada "Probador de robots.txt" que te permite verificar si las reglas funcionan como esperas.

  • Auditoría SEO: Revisa tu archivo robots.txt regularmente para asegurarte de que sigue cumpliendo con tus objetivos. Si realizas cambios en la estructura de tu sitio o en tu estrategia de SEO, actualiza el archivo para reflejar estos cambios.

Errores comunes en robots.txt

El archivo robots.txt es una herramienta importante para controlar cómo los motores de búsqueda rastrean tu sitio web. Sin embargo, una mala configuración puede causar serios problemas de indexación y afectar negativamente la visibilidad del sitio en los motores de búsqueda. A continuación, describimos dos errores comunes que suelen cometerse al configurar este archivo.

1. Bloquear todo el sitio por accidente

Uno de los errores más graves y comunes es bloquear todo el sitio web accidentalmente. Esto ocurre cuando se utiliza la directiva Disallow de forma incorrecta, impidiendo que los motores de búsqueda rastreen cualquier página de tu sitio. Esto resulta en que tu sitio no sea indexado, lo que puede hacer que desaparezca por completo de los resultados de búsqueda.

  • Ejemplo de un archivo mal configurado:
    User-agent: *
    Disallow: /
    Esta configuración bloquea todo el contenido del sitio web para todos los rastreadores (User-agent: *), lo que significa que ninguna página será indexada ni aparecerá en los resultados de búsqueda.
  • Consecuencia: Si esta configuración se implementa por error, tu sitio web quedará completamente excluido de los resultados de búsqueda, lo que puede causar una caída significativa en el tráfico y afectar la visibilidad del negocio o servicio.
  • Solución: Para evitar este problema, asegúrate de revisar cuidadosamente tu archivo robots.txt antes de publicarlo. Si quieres bloquear solo áreas específicas del sitio, utiliza rutas precisas en lugar de bloquear el directorio raíz /.

Ejemplo de una configuración correcta para bloquear solo áreas específicas:

User-agent: *
Disallow: /admin/
Disallow: /privado/

En este caso, solo se bloquean las carpetas /admin/ y /privado/, lo que permite que el resto del sitio sea rastreado y aparezca en los resultados de búsqueda.

2. Problemas con las rutas relativas y absolutas

Otro error común se refiere al uso incorrecto de rutas relativas y absolutas en el archivo robots.txt. Las rutas deben estar bien definidas para que los motores de búsqueda comprendan qué parte del sitio web deben rastrear o bloquear. Un mal uso de estas rutas puede llevar a que las páginas incorrectas sean excluidas o incluidas.

  • Rutas relativas: En un archivo robots.txt, todas las rutas son relativas al dominio. Esto significa que no es necesario incluir el nombre de dominio completo en las reglas, solo debes especificar la ruta desde el directorio raíz.
  • Ejemplo correcto de ruta relativa:
    Disallow: /carpeta-privada/
    Esta directiva indica a los rastreadores que no deben acceder a la carpeta carpeta-privada del sitio, sin necesidad de especificar el dominio completo.
  • Error con una ruta absoluta: Un error común es incluir el dominio completo en las reglas, lo que podría llevar a confusión o hacer que las directivas no se apliquen correctamente.
  • Ejemplo incorrecto:
    Disallow: https://www.ejemplo.com/carpeta-privada/
    Esta configuración no es válida, ya que el archivo robots.txt no debe contener el nombre completo del dominio. Solo deben incluirse rutas relativas al directorio raíz.

Cómo evitar problemas con las rutas

  • Utiliza siempre rutas relativas en tu archivo robots.txt, comenzando con la barra inclinada / para especificar desde el directorio raíz del sitio.
  • Verifica que las rutas estén correctamente configuradas para evitar el bloqueo accidental de contenido que debería ser rastreado.

Uso avanzado de robots.txt

El archivo robots.txt no solo es útil para bloquear el acceso a ciertas páginas o secciones del sitio, sino que también permite configuraciones avanzadas que pueden mejorar la eficiencia de cómo los rastreadores interactúan con tu sitio. A continuación, exploramos dos usos avanzados de este archivo: controlar la velocidad de rastreo y bloquear rastreadores específicos.

1. Controlar la velocidad de rastreo

El crawl-delay (retraso de rastreo) es una directiva opcional en el archivo robots.txt que le indica a ciertos rastreadores cuántos segundos deben esperar entre cada solicitud a tu servidor. Esto puede ser útil para evitar una sobrecarga del servidor, especialmente si el sitio tiene muchas páginas y los rastreadores están generando un alto volumen de solicitudes en un corto período de tiempo.

¿Por qué controlar la velocidad de rastreo?

Ejemplo de uso del crawl-delay

User-agent: Bingbot
Crawl-delay: 10

En este ejemplo, se indica al rastreador de Bing (Bingbot) que espere 10 segundos entre cada solicitud al servidor. Esto reduce la frecuencia con la que el bot rastrea el sitio, aliviando la carga sobre el servidor.

Limitaciones del uso de crawl-delay

2. Bloqueo de rastreadores específicos

Otra técnica avanzada en el uso de robots.txt es bloquear rastreadores específicos. No todos los bots son deseables, y algunos pueden consumir recursos de tu servidor o incluso rastrear información que no debería estar disponible.

Identificación de rastreadores problemáticos

Existen rastreadores que no provienen de los principales motores de búsqueda, sino que están diseñados para recopilar información de manera automatizada. Algunos pueden ser inofensivos, pero otros pueden estar relacionados con actividades maliciosas o consumir recursos innecesarios. Puedes bloquear estos rastreadores identificándolos por su User-agent.

Ejemplo de cómo bloquear rastreadores específicos

User-agent: BadBot
Disallow: /

En este ejemplo, se está bloqueando a un rastreador con el nombre BadBot, denegándole acceso a todo el sitio mediante la directiva Disallow: /. Esto es útil cuando sabes que ciertos bots no aportan valor o están generando problemas.

Bloquear varios rastreadores a la vez

Si deseas bloquear varios rastreadores, puedes agregar múltiples directivas en tu archivo robots.txt. Por ejemplo:

User-agent: BadBot
Disallow: /

User-agent: AnotherBadBot
Disallow: /

Este código bloquea a los rastreadores BadBot y AnotherBadBot del sitio web, denegándoles el acceso a cualquier página.

Limitaciones del bloqueo de rastreadores

Uso de robots.txt para múltiples propósitos

Es importante recordar que puedes combinar directivas para controlar tanto la velocidad de rastreo como bloquear rastreadores específicos. Un archivo robots.txt bien estructurado puede ser una herramienta poderosa para mejorar el rendimiento y la seguridad de tu sitio web.

Verificación y prueba de robots.txt

Una vez que hayas configurado tu archivo robots.txt, es fundamental asegurarte de que esté funcionando correctamente y que los rastreadores lo respeten. A continuación, exploramos algunas herramientas útiles para probar tu archivo y métodos para verificar su efectividad.

1. Herramientas para probar robots.txt

Existen diversas herramientas que te permiten probar y verificar la configuración de tu archivo robots.txt. A continuación, se describen algunas de las más utilizadas:

Google Search Console

Google Search Console ofrece una herramienta integrada que permite a los webmasters verificar el comportamiento de su archivo robots.txt. Esta herramienta proporciona una interfaz sencilla para verificar si ciertas URL están bloqueadas o permitidas.

Cómo usar la herramienta de prueba de robots.txt en Google Search Console

Otras herramientas online

Además de Google Search Console, hay otras herramientas disponibles que pueden ayudarte a verificar tu archivo robots.txt:

2. Cómo verificar si los rastreadores respetan el archivo

La verificación de que los rastreadores respeten el archivo robots.txt es esencial para garantizar que tu contenido se maneje de acuerdo con tus deseos. Aquí hay algunos métodos para llevar a cabo esta verificación:

Monitorear el tráfico de rastreo

Una de las formas más efectivas de verificar si los rastreadores están siguiendo las reglas de tu archivo robots.txt es monitorear el tráfico de rastreo en tu servidor. Esto se puede hacer a través de los registros de acceso (logs) de tu servidor:

Usar herramientas de auditoría SEO

Herramientas de análisis SEO Ahrefs y SEMrush pueden ofrecer información sobre cómo los rastreadores interactúan con tu sitio. Estas herramientas suelen tener informes que muestran qué páginas han sido rastreadas y si se están siguiendo las directivas de robots.txt.

Validar con comandos de búsqueda

Por último, puedes usar comandos de búsqueda en Google para verificar la indexación de tus páginas. Si encuentras que las páginas que deberían estar bloqueadas están indexadas, es una señal de que el archivo robots.txt no está siendo respetado.