El estándar de exclusión de robots , también conocido como protocolo de exclusión de robots o simplemente robots.txt , es un estándar utilizado por los sitios web para comunicarse con rastreadores web y otros robots web . El estándar especifica cómo informar al robot web sobre qué áreas del sitio web no deben procesarse o escanearse. Los motores de búsqueda suelen utilizar robots para clasificar sitios web. No todos los robots cooperan con el estándar; recolectores de correo electrónico , spambots , malwarey los robots que escanean en busca de vulnerabilidades de seguridad pueden incluso comenzar con las partes del sitio web donde se les ha dicho que se mantengan al margen. El estándar se puede utilizar junto con Sitemaps , un 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 las actividades relacionadas con la WWW en ese momento. Charles Stross afirma haber provocado que Koster sugiriera un archivo robots.txt, después de que escribiera un rastreador web que se comportaba mal y que inadvertidamente provocó un ataque de denegación de servicio en el servidor de Koster. [5]
Rápidamente se convirtió en un estándar de facto que se esperaba que siguieran los rastreadores web presentes y futuros; la mayoría cumplió, incluidos los operados por motores de búsqueda como WebCrawler , Lycos y AltaVista . [6]
El 1 de julio de 2019, Google anunció la propuesta del Protocolo de exclusión de robots como estándar oficial del Grupo de trabajo de ingeniería de Internet . [7] El borrador [8] ahora se someterá a un proceso de aceptación.
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 (p. Ej. https://www.example.com/robots.txt ). Este archivo de texto contiene las instrucciones en un formato específico (vea los ejemplos a continuación). Los robots que eligen seguir las instrucciones intentan recuperar este archivo y leer las instrucciones antes de recuperar 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 en un sitio web funcionará como una solicitud para que robots específicos ignoren archivos o directorios específicos al rastrear un sitio. Esto puede deberse, por ejemplo, a una preferencia por la privacidad de los resultados del motor de búsqueda, o la creencia de que el contenido de los directorios seleccionados puede ser engañoso o irrelevante para la categorización del sitio en su conjunto, o por el deseo de que un La aplicación solo funciona con ciertos datos. Los enlaces a las páginas enumeradas en robots.txt pueden seguir apareciendo en los resultados de búsqueda si están enlazados desde una página rastreada. [9]
Un archivo robots.txt cubre un origen . Para sitios web con varios subdominios, cada subdominio debe tener su propio archivo robots.txt. Si example.com tenía un archivo robots.txt pero a.example.com no lo hizo, las reglas que se aplicarían para example.com no se aplicaría 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 las páginas bajo http://example.com:8080/ o https://example.com/ .
Algunos de los principales motores de búsqueda que siguen este estándar incluyen Ask, [10] AOL, [11] Baidu, [12] DuckDuckGo, [13] Google, [14] Yahoo !, [15] y Yandex. [16] Bing [17] sigue siendo [ ¿cuándo? ] no es totalmente compatible con el estándar ya que no puede heredar la configuración del comodín ( *
). [18]
El equipo de archivo del grupo de voluntarios ignora explícitamente el archivo robots.txt en su mayor parte, considerándolo un estándar obsoleto que obstaculiza los esfuerzos de archivo web. Según el líder del proyecto, Jason Scott, "si no se controla y se deja solo, el archivo robots.txt garantiza que no se refleje ni se haga referencia a elementos que puedan tener un uso general y un significado más allá del contexto del sitio web". [19]
Durante algunos años, Internet Archive no rastreó sitios con robots.txt, pero en abril de 2017 anunció que dejaría de respetar las directivas de los archivos robots.txt. [20] "Con el tiempo, hemos observado que los archivos robots.txt que están dirigidos a los rastreadores de los motores de búsqueda no necesariamente sirven para nuestros fines de archivo". [21] Esto fue en respuesta a dominios completos etiquetados con robots.txt cuando el contenido se volvió obsoleto. [21]
Seguridad
A pesar del uso de los términos "permitir" y "rechazar", el protocolo es puramente consultivo y se basa en la conformidad del robot web . [22] Es poco probable que los robots web maliciosos respeten el archivo robots.txt; algunos incluso pueden usar el archivo 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, [23] los organismos de normalización desaconsejan este tipo de seguridad a través de la oscuridad . El Instituto Nacional de Estándares y Tecnología (NIST) de 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". [24] En el contexto de los archivos robots.txt, la seguridad a través de la oscuridad no se recomienda como técnica de seguridad. [25]
Alternativas
Muchos robots también pasan un agente de usuario especial al servidor web cuando obtienen contenido. [26] Un administrador web también podría configurar el servidor para que devuelva automáticamente la falla (o pase contenido alternativo ) cuando detecte una conexión usando uno de los robots. [27] [28]
Algunos sitios, como Google , alojan un humans.txt
archivo que muestra información destinada a que los humanos la lean. [29] Algunos sitios como GitHub redireccionan Human.txt a una página de información. [30]
Anteriormente, Google tenía un archivo de broma alojado para /killer-robots.txt
instruir a Terminator que no matara a los fundadores de la compañía, Larry Page y Sergey Brin . [31] [32]
Ejemplos de
Este ejemplo le dice a todos los robots que pueden visitar todos los archivos porque el comodín *
significa todos los robots y la Disallow
directiva no tiene valor, lo que significa que no se rechazan las páginas.
Agente de usuario: *Permitir: /
El mismo resultado se puede lograr con un archivo robots.txt vacío o faltante.
Este ejemplo le dice a todos los robots que se mantengan fuera de un sitio web:
Agente de usuario: *No permitir: /
Este ejemplo le 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 le dice a todos los robots que se mantengan alejados de un archivo específico:
Agente de usuario: *No permitir: /directory/file.html
Se procesarán todos los demás archivos del directorio especificado.
Este ejemplo le dice a un robot específico que se mantenga fuera de un sitio web:
Usuario-agente: BadBot # reemplace 'BadBot' con el usuario-agente real del botNo permitir: /
Este ejemplo le dice a dos robots específicos que no ingresen a un directorio específico:
Usuario-agente: BadBot # reemplace 'BadBot' con el usuario-agente real del botUsuario-agente: 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 directivaUsuario-agente: * # coincide con todos los botsNo permitir: / # mantenerlos fuera
También es posible enumerar varios robots con sus propias reglas. La cadena de robot 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 cadenas de agente de usuario específicas. [14]
Ejemplo que demuestra múltiples agentes de usuario:
User-agent: googlebot # todos los servicios de GoogleNo permitir: / private / # no permitir este directorioUser-agent: googlebot-news # solo el servicio de noticiasNo permitir: / # no permitir todoUsuario-agente: * # cualquier robotNo permitir: / algo / # no permitir este directorio
Extensiones no estándar
Directiva de retraso de rastreo
Algunos rastreadores admiten el valor de retraso de rastreo para acelerar sus visitas al host. Dado que este valor no es 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 bots ralentiza al host. Yandex interpreta el valor como la cantidad de segundos de espera entre visitas posteriores. [16] 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. [33] Google proporciona una interfaz en su consola de búsqueda para webmasters, para controlar las visitas posteriores del robot de Google . [34]
Usuario-agente: bingbotPermitir : /Retraso de rastreo: 10
Permitir directiva
Algunos rastreadores importantes admiten una Allow
directiva, que puede contrarrestar una Disallow
directiva siguiente . [35] [36] Esto es útil cuando uno le dice a los robots que eviten un directorio completo pero aún quiere que algunos documentos HTML en ese directorio sean rastreados e indexados. Mientras que por la implementación estándar siempre gana el primer patrón de robots.txt coincidente, la implementación de Google difiere en que los patrones de Permitir con igual o más caracteres en la ruta de la directiva ganan sobre un patrón de No Permitir coincidente. [37] Bing usa la directiva Allow
o Disallow
, la que sea más específica, basada en la longitud, como Google. [17]
Para ser compatible con todos los robots, si uno quiere permitir archivos individuales dentro de un directorio que de otro modo no estaría permitido, es necesario colocar primero las directivas Allow, seguidas de Disallow, por ejemplo:
Permitir: /directory1/myfile.htmlNo permitir: / directorio1 /
Este ejemplo no permitirá nada en / directory1 / excepto /directory1/myfile.html, ya que este último coincidirá primero. El orden solo es importante para los robots que siguen el estándar; en el caso de los bots de Google o Bing, el orden no es importante.
Mapa del sitio
Algunos rastreadores admiten una Sitemap
directiva que permite varios sitemaps en el mismorobots.txten la forma : [38]Sitemap: full-url
Mapa del sitio: http://www.example.com/sitemap.xml
Anfitrión
Algunos rastreadores ( Yandex ) admiten una Host
directiva que permite que los sitios web con múltiples espejos especifiquen su dominio preferido: [39]
Anfitrión: hosting.example.com
Esto no es compatible con todos los rastreadores.
Coincidencia universal "*"
El estándar de exclusión de robots no menciona el carácter "*" en la Disallow:
declaración. [40]
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 etiqueta X-Robots-Tag se puede agregar a archivos que no son HTML usando archivos .htaccess y httpd.conf . [41]
- Una metaetiqueta "noindex"
< meta name = "robots" content = "noindex" />
- Un encabezado de respuesta HTTP "noindex"
Etiqueta de X-Robots: noindex
El X-Robots-Tag solo es efectivo después de que la página ha sido solicitada y el servidor responde, y el metaetiqueta robots solo es efectivo después de que la página se ha cargado, mientras que robots.txt es efectivo antes de que se solicite la página. Por lo tanto, si una página es excluida por un archivo robots.txt, las metaetiquetas de robots o los encabezados de X-Robots-Tag se ignoran de manera efectiva porque el robot no las verá en primer lugar. [41]
Ver también
ads.txt
, un estándar para enumerar los vendedores de anuncios autorizadossecurity.txt
, un archivo que describe el proceso que deben seguir los investigadores de seguridad para informar las vulnerabilidades de seguridad- Protocolo de acceso a contenido automatizado : una propuesta fallida para extender robots.txt
- BotSeer : ahora motor de búsqueda inactivo para archivos robots.txt
- Rastreo web distribuido
- Rastreador enfocado
- Archivo de Internet
- Programa Nacional de Bibliotecas Digitales (NDLP)
- Programa Nacional de Preservación e Infraestructura de Información Digital (NDIIPP)
- No seguir
- Perma.cc
- Meta elementos para motores de búsqueda
- Mapas del sitio
- Trampa de arañas
- Archivo web
- Rastreador web
- noindex
Referencias
- ^ "Histórico" . Greenhills.co.uk . Archivado desde el original el 3 de abril de 2017 . Consultado el 3 de marzo de 2017 .
- ^ Fielding, Roy (1994). "Mantenimiento de infraestructuras 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 .
- ^ "Las páginas de Web Robots" . Robotstxt.org. 1994-06-30. Archivado desde el original el 12 de enero de 2014 . Consultado el 29 de diciembre de 2013 .
- ^ Koster, Martijn (25 de febrero de 1994). "Importante: Arañas, Robots y Web Wanderers" . lista de correo de www-talk . Archivado desde el original ( mensaje archivado de Hypermail ) el 29 de octubre de 2013.
- ^ "Cómo llegué aquí al final, quinta parte:" ¡las cosas solo pueden mejorar! " " . 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 .
- ^ 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 .
- ^ "Formalización de la especificación del protocolo de exclusión de robots" . Blog oficial del Centro para webmasters de Google . Consultado el 10 de julio de 2019 .
- ^ M. Koster, Stalworthy Computing, Ltd., G. Illyes, H. Zeller, L. Harvey, Google (1 de julio de 2019). "Protocolo de exclusión de robots draft-rep-wg-topic-00" . Documentos IETF . Consultado el 9 de septiembre de 2019 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ "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 .
- ^ "Acerca de Ask.com: Webmasters" . About.ask.com . Consultado el 16 de febrero de 2013 .
- ^ "Acerca de AOL Search" . Search.aol.com . Consultado el 16 de febrero de 2013 .
- ^ "Baiduspider" . Baidu.com . Consultado el 16 de febrero de 2013 .
- ^ "DuckDuckGo Bot" . DuckDuckGo.com . Consultado el 25 de abril de 2017 .
- ^ a b "Webmasters: Especificaciones de Robots.txt" . Desarrolladores de Google . Archivado desde el original el 15 de enero de 2013 . Consultado el 16 de febrero de 2013 .
- ^ "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 .
- ^ a b "Utilizando robots.txt" . Help.yandex.com . Archivado desde el original el 25 de enero de 2013 . Consultado el 16 de febrero de 2013 .
- ^ a b "Protocolo de exclusión de robots: unirse para proporcionar una mejor documentación" . Blogs.bing.com . Archivado desde el original el 18 de agosto de 2014 . Consultado el 16 de febrero de 2013 .
- ^ "Cómo crear un archivo Robots.txt - Herramientas para webmasters de Bing" . www.bing.com . Consultado el 6 de febrero de 2019 .
- ^ 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 .
- ^ "Robots.txt destinado a motores de búsqueda no funciona bien para archivos web | Blogs de Internet Archive" . blog.archive.org . Archivado desde el original el 4 de diciembre de 2018 . Consultado el 1 de diciembre de 2018 .
- ^ a b Jones, Brad (24 de abril de 2017). "El archivo de Internet ignorará los archivos Robots.txt para mantener la precisión" . Tendencias digitales . Archivado desde el original el 16 de mayo de 2017 . Consultado el 8 de mayo de 2017 .
- ^ "Bloquear URL con robots.txt: más información sobre los archivos robots.txt" . Archivado desde el original el 14 de agosto de 2015 . Consultado el 10 de agosto de 2015 .
- ^ "Robots.txt le dice a los piratas informáticos los lugares en los que no quieres que miren" . El registro . Archivado desde el original el 21 de agosto de 2015 . Consultado el 12 de agosto de 2015 .
- ^ "Guía de seguridad general del servidor" (PDF) . Instituto Nacional de Estándares y Tecnología. Julio de 2008. Archivado (PDF) desde el original el 8 de octubre de 2011 . Consultado el 12 de agosto de 2015 .
- ^ Sverre H. Huseby (2004). Código inocente: una llamada de atención de seguridad para programadores web . John Wiley e hijos. págs. 91–92. ISBN 9780470857472. Archivado desde el original el 1 de abril de 2016 . Consultado el 12 de agosto de 2015 .
- ^ "Lista de agentes de usuario (arañas, robots, navegador)" . User-agents.org. Archivado desde el original el 7 de enero de 2014 . Consultado el 29 de diciembre de 2013 .
- ^ "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 .
- ^ "Denegar cadenas para las reglas de filtrado: el sitio oficial de Microsoft IIS" . Iis.net. 2013-11-06. Archivado desde el original el 1 de enero de 2014 . Consultado el 29 de diciembre de 2013 .
- ^ "Google humans.txt" . Consultado el 3 de octubre de 2019 .
- ^ "Github humanos.txt" . Consultado el 3 de octubre de 2019 .
- ^ Newman, Lily Hay (3 de julio de 2014). "¿Es esto un huevo de Pascua de Google o una prueba de que Skynet realmente está tramando la dominación mundial?" . Revista Slate . Consultado el 3 de octubre de 2019 .
- ^ "/killer-robots.txt" . 2018-01-10. Archivado desde el original el 10 de enero de 2018 . Consultado el 25 de mayo de 2018 .
- ^ "Gatear o no gatear, esa es la pregunta de BingBot" . 3 de mayo de 2012. Archivado desde el original el 3 de febrero de 2016 . Consultado el 9 de febrero de 2016 .
- ^ "Cambiar la frecuencia de rastreo del robot de Google - Ayuda de Search Console" . support.google.com . Archivado desde el original el 18 de noviembre de 2018 . Consultado el 22 de octubre de 2018 .
- ^ "Centro de ayuda para webmasters: ¿Cómo bloqueo Googlebot?" . Archivado desde el original el 1 de agosto de 2010 . Consultado el 20 de noviembre de 2007 .
- ^ "¿Cómo evito que mi sitio o ciertos subdirectorios sean rastreados? - Ayuda de Yahoo Search" . Archivado desde el original el 13 de octubre de 2007 . Consultado el 20 de noviembre de 2007 .
- ^ "Interpretación oculta de Google de Robots.txt" . Archivado desde el original el 20 de noviembre de 2010 . Consultado el 15 de noviembre de 2010 .
- ^ "Yahoo! Search Blog: los webmasters ahora pueden descubrir automáticamente con sitemaps" . Archivado desde el original el 5 de marzo de 2009 . Consultado el 23 de marzo de 2009 .
- ^ "Yandex - Usando robots.txt" . Archivado desde el original el 9 de mayo de 2013 . Consultado el 13 de mayo de 2013 .
- ^ "Especificaciones de Robots.txt" . Desarrolladores de Google . Consultado el 15 de febrero de 2020 .
- ^ a b "Robots metaetiqueta y especificaciones de encabezado HTTP X-Robots-Tag - Webmasters - Desarrolladores de Google" . Archivado desde el original el 8 de agosto de 2013 . Consultado el 17 de agosto de 2013 .
enlaces externos
- Página web oficial
- Base de datos de robots (lista de nombres de bot)
- Herramienta de verificación de Robots.txt
- Documentación oficial de Microsoft bingbot