stringtranslate.com

robots.txt

robots.txt es el nombre de archivo utilizado para implementar el Protocolo de exclusión de robots , un estándar utilizado por los sitios web para indicar a los rastreadores web visitantes y otros robots web qué partes del sitio web pueden visitar.

El estándar, desarrollado en 1994, se basa en el cumplimiento voluntario . Los bots maliciosos pueden usar el archivo como un directorio de las páginas que deben visitar, aunque los organismos de normalización desaconsejan contrarrestar esto con seguridad por oscuridad . Algunos sitios de archivo ignoran robots.txt. El estándar se utilizó en la década de 1990 para mitigar la sobrecarga del servidor . En la década de 2020, muchos sitios web comenzaron a rechazar los bots que recopilan información para la inteligencia artificial generativa .

El archivo "robots.txt" se puede utilizar junto con sitemaps , otro estándar de inclusión de robots para sitios web.

Historia

El estándar fue propuesto por Martijn Koster [1] [ 2] cuando trabajaba para Nexor [3] en febrero de 1994 [4] en la lista de correo www-talk , el principal canal de comunicación para actividades relacionadas con la WWW en ese momento. Charles Stross afirma haber provocado a Koster para que sugiriera robots.txt, después de que escribiera un rastreador web con mal comportamiento que inadvertidamente provocó un ataque de denegación de servicio en el servidor de Koster. [5]

El estándar, inicialmente RobotsNotWanted.txt, permitía a los desarrolladores web especificar qué robots no debían acceder a su sitio web o a qué páginas no debían acceder. Internet era lo suficientemente pequeño en 1994 como para mantener una lista completa de todos los robots; la sobrecarga del servidor era una preocupación principal. En junio de 1994 se había convertido en un estándar de facto ; [6] la mayoría lo cumplía, incluidos los operados por motores de búsqueda como WebCrawler , Lycos y AltaVista . [7]

El 1 de julio de 2019, Google anunció la propuesta del Protocolo de Exclusión de Robots como estándar oficial bajo el Grupo de Trabajo de Ingeniería de Internet . [8] Un estándar propuesto [9] se publicó en septiembre de 2022 como RFC 9309.

Estándar

Cuando el propietario de un sitio desea dar instrucciones a los robots web, coloca un archivo de texto llamado robots.txt en la raíz de la jerarquía del sitio web (por ejemplo, https://www.example.com/robots.txt ). Este archivo de texto contiene las instrucciones en un formato específico (consulte los ejemplos a continuación). Los robots que eligen seguir las instrucciones intentan obtener este archivo y leer las instrucciones antes de obtener cualquier otro archivo del sitio web . Si este archivo no existe, los robots web suponen que el propietario del sitio web no desea imponer ninguna limitación al rastreo de todo el sitio.

Un archivo robots.txt contiene instrucciones para los robots que indican a qué páginas web pueden acceder y a cuáles no. Los archivos robots.txt son especialmente importantes para los rastreadores web de motores de búsqueda como Google.

Un archivo robots.txt en un sitio web funcionará como una solicitud para que robots específicos ignoren archivos o directorios específicos al rastrear un sitio. Esto podría deberse, por ejemplo, a una preferencia por la privacidad de los resultados de los motores de búsqueda, o a la creencia de que el contenido de los directorios seleccionados podría ser engañoso o irrelevante para la categorización del sitio en su conjunto, o al deseo de que una aplicación solo funcione con ciertos datos. Los enlaces a páginas incluidas en robots.txt pueden seguir apareciendo en los resultados de búsqueda si están vinculados a una página que se rastrea. [10]

Un archivo robots.txt cubre un origen . En el caso de sitios web con varios subdominios, cada uno de ellos debe tener su propio archivo robots.txt. Si example.com tuviera un archivo robots.txt pero a.example.com no, las reglas que se aplicarían a example.com no se aplicarían a a.example.com . Además, cada protocolo y puerto necesita su propio archivo robots.txt; http://example.com/robots.txt no se aplica a páginas bajo http://example.com:8080/ o https://example.com/ .

Cumplimiento

El protocolo robots.txt es ampliamente respetado por los operadores de bots. [6]

Motores de búsqueda

Algunos de los principales motores de búsqueda que siguen este estándar incluyen Ask, [11] AOL, [12] Baidu, [13] Bing, [14] DuckDuckGo, [15] Google, [16] Yahoo!, [17] y Yandex. [18]

Sitios de archivo

Algunos proyectos de archivado web ignoran robots.txt. Archive Team utiliza el archivo para descubrir más enlaces, como mapas de sitios . [19] El cofundador Jason Scott dijo que "sin marcar y sin tocar, el archivo robots.txt garantiza que no se reflejen ni hagan referencia a elementos que puedan tener un uso y significado general más allá del contexto del sitio web". [20] En 2017, Internet Archive anunció que dejaría de cumplir con las directivas de robots.txt. [21] [6] Según Digital Trends , esto siguió al uso generalizado de robots.txt para eliminar sitios históricos de los resultados de los motores de búsqueda, y contrastó con el objetivo de la organización sin fines de lucro de archivar "instantáneas" de Internet tal como existía anteriormente. [22]

Inteligencia artificial

A partir de la década de 2020, los operadores web comenzaron a usar robots.txt para denegar el acceso a los bots que recopilan datos de entrenamiento para la IA generativa . En 2023, Originality.AI descubrió que 306 de los mil sitios web más visitados bloquearon GPTBot de OpenAI en su archivo robots.txt y 85 bloquearon Google-Extended de Google . Muchos archivos robots.txt nombraron a GPTBot como el único bot explícitamente deshabilitado en todas las páginas. Negar el acceso a GPTBot era común entre sitios web de noticias como la BBC y The New York Times . En 2023, el servidor de blogs Medium anunció que denegaría el acceso a todos los rastreadores web de inteligencia artificial porque "las empresas de IA han extraído valor de los escritores para enviar spam a los lectores de Internet". [6]

GPTBot cumple con el estándar robots.txt y brinda asesoramiento a los operadores web sobre cómo deshabilitarlo, pero David Pierce de The Verge dijo que esto solo comenzó después de "entrenar los modelos subyacentes que lo hicieron tan poderoso". Además, algunos bots se utilizan tanto para motores de búsqueda como para inteligencia artificial, y puede ser imposible bloquear solo una de estas opciones. [6] 404 Media informó que empresas como Anthropic y Perplexity.ai eludieron robots.txt al cambiar el nombre o crear nuevos raspadores para reemplazar los que aparecían en listas de bloqueo populares . [23]

Seguridad

A pesar del uso de los términos "permitir" y "no permitir", el protocolo es puramente consultivo y se basa en el cumplimiento del robot web ; no puede hacer cumplir nada de lo que se indica en el archivo. [24] Es poco probable que los robots web maliciosos respeten robots.txt; algunos incluso pueden usar robots.txt como guía para encontrar enlaces no permitidos e ir directamente a ellos. Si bien a veces se afirma que esto es un riesgo de seguridad, [25] este tipo de seguridad a través de la oscuridad es desaconsejado por los organismos de normalización. El Instituto Nacional de Estándares y Tecnología (NIST) en los Estados Unidos recomienda específicamente contra esta práctica: "La seguridad del sistema no debe depender del secreto de la implementación o sus componentes". [26] En el contexto de los archivos robots.txt, la seguridad a través de la oscuridad no se recomienda como técnica de seguridad. [27]

Alternativas

Muchos robots también pasan un agente de usuario especial al servidor web cuando obtienen contenido. [28] Un administrador web también podría configurar el servidor para que devuelva automáticamente un error (o pase contenido alternativo ) cuando detecte una conexión que utilice uno de los robots. [29] [30]

Algunos sitios, como Google , alojan un humans.txtarchivo que muestra información destinada a ser leída por humanos. [31] Algunos sitios como GitHub redirigen humans.txt a una página Acerca de . [32]

Anteriormente, Google tenía un archivo de broma alojado en el que /killer-robots.txtse le ordenaba a Terminator que no matara a los fundadores de la compañía, Larry Page y Sergey Brin . [33] [34]

Ejemplos

Este ejemplo les dice a todos los robots que pueden visitar todos los archivos porque el comodín *representa a todos los robots y la Disallowdirectiva no tiene valor, lo que significa que no se permiten páginas.

Agente de usuario: *Rechazar:
Agente de usuario: *Permitir: /

Se puede lograr el mismo resultado con un archivo robots.txt vacío o faltante.

Este ejemplo les dice a todos los robots que se mantengan fuera de un sitio web:

Agente de usuario: *No permitir: /

Este ejemplo les dice a todos los robots que no ingresen a tres directorios:

Agente de usuario: *No permitir: /cgi-bin/No permitir: /tmp/No permitir: /basura/

Este ejemplo les dice a todos los robots que se mantengan alejados de un archivo específico:

Agente de usuario: *No permitir: /directorio/archivo.html

Se procesarán todos los demás archivos en el directorio especificado.

Agente de usuario: BadBot # reemplace 'BadBot' con el agente de usuario real del botNo permitir: /

Este ejemplo le dice a dos robots específicos que no ingresen a un directorio específico:

Agente de usuario: BadBot # reemplace 'BadBot' con el agente de usuario real del botAgente de usuario: GooglebotNo permitir: /privado/

Ejemplo que demuestra cómo se pueden utilizar los comentarios:

# Los comentarios aparecen después del símbolo "#" al comienzo de una línea o después de una directiva.Agente de usuario: * # coincide con todos los botsNo permitir: / # mantenerlos fuera

También es posible incluir varios robots con sus propias reglas. La cadena de robots real la define el rastreador. Algunos operadores de robots, como Google , admiten varias cadenas de agente de usuario que permiten al operador denegar el acceso a un subconjunto de sus servicios mediante el uso de cadenas de agente de usuario específicas. [16]

Ejemplo que demuestra múltiples agentes de usuario:

Agente de usuario: googlebot # todos los servicios de GoogleNo permitir: /private/ # no permitir este directorioAgente de usuario: googlebot-news # solo el servicio de noticiasNo permitir: / # no permitir nadaAgente de usuario: * # cualquier robotNo permitir: /algo/ # no permitir este directorio

Extensiones no estándar

Directiva de retraso de rastreo

El valor crawl-delay es compatible con algunos rastreadores para limitar sus visitas al host. Dado que este valor no forma parte del estándar, su interpretación depende de que el rastreador lo lea. Se utiliza cuando la ráfaga múltiple de visitas de los bots está ralentizando el host. Yandex interpreta el valor como la cantidad de segundos que se deben esperar entre visitas posteriores. [18] Bing define crawl-delay como el tamaño de una ventana de tiempo (de 1 a 30 segundos) durante la cual BingBot accederá a un sitio web solo una vez. [35] Google ignora esta directiva, [36] pero proporciona una interfaz en su consola de búsqueda para webmasters, para controlar las visitas posteriores de Googlebot . [37]

Agente de usuario: bingbotPermitir: /Retraso de arrastre: 10

Mapa del sitio

Algunos rastreadores admiten una Sitemapdirectiva que permite varios mapas de sitios en el mismo sitio.robots.txten la forma : [38]Sitemap: full-url

Mapa del sitio: http://www.example.com/sitemap.xml

Coincidencia universal "*"

El estándar de exclusión de robots no menciona el carácter "*" en la Disallow:declaración. [39]

Metaetiquetas y encabezados

Además de los archivos robots.txt de nivel raíz, las directivas de exclusión de robots se pueden aplicar a un nivel más granular mediante el uso de metaetiquetas Robots y encabezados HTTP X-Robots-Tag. La metaetiqueta robots no se puede utilizar para archivos que no sean HTML, como imágenes, archivos de texto o documentos PDF. Por otro lado, la X-Robots-Tag se puede agregar a archivos que no sean HTML mediante el uso de archivos .htaccess y httpd.conf . [40]

Una metaetiqueta "noindex"

< meta  nombre = "robots"  contenido = "noindex"  />

Un encabezado de respuesta HTTP "noindex"

Etiqueta de X-Robots: noindex

La etiqueta X-Robots-Tag solo es efectiva después de que se ha solicitado la página y el servidor responde, y la etiqueta meta robots solo es efectiva después de que se ha cargado la página, mientras que robots.txt es efectiva antes de que se solicite la página. Por lo tanto, si un archivo robots.txt excluye una página, cualquier etiqueta meta robots o encabezados X-Robots-Tag se ignoran de manera efectiva porque el robot no los verá en primer lugar. [40]

Tamaño máximo de un archivo robots.txt

El Protocolo de Exclusión de Robots requiere que los rastreadores analicen al menos 500 kibibytes (512000 bytes) de archivos robots.txt, [41] que Google mantiene como una restricción de tamaño de archivo de 500 kibibytes para los archivos robots.txt. [42]

Véase también

Referencias

  1. ^ "Histórico". Greenhills.co.uk . Archivado desde el original el 2017-04-03 . Consultado el 2017-03-03 .
  2. ^ Fielding, Roy (1994). «Mantenimiento de infoestructuras de hipertexto distribuidas: bienvenido a la Web de MOMspider» (PostScript) . Primera Conferencia Internacional sobre la World Wide Web . Ginebra. Archivado desde el original el 27 de septiembre de 2013. Consultado el 25 de septiembre de 2013 .
  3. ^ "Las páginas de robots web". Robotstxt.org. 30 de junio de 1994. Archivado desde el original el 12 de enero de 2014. Consultado el 29 de diciembre de 2013 .
  4. ^ Koster, Martijn (25 de febrero de 1994). "Importante: arañas, robots y vagabundos de la Web". Lista de correo www-talk . Archivado desde el original ( mensaje archivado de Hypermail ) el 29 de octubre de 2013.
  5. ^ "Cómo llegué hasta aquí, quinta parte: "¡Las cosas sólo pueden mejorar!"". El diario de Charlie . 19 de junio de 2006. Archivado desde el original el 25 de noviembre de 2013. Consultado el 19 de abril de 2014 .
  6. ^ abcde Pierce, David (14 de febrero de 2024). «El archivo de texto que hace funcionar Internet». The Verge . Consultado el 16 de marzo de 2024 .
  7. ^ Barry Schwartz (30 de junio de 2014). «Robots.txt celebra 20 años de bloqueo de motores de búsqueda». Search Engine Land . Archivado desde el original el 7 de septiembre de 2015. Consultado el 19 de noviembre de 2015 .
  8. ^ "Formalización de la especificación del protocolo de exclusión de robots". Blog oficial de Google Webmaster Central . Archivado desde el original el 2019-07-10 . Consultado el 2019-07-10 .
  9. ^ Koster, M.; Illyes, G.; Zeller, H.; Sassman, L. (septiembre de 2022). Protocolo de exclusión de robots. IETF . doi : 10.17487/RFC9309 . RFC 9309. Norma propuesta.
  10. ^ "URL no rastreadas en los resultados de búsqueda". YouTube. 5 de octubre de 2009. Archivado desde el original el 6 de enero de 2014. Consultado el 29 de diciembre de 2013 .
  11. ^ "Acerca de Ask.com: Webmasters". About.ask.com . Archivado desde el original el 27 de enero de 2013. Consultado el 16 de febrero de 2013 .
  12. ^ "Acerca de AOL Search". Search.aol.com . Archivado desde el original el 13 de diciembre de 2012. Consultado el 16 de febrero de 2013 .
  13. ^ "Baiduspider". Baidu.com . Archivado desde el original el 6 de agosto de 2013. Consultado el 16 de febrero de 2013 .
  14. ^ "Protocolo de exclusión de robots: nos unimos para ofrecer una mejor documentación". Blogs.bing.com . Archivado desde el original el 18 de agosto de 2014. Consultado el 16 de febrero de 2013 .
  15. ^ "Bot DuckDuckGo". DuckDuckGo.com . Archivado desde el original el 16 de febrero de 2017. Consultado el 25 de abril de 2017 .
  16. ^ ab "Webmasters: Especificaciones de Robots.txt". Google Developers . Archivado desde el original el 15 de enero de 2013. Consultado el 16 de febrero de 2013 .
  17. ^ "Envío de su sitio web a Yahoo! Search". Archivado desde el original el 21 de enero de 2013. Consultado el 16 de febrero de 2013 .
  18. ^ ab "Uso de robots.txt". Help.yandex.com . Archivado desde el original el 25 de enero de 2013 . Consultado el 16 de febrero de 2013 .
  19. ^ "ArchiveBot: Mal comportamiento". wiki.archiveteam.org . Equipo de Archivo. Archivado desde el original el 10 de octubre de 2022 . Consultado el 10 de octubre de 2022 .
  20. ^ Jason Scott . «Robots.txt es una nota de suicidio». Equipo de Archivo. Archivado desde el original el 18 de febrero de 2017. Consultado el 18 de febrero de 2017 .
  21. ^ "Los robots.txt destinados a los motores de búsqueda no funcionan bien en los archivos web | Blogs de Internet Archive". blog.archive.org . 17 de abril de 2017. Archivado desde el original el 2018-12-04 . Consultado el 2018-12-01 .
  22. ^ Jones, Brad (24 de abril de 2017). «Internet Archive ignorará los archivos Robots.txt para mantener la precisión». Digital Trends . Archivado desde el original el 16 de mayo de 2017. Consultado el 8 de mayo de 2017 .
  23. ^ Koebler, Jason (29 de julio de 2024). "Los sitios web están bloqueando los scrapers de IA incorrectos (porque las empresas de IA siguen creando otros nuevos)". 404 Media . Consultado el 29 de julio de 2024 .
  24. ^ "Bloquear URL con robots.txt: aprenda sobre los archivos robots.txt". Archivado desde el original el 14 de agosto de 2015. Consultado el 10 de agosto de 2015 .
  25. ^ "Robots.txt le dice a los hackers los lugares donde no quieres que busquen". The Register . Archivado desde el original el 21 de agosto de 2015. Consultado el 12 de agosto de 2015 .
  26. ^ Scarfone, KA; Jansen, W.; Tracy, M. (julio de 2008). "Guía para la seguridad general de servidores" (PDF) . Instituto Nacional de Normas y Tecnología . doi :10.6028/NIST.SP.800-123. Archivado (PDF) desde el original el 8 de octubre de 2011 . Consultado el 12 de agosto de 2015 .
  27. ^ Sverre H. Huseby (2004). Código inocente: una llamada de atención sobre seguridad para programadores web. John Wiley & Sons. págs. 91–92. ISBN 9780470857472Archivado desde el original el 1 de abril de 2016. Consultado el 12 de agosto de 2015 .
  28. ^ "Lista de agentes de usuario (arañas, robots, navegadores)". User-agents.org. Archivado desde el original el 7 de enero de 2014. Consultado el 29 de diciembre de 2013 .
  29. ^ "Control de acceso - Servidor HTTP Apache". Httpd.apache.org. Archivado desde el original el 29 de diciembre de 2013. Consultado el 29 de diciembre de 2013 .
  30. ^ "Cadenas de denegación para reglas de filtrado: el sitio oficial de Microsoft IIS". Iis.net. 6 de noviembre de 2013. Archivado desde el original el 1 de enero de 2014. Consultado el 29 de diciembre de 2013 .
  31. ^ "Google humans.txt". Archivado desde el original el 24 de enero de 2017. Consultado el 3 de octubre de 2019 .
  32. ^ "Github humans.txt". GitHub . Archivado desde el original el 30 de mayo de 2016 . Consultado el 3 de octubre de 2019 .
  33. ^ Newman, Lily Hay (3 de julio de 2014). "¿Es esto un huevo de Pascua de Google o una prueba de que Skynet está realmente planeando dominar el mundo?". Revista Slate . Archivado desde el original el 18 de noviembre de 2018. Consultado el 3 de octubre de 2019 .
  34. ^ "/killer-robots.txt". 10 de enero de 2018. Archivado desde el original el 10 de enero de 2018. Consultado el 25 de mayo de 2018 .
  35. ^ "Arrastrarse o no arrastrarse, esa es la cuestión de BingBot". 3 de mayo de 2012. Archivado desde el original el 3 de febrero de 2016. Consultado el 9 de febrero de 2016 .
  36. ^ "Cómo interpreta Google la especificación robots.txt". Google Search Central . 2024-05-23 . Consultado el 2024-10-06 .
  37. ^ "Cambiar la frecuencia de rastreo de Googlebot - Ayuda de Search Console". support.google.com . Archivado desde el original el 2018-11-18 . Consultado el 22 de octubre de 2018 .
  38. ^ "Blog de Yahoo! Search: los webmasters ahora pueden realizar búsquedas automáticas con Sitemaps". Archivado desde el original el 5 de marzo de 2009. Consultado el 23 de marzo de 2009 .
  39. ^ "Especificaciones de Robots.txt". Google Developers . Archivado desde el original el 2 de noviembre de 2019. Consultado el 15 de febrero de 2020 .
  40. ^ ab "Especificaciones de la etiqueta meta Robots y del encabezado HTTP X-Robots-Tag - Webmasters — Google Developers". Archivado desde el original el 8 de agosto de 2013. Consultado el 17 de agosto de 2013 .
  41. ^ Koster, M.; Illyes, G.; Zeller, H.; Sassman, L. (septiembre de 2022). Protocolo de exclusión de robots. IETF . doi : 10.17487/RFC9309 . RFC 9309. Norma propuesta. Sec. 2.5: Límites.
  42. ^ "Cómo interpreta Google la especificación robots.txt | Documentación". Google Developers . Archivado desde el original el 2022-10-17 . Consultado el 2022-10-17 .

Lectura adicional

Enlaces externos