ART PROJECT GROUP:
C/ Álvaro Mutis, 1. 4º G. C.P: 29651. Mijas. Málaga. España.
Teléfono: +34 665 058 218.

El archivo robots.txt

  • Programación web - Blog

El archivo robots.txt

El otro día en ¿Cómo crear un sitio web bajo WordPress con uno o varios alias de nombre de dominio?, os esbozábamos apenas unas cuantas líneas sobre el archivo robots.txt, y hoy queremos profundizar un poco más en este pequeño y, en apariencia, insignificante, pero importantísimo archivo.

Pero empecemos por el principio, ¿qué es el archivo robots.txt? La respuesta a esta pregunta es igual de simple y sencilla que el propio archivo, es un archivo de texto que sirve para indicar, ojo, sólo indicar, a los buscadores web, bueno en realidad a los robots, web bots, bots, spiders, arañas, indexadores o crawlers de éstos, como más os guste llamarlos, qué partes de nuestro sitio web pueden rastrear y cuáles no, además indica la dirección o direcciones de nuestro/s archivo/s de mapa del sitio (sitemap).

Es un archivo tremendamente útil tanto para los propios bots de los buscadores web como para los webmasters, ya que gracias a él:

  • Bloquearemos a determinados robots: spambots y robots maliciosos, aunque para hacer este bloqueo efectivo hay que añadir cierto contenido al archivo .htaccess, que explicaremos detenidamente en otra entrada posterior.
  • Ahorraremos tiempo a los crawlers: dado que le estamos marcando claramente qué partes de nuestro contenido deben rastrear, éstos evitarán el resto del contenido, por lo que les haremos trabajar mucho más rápido.
  • Ahorraremos ancho de banda: al dirigir correctamente el tráfico de los spiders, éstos emplearán no sólo el menor tiempo posible en leer nuestro contenido, sino que al leer sólo aquello que queremos, ahorramos a nuestro servidor de servir contenido innecesario, y por lo tanto, ahorramos ancho de banda.
  • Eliminaremos contenido innecesario de los resultados de búsqueda: si no lo leen, no lo indexan y por lo tanto no aparece en los resultados de búsqueda.
  • Evitaremos que se rastreen partes privadas de nuestro sitio web: lo normal es que los spiders respeten nuestras indicaciones, pero aún así alguno puede tener la intención de leer determinado contenido sensible o prohibido, para ello de nuevo tenemos que hacer uso de nuestro mejor aliado, el archivo .htaccess, pero, de nuevo, eso será otra historia.
  • Evitaremos contenido duplicado de los resultados: si nuestras páginas web pueden ser llamadas de distintas formas, por ejemplo: mi-pagina.htm, mi-pagina.php, pagina.php?identificador=mi…, eso se considera contenido duplicado, así que hay que hacer un duro trabajo para evitarlo. En APG somos más amigos de utilizar el archivo .htaccess para estas labores, pero el archivo robots.txt también puede ayudarnos en algunos casos.
  • Indicaremos a los robots la dirección de los archivos sitemap: gracias a ellos podemos darles el que consideramos único contenido indexable.

Y ¿cómo funciona? Es muy simple, utiliza unas pocas reglas que son extraordinariamente fáciles de aprender y que están perfectamente indicadas y documentadas en The Web Robots Pages. Y ojo, que no es la única forma de hacer todo esto posible, ya que también existen unas etiquetas especiales que se pueden utilizar directamente en el código HTML de nuestras páginas web para realizar el mismo trabajo. Estas etiquetas son las META, y básicamente adquieren seis formas:

<meta name="robots" content="all" />
<meta name="robots" content="index, follow" />
<meta name="robots" content="none" />
<meta name="robots" content="noindex, nofollow" />
<meta name="robots" content="index, nofollow" />
<meta name="robots" content="noindex, follow" />

Cuyo significado es:

  • Las etiquetas META de las líneas 1 y 3 son sinónimas, e indican a los robots que indexen la página web (index) y sus enlaces (follow), es decir todo el contenido (all).
  • Por el contrario las etiquetas META de las líneas 2 y 4, que también son sinónimas, indican a los spiders todo lo contrario, que no indexen la página web (noindex) ni sus enlaces (nofollow), es decir ningún contenido (none).
  • La etiqueta META de la línea 5 indica a los bots que indexe la página web (index), pero no sus enlaces (nofollow).
  • Y por último, la etiqueta META de la línea 6 indica a los web bots que no indexe la página web (noindex), pero si sus enlaces (follow).

La gran diferencia entre el uso de la etiqueta META y del archivo robots.txt radica en que la primera sólo afecta a una página web en concreto, por lo que hay que añadirla en todas y cada una de las páginas web que necesitemos de un sitio web, mientras que con el archivo robots.txt podemos hacer lo mismo de una sola tacada. El uso de la etiqueta META está indicado para aquellos casos particulares en los que necesitamos que una página web en concreto ejecute una orden particular que es contraria a la generalidad del resto del sitio web y en los que no nos queremos complicar con el uso del archivo robots.txt.

En cuanto al gran protagonista de esta entrada, el archivo robots.txt, básicamente se reduce a 3 sentencias, gracias a las cuales podemos crear las órdenes que necesitamos:

User-agent:
Crawl-delay:
Allow:
Disallow:
Sitemap:

Veamos cómo funcionan, teniendo en cuenta que la almohadilla (#) indica el comienzo de un comentario, por lo que todo el texto que le sigue hasta el salto de línea no es leído por los bots:

  • User-agent: indica el robot sobre el que queremos actuar, aunque puede referirse genéricamente a todos ellos. Hay que indicarlos de uno en uno, siempre antes del uso de Disallow, y hay que poner una línea en blanco entre cada uno de ellos. Las formas que puede tomar son:
    • User-agent: bingbot # para indicar a un crawler en concreto, en este caso el de Bing
    • User-agent: * # para referirnos a todos los bots, sin excepción
  • Crawl-delay: indica a los indexadores indicado anteriormente el tiempo en segundos que tienen que esperar entre cada consulta, aunque no todos lo soportan:
    • Crawl-delay: 10 # obliga a esperar 10 segundos entre cada acceso
  • Allow: permite el acceso a los web bots indicados anteriormente a determinado contenido en una carpeta prohibida, aunque, de nuevo, no es soportado por todos ellos. Se debe indicar antes del Disallowque prohíba el acceso:
    • Allow: /carpeta/archivo.ext # permite el acceso a un archivo concreto
  • Disallow: prohíbe o permite el acceso a los spiders indicados anteriormente. Permite el uso de los comodines * (secuencia de caracteres de al menos 1 carácter) y $ (fin de cadena de caracteres o fin de línea). Se pueden indicar tantos como necesitemos para cada robot. Algunas de las formas que puede tomar son:
    • Disallow: # permite el acceso a todo el contenido
    • Disallow: / # prohíbe el acceso a todo el contenido
    • Disallow: /carpeta/ # prohíbe el acceso a una carpeta en concreto
    • Disallow: /archivo.ext # prohíbe el acceso a un archivo en concreto
    • Disallow: /*.ext$ # prohíbe el acceso cualquier archivo de una extensión determinada
    • Disallow: /*.ext?*$ # prohíbe el acceso a cualquier archivo que contenga una cadena de búsqueda (query string)
  • Sitemap: indica la URLcompleta del archivo sitemap que queremos que sea indexado:
    • Sitemap: http://www.nombrededominio.ext/sitemap.xml

Un buen ejemplo de archivo robots.txt es el que podemos encontrar en este mismo sitio web:

User-agent: asterias
Disallow:/

User-agent: BackDoorBot/1.0
Disallow:/

User-agent: Black Hole
Disallow:/

User-agent: BlowFish/1.0
Disallow:/

User-agent: BotALot
Disallow:/

User-agent: BuiltBotTough
Disallow:/

User-agent: Bullseye/1.0
Disallow:/

User-agent: BunnySlippers
Disallow:/

User-agent: Cegbfeieh
Disallow:/

User-agent: CheeseBot
Disallow:/

User-agent: CherryPicker
Disallow:/

User-agent: CherryPickerElite/1.0
Disallow:/

User-agent: CherryPickerSE/1.0
Disallow:/

User-agent: CopyRightCheck
Disallow:/

User-agent: cosmos
Disallow:/

User-agent: Crescent
Disallow:/

User-agent: Crescent Internet ToolPak HTTP OLE Control v.1.0
Disallow:/

User-agent: DittoSpyder
Disallow:/

User-agent: EmailCollector
Disallow:/

User-agent: EmailSiphon
Disallow:/

User-agent: EmailWolf
Disallow:/

User-agent: EroCrawler
Disallow:/

User-agent: ExtractorPro
Disallow:/

User-agent: Foobot
Disallow:/

User-agent: Harvest/1.5
Disallow:/

User-agent: hloader
Disallow:/

User-agent: httplib
Disallow:/

User-agent: humanlinks
Disallow:/

User-agent: InfoNaviRobot
Disallow:/

User-agent: JennyBot
Disallow:/

User-agent: Kenjin Spider
Disallow:/

User-agent: Keyword Density/0.9
Disallow:/

User-agent: LexiBot
Disallow:/

User-agent: libWeb/clsHTTP
Disallow:/

User-agent: LinkextractorPro
Disallow:/

User-agent: LinkScan/8.1a Unix
Disallow:/

User-agent: LinkWalker
Disallow:/

User-agent: LNSpiderguy
Disallow:/

User-agent: lwp-trivial
Disallow:/

User-agent: lwp-trivial/1.34
Disallow:/

User-agent: Mata Hari
Disallow:/

User-agent: Microsoft URL Control - 5.01.4511
Disallow:/

User-agent: Microsoft URL Control - 6.00.8169
Disallow:/

User-agent: MIIxpc
Disallow:/

User-agent: MIIxpc/4.2
Disallow:/

User-agent: Mister PiX
Disallow:/

User-agent: moget
Disallow:/

User-agent: moget/2.1
Disallow:/

User-agent: mozilla/4
Disallow:/

User-agent: Mozilla/4.0 (compatible; BullsEye; Windows 95)
Disallow:/

User-agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows 95)
Disallow:/

User-agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows 98)
Disallow:/

User-agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows NT)
Disallow:/

User-agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows XP)
Disallow:/

User-agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows 2000)
Disallow:/

User-agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows ME)
Disallow:/

User-agent: mozilla/5
Disallow:/

User-agent: NetAnts
Disallow:/

User-agent: NICErsPRO
Disallow:/

User-agent: Offline Explorer
Disallow:/

User-agent: Openfind
Disallow:/

User-agent: Openfind data gathere
Disallow:/

User-agent: ProPowerBot/2.14
Disallow:/

User-agent: ProWebWalker
Disallow:/

User-agent: QueryN Metasearch
Disallow:/

User-agent: RepoMonkey
Disallow:/

User-agent: RepoMonkey Bait &amp;amp; Tackle/v1.01
Disallow:/

User-agent: RMA
Disallow:/

User-agent: SiteSnagger
Disallow:/

User-agent: SpankBot
Disallow:/

User-agent: spanner
Disallow:/

User-agent: suzuran
Disallow:/

User-agent: Szukacz/1.4
Disallow:/

User-agent: Teleport
Disallow:/

User-agent: TeleportPro
Disallow:/

User-agent: Telesoft
Disallow:/

User-agent: The Intraformant
Disallow:/

User-agent: TheNomad
Disallow:/

User-agent: TightTwatBot
Disallow:/

User-agent: Titan
Disallow:/

User-agent: toCrawl/UrlDispatcher
Disallow:/

User-agent: True_Robot
Disallow:/

User-agent: True_Robot/1.0
Disallow:/

User-agent: turingos
Disallow:/

User-agent: URLy Warning
Disallow:/

User-agent: VCI
Disallow:/

User-agent: VCI WebViewer VCI WebViewer Win32
Disallow:/

User-agent: Web Image Collector
Disallow:/

User-agent: WebAuto
Disallow:/

User-agent: WebBandit
Disallow:/

User-agent: WebBandit/3.50
Disallow:/

User-agent: WebCopier
Disallow:/

User-agent: WebEnhancer
Disallow:/

User-agent: WebmasterWorldForumBot
Disallow:/

User-agent: WebSauger
Disallow:/

User-agent: Website Quester
Disallow:/

User-agent: Webster Pro
Disallow:/

User-agent: WebStripper
Disallow:/

User-agent: WebZip
Disallow:/

User-agent: WebZip/4.0
Disallow:/

User-agent: Wget
Disallow:/

User-agent: Wget/1.5.3
Disallow:/

User-agent: Wget/1.6
Disallow:/

User-agent: WWW-Collector-E
Disallow:/

User-agent: Xenu's
Disallow:/

User-agent: Xenu's Link Sleuth 1.1c
Disallow:/

User-agent: Zeus
Disallow:/

User-agent: Zeus 32297 Webster Pro V2.9 Win32
Disallow:/

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/

Sitemap: https://artprojectgroup.es/sitemap_index.xml
Sitemap: https://artprojectgroup.es/sitemap-image.xml
Sitemap: https://artprojectgroup.es/sitemap-mobile.xml
Sitemap: https://artprojectgroup.es/sitemap-video.xml
Sitemap: https://artprojectgroup.es/sitemap-news.xml

Aunque también le puedes echar un vistazo al archivo robots.txt de Google, donde verás qué nivel de complejidad se puede obtener en este fantástico archivo.

Deje un comentario

Comparte esto con un amigo