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.
- Sintaxis:
User-agent: [nombre-del-bot] - Ejemplo (para todos los bots):
User-agent: *
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.
- Sintaxis:
Disallow: [ruta] - Ejemplo (para bloquear la carpeta /admin/):
Disallow: /admin/ - Ejemplo (para bloquear todo el sitio):
Disallow: /
Allow
La directiva Allow permite que ciertas páginas o directorios dentro de áreas bloqueadas puedan ser rastreadas.
- Sintaxis:
Allow: [ruta] - Ejemplo (para permitir una página dentro de una carpeta bloqueada):
Allow: /private/acceso-publico.html
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.txten el directorio raíz. Por ejemplo, buscaríawww.ejemplo.com/robots.txt. - Lectura del archivo: El bot lee las directivas especificadas en el archivo, como
DisallowyAllow, 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.txtde 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.txtpara 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.txtpara 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:
Esto bloquearía el acceso de los bots a la carpetaUser-agent: *
Disallow: /admin//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.txtsolo 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
Disallowsolo 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:
Si bloqueas las carpetasUser-agent: *
Disallow: /css/
Disallow: /js//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:
Al incluir esta línea en tu archivoUser-agent: *
Sitemap: https://www.ejemplo.com/sitemap.xmlrobots.txt, indicas a los bots dónde está tuSitemappara que puedan rastrear todas las páginas importantes de tu sitio. - Por qué es importante: Un archivo
Sitemapbien 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.txtregularmente 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:
Esta configuración bloquea todo el contenido del sitio web para todos los rastreadores (User-agent: *
Disallow: /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.txtantes 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:
Esta directiva indica a los rastreadores que no deben acceder a la carpetaDisallow: /carpeta-privada/carpeta-privadadel 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:
Esta configuración no es válida, ya que el archivoDisallow: https://www.ejemplo.com/carpeta-privada/robots.txtno 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?
- Reducir la carga del servidor: Los motores de búsqueda, especialmente cuando realizan un rastreo intensivo, pueden sobrecargar el servidor, haciendo que el sitio sea lento o inestable. Usar
crawl-delayayuda a espaciar las solicitudes. - Mejorar la experiencia del usuario: Al evitar que los bots ralenticen el servidor, los usuarios que navegan por el sitio experimentan tiempos de carga más rápidos.
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
- El parámetro
crawl-delayno es soportado por todos los rastreadores. Googlebot, por ejemplo, no respeta esta directiva, pero Bingbot y algunos otros rastreadores sí lo hacen. - Google gestiona la velocidad de rastreo a través de su consola para webmasters (Google Search Console), donde puedes ajustar manualmente la frecuencia de rastreo.
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
- Rastreadores maliciosos pueden ignorar
robots.txt: Ten en cuenta que algunos rastreadores maliciosos o poco éticos pueden ignorar las reglas derobots.txty seguir accediendo a tu contenido. Para proteger tu sitio en estos casos, considera implementar medidas de seguridad adicionales, como reglas en el firewall. - No bloquees rastreadores importantes: Ten cuidado de no bloquear rastreadores de motores de búsqueda legítimos como Googlebot o Bingbot, ya que podrías afectar la visibilidad de tu sitio en los resultados de búsqueda.
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
- Accede a Google Search Console y selecciona tu propiedad web.
- En el menú de la izquierda, haz clic en "Rastreo" y luego en "robots.txt Tester".
- Introduce la URL que deseas verificar en el campo correspondiente y haz clic en "Probar".
- La herramienta mostrará si la URL está permitida o bloqueada según las reglas de tu archivo
robots.txt.
Otras herramientas online
Además de Google Search Console, hay otras herramientas disponibles que pueden ayudarte a verificar tu archivo robots.txt:
- SEO Site Checkup: Esta herramienta online permite verificar el estado de tu archivo
robots.txt, mostrando si hay errores y sugiriendo mejoras. - Robots.txt Checker: Un verificador sencillo que te permite introducir la URL de tu sitio para ver si hay problemas con las directivas.
- SEMrush: Una herramienta más avanzada que permite auditar tu sitio web y verificar la configuración de tu archivo
robots.txtdentro de un análisis más amplio del SEO.
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:
- Revisa los archivos de registro de tu servidor para ver qué bots están accediendo a tu sitio y a qué páginas.
- Busca entradas de rastreadores que intenten acceder a las URL que has bloqueado en tu archivo
robots.txt. - Si notas que un rastreador está intentando acceder a páginas bloqueadas, es posible que no esté respetando tu archivo
robots.txt.
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.
- Usa el comando
site:tusitio.comen Google para ver qué páginas están indexadas. - Compara los resultados con las reglas de tu archivo
robots.txt.