Protocolo de exclusión de robots

El protocolo de exclusión de robots (en inglés Robots Exclusion Standard ) indica, en la jerga de Internet y más generalmente de la web , las reglas que indican los administradores de un sitio web a los rastreadores que lo visitan, solicitando aplicar restricciones de análisis en las páginas. del sitio Están contenidos en el archivo robots.txt , creado en junio de 1994 con el consentimiento de los miembros de la lista de correo de robots (robots-request @nexor.co.uk). En este momento no existe un estándar real para el protocolo de robots.

El papel de los rastreadores

Los rastreadores web son software automático programado para realizar búsquedas e indexaciones periódicas. En la primera fase de análisis de un sitio web se debe comprobar la existencia del archivo robots.txt y aplicar las restricciones solicitadas por el webmaster del sitio. Sin embargo, no todos los robots cumplen con las solicitudes contenidas en el archivo robot.txt.

Estándar

Cuando el propietario de un sitio quiere 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 instrucciones en un formato específico (ver 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 asumen que el propietario del sitio web no desea imponer ninguna restricción para rastrear todo el sitio.

Un archivo robots.txt en un sitio web funcionará como una solicitud de que los robots indicados ignoren los archivos o directorios especificados al rastrear un sitio. Esto podría surgir, por ejemplo, de una preferencia por la privacidad de los resultados del motor de búsqueda o 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 el deseo de que una aplicación funcione. sobre ciertos datos. Los enlaces a las páginas enumeradas en robots.txt aún pueden aparecer en los resultados de búsqueda si están vinculados a una página rastreada [1] .

Un archivo robots.txt cubre una fuente. Para sitios web con múltiples subdominios, cada subdominio debe tener su propio archivo robots.txt. Si ejemplo.com tuviera un archivo robots.txt pero a.ejemplo.com no, las reglas que se aplicarían para ejemplo.com no se aplicarían a a.ejemplo.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 en http://example.com:8080/ o https://example.com/.

Algunos de los principales motores de búsqueda que siguen este estándar incluyen Ask [2] , AOL [3] , Baidu [4] , DuckDuckGo [5] , Google [6] , Yahoo! [7] y Yandex [8] . Bing no es totalmente compatible con el estándar ya que no puede heredar la configuración del carácter comodín ( *) [9] .

El grupo de voluntarios Archive Team ignora explícitamente el archivo robots.txt en su mayor parte, ya que lo considera un estándar obsoleto que dificulta los esfuerzos de archivo web. Según el líder del proyecto, Jason Scott, "sin marcar y sin tocar, el archivo robots.txt no garantiza la duplicación o la referencia de elementos que pueden tener un uso general y un significado fuera del contexto del sitio web" [10] .

Durante algunos años, Internet Archive no rastreó sitios con robots.txt, pero en abril de 2017 anunció que ya no cumpliría con las directivas de los archivos robots.txt [11] . "Con el tiempo, hemos observado que los archivos robots.txt destinados a los rastreadores de motores de búsqueda no sirven necesariamente para nuestros propósitos de archivo". Esto fue en respuesta a que se etiquetaron dominios completos con robots.txt cuando el contenido se volvió obsoleto [12] .

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 [13] . 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 y acceder a ellos directamente. Si bien a veces se afirma que esto es un riesgo para la seguridad [14] , los organismos de estandarizació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" [15] . En el contexto de los archivos robots.txt, la seguridad a través de la oscuridad no se recomienda como técnica de seguridad [16] .

Alternativas

Muchos robots también transmiten un agente de usuario especial al servidor web durante la recuperación de contenido [17] . Un administrador web también podría configurar el servidor para que devuelva automáticamente un error (o transmita contenido alternativo) cuando detecte una conexión usando uno de los robots [18] [19] .

Algunos sitios, como Google, alojan un humans.txtarchivo que muestra información destinada a la lectura humana [20] . Algunos sitios como GitHub redirigen human.txt a una página de información [21] .

Google previamente tenía un archivo de broma alojado para /killer-robots.txtindicar a Terminator que no matara a los fundadores de la compañía, Larry Page y Sergey Brin [22] [23] .

Formato de archivo Robots.txt

El archivo utiliza un protocolo muy simple que le permite definir el robot al que aplicar la regla y las páginas y directorios que no se indexarán.

Cada línea del archivo contiene un registro. Cada registro tiene la siguiente sintaxis:

<campo>: <valor>

Los campos disponibles son:

Agente de usuario el valor de este campo contiene el nombre del robot que debe cumplir con las restricciones. Con el caracter * la regla se aplica a cualquier robot. Rechazar el valor de este campo contiene las páginas del sitio que deben excluirse de los robots durante la indexación. Puede indicar una URL específica o una serie de URL pertenecientes a un patrón.

Para cada User-Agent es posible especificar una o más restricciones a través de Disallow .

Ejemplos

Estos son algunos ejemplos clásicos [6] del uso del archivo robots.txt.

Para permitir el acceso a todo el sitio web, no indique nada en la directiva Disallow. Algunos rastreadores también admiten la directiva Permitir.

Agente de usuario: * Rechazar:

Para bloquear un sitio completo, use una barra.

Agente de usuario: * No permitir: /

Para bloquear un directorio y su contenido, siga el nombre del directorio con una barra diagonal.

Agente de usuario: * No permitir: / directorio_privado /

Para bloquear una página, indique esa página.

Agente de usuario: * No permitir: /private_file.html

Para informar el archivo de mapa del sitio del sitio.

Mapa del sitio: http://arquivo.pt/wayback/20120125215620/http://www.example.com/sitemap.xml

También existe la directiva Crawl-Delay, que permite limitar la velocidad de acceso al servidor por parte de los rastreadores que lo soportan, indicando el tiempo mínimo de espera, en segundos, entre dos solicitudes consecutivas.

Si, en lugar del asterisco, inserta una cadena de agente de usuario en la directiva Agente de usuario, las reglas se limitarán al rastreador identificado por ese agente de usuario.

Extensión estándar

Se han propuesto dos nuevos parámetros en el estándar extendido para la exclusión de robots : tasa de solicitud y tiempo de visita :

Agente de usuario: * No permitir: / directorio_privado / # Bloquear directorio / directorio_privado / Tasa de solicitud: 1/5 # Visite como máximo una página cada 5 segundos Hora de visita: 0600-0845 # Visita solo entre las 6:00 a. m. y las 8:45 a. m. UT (GMT)

Extensiones no estándar

Política de demora de escaneo

Algunos rastreadores admiten el valor de demora de rastreo 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 ralentiza el host. Yandex interpreta el valor como el número de segundos de espera entre visitas posteriores [8] . Bing define la demora de rastreo como el tamaño de una ventana de tiempo (de 1 a 30 segundos) durante la cual BingBot solo accederá a un sitio web una vez. Google proporciona una interfaz en su consola de búsqueda para webmasters, para monitorear las visitas posteriores a GoogleBot [24] .

Agente de usuario: bingbot Permitir: / Retardo de rastreo: 10

Permitir directiva

Algunos de los principales rastreadores admiten una directiva Allow, que puede contrarrestar una directiva posterior Disallow[25] [26] . Esto es útil cuando le dice a los robots que eviten un directorio completo, pero aún desea que se rastreen e indexen algunos documentos HTML en ese directorio. Mientras que para la implementación estándar el primer patrón coincidente de robots.txt siempre gana, la implementación de Google se diferencia en que permite que los patrones con caracteres iguales o mayores en la ruta de la directiva ganen en un patrón Disallow coincidente [27] . Bing usa la directiva Allowo Disallow, la que sea más específica, según la longitud, como Google [9] .

Para ser compatible con todos los robots, si desea permitir archivos individuales dentro de un directorio que de otro modo no estaría permitido, primero debe ingresar Permitir directivas, seguido de No permitir, por ejemplo:

Permitir: /directorio1/miarchivo.html No permitir: /directorio1/

Este ejemplo deshabilitará todo en /directorio1/ excepto /directorio1/miarchivo.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 directiva Sitemapque permite varios mapas de sitio en el mismorobots.txten la forma [28] :Sitemap: full-url

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

Anfitrión

Algunos rastreadores (Yandex) admiten una directiva Hostque permite que los sitios web con varios espejos especifiquen su dominio preferido [29] :

Anfitrión: alojamiento.ejemplo.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 declaración [30] Disallow:

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 etiquetas meta 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 usando file.htaccess y httpd.conf [31] .

Una metaetiqueta "noindex" <meta nombre = "robots" contenido = "noindex" /> Un encabezado de respuesta HTTP "noindex" X-Robots-Etiqueta: noindex

X-Robots-Tag es efectivo solo después de que se haya solicitado la página y el servidor haya respondido, y la metaetiqueta de robots es efectiva solo después de que se haya cargado la página, mientras que robots.txt es efectivo antes de que se solicite la página. Por lo tanto, si una página se excluye de un archivo robots.txt, todas las metaetiquetas de robots o los encabezados X-Robots-Tag se ignoran porque el robot no los verá en primer lugar [31] .

Uso

Una vez que se ha creado el archivo robots.txt, debe colocarse en el directorio raíz del dominio y tener el nombre exacto "robots.txt". Si está almacenado en un directorio diferente, los robots no lo encontrarán ya que por defecto buscan en el directorio raíz del dominio.

Si no tiene acceso al directorio raíz de un dominio, puede restringir el acceso utilizando la etiqueta META Robots.

Notas

  1. ^ URL no rastreadas en los resultados de búsqueda , en youtube.com , YouTube, 5 de octubre de 2009. Consultado el 29 de diciembre de 2013 ( archivado el 6 de enero de 2014) .
  2. ^ Acerca de Ask.com: Webmasters , en About.ask.com . Consultado el 16 de febrero de 2013 .
  3. ^ Acerca de AOL Search , en Search.aol.com . Consultado el 16 de febrero de 2013 .
  4. ^ Baiduspider , en Baidu.com . Consultado el 16 de febrero de 2013 .
  5. ^ Bot de DuckDuckGo , en DuckDuckGo.com . Consultado el 25 de abril de 2017 .
  6. ^ a b Webmasters: Especificaciones de Robots.txt , en Google Developers . Consultado el 16 de febrero de 2013 ( archivado el 15 de enero de 2013) .
  7. ^ Enviar su sitio web a Yahoo! Busque en help.yahoo.com . Consultado el 16 de febrero de 2013 ( archivado el 21 de enero de 2013) .
  8. ^ a b Usando robots.txt , en Help.yandex.com . Consultado el 16 de febrero de 2013 ( archivado el 25 de enero de 2013) .
  9. ^ a b Protocolo de exclusión de robots: unirse para proporcionar una mejor documentación , en Blogs.bing.com . Consultado el 16 de febrero de 2013 ( archivado el 18 de agosto de 2014) .
  10. ^ Jason Scott , Robots.txt es una nota de suicidio ( TXT ), en archiveteam.org , Archive Team. Consultado el 18 de febrero de 2017 ( archivado el 18 de febrero de 2017) .
  11. ^ Robots.txt diseñado para motores de búsqueda no funciona bien para archivos web | Blogs de Internet Archive , en blog.archive.org . Consultado el 1 de diciembre de 2018 (archivado desde el original el 4 de diciembre de 2018) .
  12. ^ Brad Jones, The Internet Archive ignorará los archivos Robots.txt para mantener la precisión , en Digital Trends , 24 de abril de 2017. Consultado el 8 de mayo de 2017 ( archivado el 16 de mayo de 2017) .
  13. ^ Bloquear direcciones URL con robots.txt: obtenga información sobre los archivos robots.txt en support.google.com . Consultado el 10 de agosto de 2015 ( archivado el 14 de agosto de 2015) .
  14. ^ Robots.txt les dice a los piratas informáticos los lugares que no desea que busquen , en The Register . Consultado el 12 de agosto de 2015 ( archivado el 21 de agosto de 2015) .
  15. ^ Guide to General Server Security ( PDF ), en csrc.nist.gov , Instituto Nacional de Estándares y Tecnología, julio de 2008. Consultado el 12 de agosto de 2015 ( archivado el 8 de octubre de 2011) .
  16. ^ Sverre H. Huseby, Código inocente: una llamada de atención de seguridad para programadores web , John Wiley & Sons, 2004, págs. 91–92, ISBN  9780470857472 . Consultado el 12 de agosto de 2015 ( archivado el 1 de abril de 2016) .
  17. ^ Lista de agentes de usuario (arañas, robots, navegador) , en user-agents.org . Consultado el 29 de diciembre de 2013 ( archivado el 7 de enero de 2014) .
  18. ^ Control de acceso: Servidor HTTP Apache , en httpd.apache.org . Consultado el 29 de diciembre de 2013 ( archivado el 29 de diciembre de 2013) .
  19. ^ Deny Strings for Filtering Rules: The Official Microsoft IIS Site , en iis.net , 6 de noviembre de 2013. Consultado el 29 de diciembre de 2013 ( archivado el 1 de enero de 2014) .
  20. ^ Googlehumans.txt ( TXT ), en google.com . Consultado el 3 de octubre de 2019 .
  21. ^ Github human.txt ( TXT ), en github.com . Consultado el 3 de octubre de 2019 .
  22. ^ Lily Hay Newman, ¿Es este un huevo de Pascua de Google o una prueba de que Skynet en realidad está tramando la dominación mundial? , en Slate Magazine , 3 de julio de 2014. Consultado el 3 de octubre de 2019 .
  23. ^ /killer-robots.txt ( TXT ), en google.com , 10 de enero de 2018. Consultado el 25 de mayo de 2018 ( archivado el 10 de enero de 2018) .
  24. ^ Cambiar la frecuencia de rastreo de Googlebot: Ayuda de Search Console , en support.google.com . Consultado el 22 de octubre de 2018 ( archivado el 18 de noviembre de 2018) .
  25. ^ Centro de ayuda para webmasters - ¿Cómo bloqueo Googlebot? , en google.com . Consultado el 20 de noviembre de 2007 ( archivado el 1 de agosto de 2010) .
  26. ^ ¿Cómo evito que mi sitio o ciertos subdirectorios sean rastreados? - Ayuda de Yahoo Search , en help.yahoo.com . Consultado el 20 de noviembre de 2007 ( archivado el 13 de octubre de 2007) .
  27. ^ Interpretación oculta de Robots.txt de Google , en blog.semetrical.com . Consultado el 15 de noviembre de 2010 ( archivado el 20 de noviembre de 2010) .
  28. ^ Yahoo! Search Blog: los webmasters ahora pueden descubrir automáticamente con Sitemaps , en ysearchblog.com . Consultado el 23 de marzo de 2009 (archivado desde el original el 5 de marzo de 2009) .
  29. ^ Yandex: Uso de robots.txt , en help.yandex.com . Consultado el 13 de mayo de 2013 ( archivado el 9 de mayo de 2013) .
  30. ^ Especificaciones de Robots.txt , en Google Developers . Consultado el 15 de febrero de 2020 .
  31. ^ a b Especificaciones de la metaetiqueta Robots y del encabezado HTTP X-Robots-Tag - Webmasters - Google Developers , en developer.google.com . Consultado el 17 de agosto de 2013 ( archivado el 8 de agosto de 2013) .

Artículos relacionados

Enlaces externos