Robots.txt acaba de cumplir 30 años: ¡el inicio de la crisis existencial! Al igual que muchos que alcanzan el gran 3-0, nos preguntamos si sigue siendo relevante en el mundo actual de la IA y los algoritmos de búsqueda avanzada.
Alerta de spoiler: ¡Definitivamente lo es!
Echemos un vistazo a cómo este archivo sigue desempeñando un papel clave en la gestión de cómo los motores de búsqueda rastrean su sitio, cómo aprovecharlo correctamente y los errores comunes que se deben evitar.
¿Qué es un archivo Robots.txt?
Un archivo robots.txt proporciona a los rastreadores como Googlebot y Bingbot pautas para rastrear su sitio. Al igual que un mapa o directorio en la entrada de un museo, actúa como un conjunto de instrucciones en la entrada del sitio web, que incluye detalles sobre:
- ¿Qué rastreadores pueden o no pueden ingresar?
- Cualquier área (página) restringida que no deba rastrearse.
- Páginas prioritarias para rastrear: a través de la declaración del mapa del sitio XML.
Su función principal es gestionar el acceso del rastreador a determinadas áreas de un sitio web especificando qué partes del sitio están “prohibidas”. Esto ayuda a garantizar que los rastreadores se centren en el contenido más relevante en lugar de desperdiciar el presupuesto de rastreo en contenido de bajo valor.
Si bien un archivo robots.txt guía a los rastreadores, es importante tener en cuenta que no todos los bots siguen sus instrucciones, especialmente los maliciosos. Pero para la mayoría de los motores de búsqueda legítimos, cumplir con las directivas del archivo robots.txt es una práctica estándar.
¿Qué se incluye en un archivo Robots.txt?
Los archivos Robots.txt constan de líneas de directivas para rastreadores de motores de búsqueda y otros robots.
Las líneas válidas en un archivo robots.txt constan de un campo, dos puntos y un valor.
Los archivos Robots.txt también suelen incluir líneas en blanco para mejorar la legibilidad y comentarios para ayudar a los propietarios de sitios web a realizar un seguimiento de las directivas.
Para comprender mejor lo que normalmente se incluye en un archivo robots.txt y cómo lo aprovechan los diferentes sitios, analicé los archivos robots.txt de 60 dominios con una alta proporción de voz en salud, servicios financieros, comercio minorista y alto nivel de participación. tecnología.
Excluyendo comentarios y líneas en blanco, el número promedio de líneas en 60 archivos robots.txt fue 152.
Los grandes editores y agregadores, como hoteles.com, forbes.com y nytimes.com, normalmente tenían archivos más largos, mientras que los hospitales como pennmedicine.org y hopkinsmedicine.com normalmente tenían archivos más cortos. Los archivos robots.txt de los sitios minoristas suelen estar cerca del promedio de 152.
Todos los sitios analizados incluyen los campos user-agent
y disallow
dentro de sus archivos robots.txt, y el 77% de los sitios incluyeron una declaración de mapa del sitio con el campo sitemap
.
Los campos apalancados con menos frecuencia fueron allow
(utilizado por el 60% de los sitios) y crawl-delay
(utilizado por el 20%) de los sitios.
Campo | % de sitios que aprovechan |
user-agent | 100% |
disallow | 100% |
sitemap | 77% |
allow | 60% |
crawl-delay | 20% |
Sintaxis de robots.txt
Ahora que hemos cubierto qué tipos de campos se incluyen normalmente en un archivo robots.txt, podemos profundizar en lo que significa cada uno y cómo usarlo.
Para obtener más información sobre la sintaxis de robots.txt y cómo la interpreta Google, consulte la documentación de robots.txt de Google.
Agente de usuario
El campo de agente de usuario especifica qué rastreador ejecuta las directivas (disallow
, allow
) aplicar a. Puedes usar el user-agent
para crear reglas que se apliquen a bots/rastreadores específicos o utilice un comodín para indicar reglas que se apliquen a todos los rastreadores.
Por ejemplo, la siguiente sintaxis indica que cualquiera de las siguientes directivas solo se aplica al robot de Google.
user-agent: Googlebot
Si desea crear reglas que se apliquen a todos los rastreadores, puede utilizar un comodín en lugar de nombrar un rastreador específico.
user-agent: *
Puede incluir varios campos de agente de usuario dentro de su archivo robots.txt para proporcionar reglas específicas para diferentes rastreadores o grupos de rastreadores, por ejemplo:
user-agent: *
#Rules here would apply to all crawlers
user-agent: Googlebot
#Rules here would only apply to Googlebot
user-agent: otherbot1
user-agent: otherbot2
user-agent: otherbot3
#Rules here would apply to otherbot1, otherbot2, and otherbot3
No permitir y permitir
El campo no permitir especifica rutas a las que los rastreadores designados no deben acceder. El campo permitir especifica las rutas a las que pueden acceder los rastreadores designados.
Debido a que Googlebot y otros rastreadores asumirán que pueden acceder a cualquier URL que no esté específicamente prohibida, muchos sitios lo mantienen simple y solo especifican a qué rutas no se debe acceder usando el disallow
campo.
Por ejemplo, la siguiente sintaxis indicaría a todos los rastreadores que no accedan a las URL que coincidan con la ruta /do-not-enter.
user-agent: *
disallow: /do-not-enter
#All crawlers are blocked from crawling pages with the path /do-not-enter
Si estás usando ambos allow
y disallow
campos dentro de su robots.txt, asegúrese de leer la sección sobre orden de precedencia de las reglas en la documentación de Google.
Generalmente, en el caso de reglas contradictorias, Google utilizará la regla más específica.
Por ejemplo, en el siguiente caso, Google no rastreará páginas con la ruta/no ingresar porque la regla de no permitir es más específica que la regla de permitir.
user-agent: *
allow: /
disallow: /do-not-enter
Si ninguna de las reglas es más específica, Google utilizará de forma predeterminada la regla menos restrictiva.
En el siguiente ejemplo, Google rastrearía páginas con la ruta/no ingresar porque la regla de permitir es menos restrictiva que la regla de no permitir.
user-agent: *
allow: /do-not-enter
disallow: /do-not-enter
Tenga en cuenta que si no hay ninguna ruta especificada para el allow
o disallow
campos, la regla será ignorada.
user-agent: *
disallow:
Esto es muy diferente a incluir solo una barra diagonal (/) como valor para el disallow
campo, que coincidiría con el dominio raíz y cualquier URL de nivel inferior (traducción: cada página de su sitio).
Si desea que su sitio aparezca en los resultados de búsqueda, asegúrese de no tener el siguiente código. Bloqueará que todos los motores de búsqueda rastreen todas las páginas de su sitio.
user-agent: *
disallow: /
Esto puede parecer obvio, pero créanme, lo he visto suceder.
Rutas URL
Las rutas URL son la parte de la URL después del protocolo, subdominio y dominio que comienza con una barra diagonal (/). Para la URL de ejemplo https://www.example.com/guides/technical/robots-txt, la ruta sería /guides/technical/robots-txt.
Las rutas URL distinguen entre mayúsculas y minúsculas, así que asegúrese de verificar que el uso de mayúsculas y minúsculas en el archivo robot.txt se alinee con la ruta URL deseada.
Personajes especiales
Google, Bing y otros motores de búsqueda importantes también admiten una cantidad limitada de caracteres especiales para ayudar a encontrar rutas URL.
Un carácter especial es un símbolo que tiene una función o significado único en lugar de simplemente representar una letra o un número normal. Los caracteres especiales admitidos por Google en robots.txt son:
- Asterisco
– coincide con 0 o más instancias de cualquier carácter.
Signo de dólar ($): designa el final de la URL.
- Para ilustrar cómo funcionan estos caracteres especiales, supongamos que tenemos un sitio pequeño con las siguientes URL:
https://www.ejemplo.com/
https://www.ejemplo.com/buscar
https://www.example.com/guides
https://www.example.com/guides/technical
https://www.example.com/guides/technical/robots-txt
https://www.example.com/guides/technical/robots-txt.pdf
https://www.example.com/guides/technical/xml-sitemaps
https://www.example.com/guides/technical/xml-sitemaps.pdf
https://www.example.com/guides/content
https://www.example.com/guides/content/on-page-optimization
https://www.example.com/guides/content/on-page-optimization.pdf
Escenario de ejemplo 1: bloquear resultados de búsqueda en el sitio
Un uso común de robots.txt es bloquear los resultados de búsqueda internos del sitio, ya que estas páginas normalmente no son valiosas para los resultados de búsqueda orgánicos.
Para este ejemplo, supongamos que cuando los usuarios realizan una búsqueda en https://www.example.com/search, su consulta se adjunta a la URL.
Si un usuario buscara “guía de mapa de sitio xml”, la nueva URL para la página de resultados de búsqueda sería https://www.example.com/search?search-query=xml-sitemap-guide.
Cuando especifica una ruta URL en robots.txt, hace coincidir cualquier URL con esa ruta, no solo la URL exacta. Por lo tanto, para bloquear las dos URL anteriores, no es necesario utilizar un comodín.
user-agent: *
disallow: /search
#All crawlers are blocked from crawling pages with the path /search
La siguiente regla coincidiría tanto con https://www.example.com/search como con https://www.example.com/search?search-query=xml-sitemap-guide.
user-agent: *
disallow: /search*
#All crawlers are blocked from crawling pages with the path /search
Si un comodín
Si se añadieran, los resultados serían los mismos.
Escenario de ejemplo 2: bloquear archivos PDF
En algunos casos, es posible que desee utilizar el archivo robots.txt para bloquear tipos específicos de archivos.
user-agent: *
disallow: /guides/*.pdf
#All crawlers are blocked from crawling pages with URL paths that contain: /guides/, 0 or more instances of any character, and .pdf
Imagine que el sitio decidiera crear versiones en PDF de cada guía para que a los usuarios les resultara más fácil imprimirlas. El resultado son dos URL con exactamente el mismo contenido, por lo que es posible que el propietario del sitio desee impedir que los motores de búsqueda rastreen las versiones PDF de cada guía.
- En este caso, usando un comodín
- Sería útil hacer coincidir las URL donde la ruta comienza con /guides/ y termina con .pdf, pero los caracteres intermedios varían.
La directiva anterior impediría que los motores de búsqueda rastrearan las siguientes URL:
https://www.example.com/guides/technical/robots-txt.pdf
https://www.example.com/guides/technical/xml-sitemaps.pdf
https://www.example.com/guides/content/on-page-optimization.pdf
Escenario de ejemplo 3: bloquear páginas de categorías
Para el último ejemplo, supongamos que el sitio creó páginas de categorías para guías técnicas y de contenido para facilitar a los usuarios la búsqueda de contenido en el futuro.
user-agent: *
disallow: /guides/technical$
disallow: /guides/content$
#All crawlers are blocked from crawling pages with URL paths that end with /guides/technical and /guides/content
Sin embargo, dado que el sitio solo tiene tres guías publicadas en este momento, estas páginas no brindan mucho valor a los usuarios ni a los motores de búsqueda.
- Es posible que el propietario del sitio desee evitar temporalmente que los motores de búsqueda rastreen únicamente la página de la categoría (p. ej., https://www.example.com/guides/technical), no las guías dentro de la categoría (p. ej., https://www.example .com/guides/technical/robots-txt).
- Para lograr esto, podemos aprovechar “$” para designar el final de la ruta URL.
La sintaxis anterior impediría que se rastrearan las siguientes URL:
https://www.example.com/guides/technical
- https://www.example.com/guides/content
Mientras permite que los motores de búsqueda rastreen:
https://www.example.com/guides/technical/robots-txt
https://www.example.com/guides/content/on-page-optimization
Mapa del sitio El valor de la El campo debe ser una URL absoluta (p. ej., https://www.example.com/sitemap.xml), no una URL relativa (p. ej., /sitemap.xml). Si tiene varios mapas de sitio XML, puede incluir varios Ejemplo de robots.txt con un único mapa de sitio XML: Retraso de rastreo Como se mencionó anteriormente, el 20% de los sitios también incluyen el El campo de retraso de rastreo indica a los robots qué tan rápido pueden rastrear el sitio y generalmente se usa para ralentizar el rastreo y evitar sobrecargar los servidores. es la cantidad de segundos que los rastreadores deben esperar para solicitar una nueva página. La siguiente regla le indicaría al rastreador especificado que espere cinco segundos después de cada solicitud antes de solicitar otra URL.
Motor de búsqueda Agente de usuario principal para la búsqueda
Google robot de Google
Bing Bingbot
yahoo Sorber
yandex YandexBot
Baidu Baiduspider
No
sitemap
El campo de mapa del sitio se utiliza para proporcionar a los motores de búsqueda un enlace a uno o más mapas de sitio XML. sitemap
Si bien no es obligatorio, se recomienda incluir mapas de sitio XML en el archivo robots.txt para proporcionar a los motores de búsqueda una lista de URL prioritarias para rastrear.user-agent: *
disallow: /do-not-enter
sitemap: https://www.example.com/sitemap.xml
user-agent: *
disallow: /do-not-enter
sitemap: https://www.example.com/sitemap-1.xml
sitemap: https://www.example.com/sitemap-2.xml
sitemap: https://www.example.com/sitemap-3.xml
campos.
crawl-delay
Ejemplo de robots.txt con varios mapas de sitio XML:crawl-delay
campo dentro de su archivo robots.txt.user-agent: FastCrawlingBot
crawl-delay: 5
crawl-delay
El valor paracrawl-delay
Google ha declarado que no apoya lacampo, y será ignorado.Otros motores de búsqueda importantes como Bing y Yahoo respetan
directivas para sus rastreadores web.
¿Respeta el retraso del rastreo?
No
Sí
Sí
Sí
crawl-delay
crawl-delay
Los sitios más comúnmente incluyendirectivas para todos los agentes de usuario (usando user-agent: *), los rastreadores de motores de búsqueda mencionados anteriormente que respetan, y rastreadores…
Con información de Search Engine Journal.
Leer la nota Completa > La guía moderna de robots.txt