Vamos a empezar por explicar una serie de cosas sobre el robots.txt, ya que en el SEO se habla mucho de “bloquear ciertas partes de la web a Google” usando el robots.txt, pero en muy pocos casos se conoce exactamente que es el robots.txt y todos los usos que se le pueden dar, ya que GoogleBot no es el único bot que da vueltas por Internet en busca de nuevo contenido para scrapear.

Un bot (también llamado “araña” al traducirlo a español) es un software que rastrea sitios web en busca de nuevo contenido, cambios o cualquier cosa para el que haya sido diseñado, existen bots de muchos tipos, aunque de los que más oímos hablar es de Google.

El robots.txt lleva utilizándose desde que en 1994 Martijn Koster lo propuso en la empresa en la que trabajaba en ese momento (Nexor), con el fin de bloquear todos los bots maliciosos que “atacaban” sus sitios web.

¿Qué es el robots.txt?

Aunque muchos bots actualmente (sobre todo los más “cabrones”) pasan del robots.txt, la mayoría de bots y arañas “legales” siguen haciéndole caso a las indicaciones del robots.txt, entre ellos está el bot o araña de Google.

La teoría dice que cuando un bot llega a un sitio web, lo primero que revisa es si existe un archivo robots.txt y si este archivo existe, lo analiza para ver que partes del sitio web tiene bloqueadas y no puede acceder a ellas o scrapear su contenido.

robots.txtPodemos usar el archivo robots.txt para que los bots o arañas no puedan acceder algunas partes de nuestro sitio web, pero no solo eso, sino que también podemos elegir que bots y arañas pueden entrar y cuáles serán bloqueadas automáticamente y en que partes de la web seran bloqueados, además también podemos establecer límites de “velocidad” a la hora de navegar estos bots y arañas por nuestro sitio web con el fin de que “no se pasen”.

 

¿Para que sirve el robots.txt?

Como hemos dicho anteriormente, el robots.txt sirve para algo más que para bloquear ciertas partes de nuestro sitio web al robot de Google, es decir, tiene más usos, pero muy pocos webmasters son capaces de explotar todo el potenciar que tiene el robots.txt con sus parámetros.

  • El robots.txt nos permite (mediante el parámetro “sitemap”) indicar donde se encuentran los sitemaps de nuestro sitio web, esto es útil ya que debemos tener en cuenta que el robots.txt es el primer archivo que revisa el bot o araña de Google al entrar a nuestro sitio web (o al menos eso dice la teoría).
  • Nos permite bloquear el acceso de los bots a ciertas partes “técnicas” u “ocultas” de la aplicación, es decir, zonas donde los crawlers o bots “no pintan nada”, como por ejemplo la zona del WP-ADMIN de WordPress.
  • Podemos bloquear el acceso de las arañas a ciertas zonas del sitio web que no nos interesa que se indexen por alguna razón.
  • Podemos bloquear el acceso a nuestro sitio web a ciertos bots que sabemos a ciencia cierta que no van a hacer nada productivo en nuestro sitio web, aunque también debemos tener en cuenta que los bots más “dañinos” ni consultan el robots.txt, simplemente navegan por los enlaces del sitio web en busca de cumplir su objetivo.

La mayoría de estas aplicaciones que hemos nombrado anteriormente tienen relación o sirven para optimizar el SEO on Page de un sitio web, ya que nos permite controlar lo que queremos que indexen los buscadores y lo que no queremos que se indexe.

 

Parametros aceptados en el del robots.txt

La sintaxis del robots.txt no es complicada, es decir, no tiene muchos parámetros que se puedan utilizar, pero los pocos que tiene debemos saber usarlos bien para no causar ningún problema de indexado en nuestro sitio web, ya que suele ser uno de los problemas que ocurren cuando una persona no experimentada toca un robots.txt siguiendo las indicaciones de algún sitio de internet poco fiable con el objetivo de “bloquear cosas”.

Vamos a detallar algunos parámetros útiles que podemos usar en el robots.txt:

  • user-agent: Sirve para especificar a qué user-agents van a afectar las reglas disallow y allow que pongamos a continuación. Si quieres ver el listado completo de user-agents que podemos encontrarnos, los puedes encontrar en este listado: http://www.robotstxt.org/db.html
  • disallow: Podemos especificar una barra / para bloquear el acceso a todo el sitio o podemos especificar la ruta (incluso usando comodines *) que queremos bloquear.
  • allow: Es como el disallow pero para permitir, es útil cuando queremos añadir ciertas exclusiones a un disallow, es decir, para hacer excepciones.
  • sitemap: Nos permite especificar donde está el sitemap del sitio web, podemos especificar varios simplemente con añadir varios parámetros sitemap al archivo robots.txt
  • crawl-delay: Permite especificar un número de segundos de espera entre cada página revisada por el bot en cuestión, es útil para evitar excesos por parte de los bots y crawlers, aunque muchos bots ni le hacen caso, como por ejemplo el propio GoogleBot.

Para que veas más o menos como se utilizan estos parámetros (aunque ya lo vas a ver después en el archivo robots.txt que hemos preparado para ti) te mostramos algunos ejemplos de cosas que puedes hacer con los parámetros del robots.txt.

Con este código bloqueas el acceso a la web a TODOS los bots (evidentemente solo es recomendable usarlo en webs que no quieras que sean rastreadas por los buscadores):

En este otro caso que mostramos a continuación, se bloquea el acceso al bot de Google a TODA la web:

Pero en el siguiente puedes ver como bloqueamos el acceso a GoogleBot (bot de Google) a una ruta determinada y usamos el comodín para hacer lo mismo con todas las subpáginas:

Y ahora bloqueamos a TODOS los bots ciertas rutas (este código se suele usar para evitar que los buscadores indexen las paginaciones y cuente como contenido duplicado):

Y finalmente, está la opción de decir dónde está el sitemap o sitemaps, en este caso te pongo como ejemplo lo que tenemos en raiolanetworks.es:

Como puedes ver con tus propios ojos, la sintaxis del robots.txt no es complicada, no tiene muchos parámetros y los pocos que tiene son fácilmente configurables si nos interesamos un poco por el tema y sabemos cómo funcionan los bots o arañas (también llamado crawlers).

Plugins para modificar el robots.txt en WordPress

La opción de modificar o crear el archivo robots.txt en un sitio web usando un cliente FTP para acceder al servidor o hosting siempre está disponible (o debería), pero también podemos modificar el archivo robots.txt desde WordPress utilizando un plugin para ese fin.

En este artículo vamos a listar unos cuantos plugins que te permitirán modificar el robots.txt de un sitio web o blog WordPress sin salir del back-end del CMS:

Algunos plugins importantes como Yoast SEO o All in One SEO Pack también disponen de módulos para modificar en mayor o menor medida del robots.txt desde el panel de administración de WordPress, por lo que también debemos tenerlos en cuenta a la hora de buscar una solución: para que vamos a instalar otro plugin, si ya tenemos uno que nos permite hacer lo que tenemos que hacer.

 

Archivo robots.txt para WordPress

El archivo robots.txt que tienen las instalaciones de WordPress después de su instalación ha ido cambiando con el tiempo según han ido evolucionando las versiones de WordPress, de hecho, hasta hace poco el robots.txt era más completo que el actual, pero por causas relacionadas con “se hace lo que quiere Google” se han sacado algunas reglas que se incluían de forma predeterminada en la versión 4.4 de WordPress.

El archivo robots.txt de WordPress actualmente en la versión 4.7 (momento de escribir este artículo) es este:

Aunque nosotros hemos construido un robots.txt para tu instalación de WordPress, un archivo robots.txt mucho más completo y con bloqueos de bots que no sirven para nada, aunque debes revisarlo entero y adaptarlo a tu sitio web, es decir, cambiar las URL, ya que nosotros hemos utilizado como ejemplo nuestro sitio web.

Para nosotros este robots.txt es útil, es decir, podría ser mucho más agresivo y bloquear muchos más crawlers y muchas más zonas de WordPress, pero debemos tener en cuenta que si tenemos instalados plugins como WooCommerce, la cosa cambia y debemos añadir reglas personalizadas al robots.txt para que funcione correctamente y no tener problemas a la hora de que los buscadores indexen nuestro sitio web.

Por esta razón esperamos que el archivo que te pasamos en este artículo (a continuación) te sirva más que nada como referencia, como ejemplo para montar tu propio archivo robots.txt que encaje con la configuración especifica de tu sitio web WordPress.

Todo el archivo esta comentado para que entiendas porque se utilizan los parámetros, por otro lado, AVISO: este archivo puede ir sufriendo modificaciones dependiendo de las nuevas versiones de WordPress y los cambios en “Internet”.

 

Probador de robots.txt en Google Search Console

Google desde hace tiempo dispone de una herramienta para probar el robots.txt o incluso para probar reglas del robots.txt por separado, esta herramienta forma parte de Google Search Console (lo que antes venían siendo Google Webmaster Tools).

Antes de nada, te dejamos un video que hemos grabado para que veas como utilizar el probador de robots.txt de Google:

Para utilizar el probador de robots.txt simplemente tenemos que entrar a nuestra cuenta de Google Search Console y dirigirnos a la sección “Rastreo” de Google Search Console y buscamos la opción “Probador de robots.txt”:

robots.txtLa interfaz principal del probador de robots.txt no es compleja, aunque debemos tener muy en cuenta lo que queremos hacer y mucho más las indicaciones que nos va a dar.
Si quieres ver mejor como se utiliza esta herramienta tanto con archivos enteros como con líneas o parámetros de robots.txt que queramos probar, puedes ver el video que hemos insertado para ti al principio de esta sección.

Debemos tener en cuenta que el robots.txt debe estar definido tal y como marcan los estándares, es decir, que si algo no lo ponemos tal y como especifica el estándar, podemos tener problemas.
Debemos tener en cuenta los siguientes puntos antes de ponernos a bloquear cosas con el robots.txt:

  • Bloquear el acceso a una página para los crawlers con el robots.txt no significa que no tengamos que hacerlo mediante el atributo nofollow o noindex, yo personalmente usaría ambos métodos si quiero que algo no se indexe, o al menos es lo que dice la gente de Moz en su blog.
  • Solo se puede especificar un disallow o un allow por línea, sino nos aparecerá un error de sintaxis en el probador y no se aplicara ningún efecto.
  • Si especificamos dominios externos (es decir, otros dominios) en el archivos robots.txt de nuestro sitio, los crawlers de los principales buscadores como Google o Bing, simplemente pasaran de esos parámetros, es decir, los ignoraran.
  • Para Google y para Bing (puede que para otros también, pero no lo sabemos fijo ya que no hay documentación) se aceptan tanto el símbolo del dólar $ como el asterisco * para crear patrones y comodines, es decir, por ejemplo para especificar todas las subpáginas de una ruta.
  • El nombre del archivo robots.txt siempre debe ser así, es decir, siempre en minúsculas y siempre escrito así, por ejemplo RoBoTs.TxT no funcionaria.
  • En los parámetros del robots.txt no podemos usar espacios, si quieres usar patrones, lo recomendable es usar asteriscos *.

 

Atributo NOINDEX como alternativa al robots.txt

Desde hace tiempo existe una alternativa al archivo robots.txt, una alternativa que muchos catalogan de mucho más inteligente y efectiva, de hecho, es la manera ideal de hacerlo para evitar problemas.

Esta alternativa es usar las metaetiquetas para utilizar el atributo NOINDEX, es la solución ideal ya que es mucho más efectiva que bloquear la página en el robots.txt, la gente de Moz lo explica bastante bien en su blog, en la siguiente dirección URL: https://moz.com/learn/seo/robotstxt

La gente de Moz ha hecho pruebas y han demostrado que en algunas ocasiones cuando añades una URL o ruta al robots.txt aparece igual en los resultados de búsqueda, aunque no salga contenido scrapeado en las SERP, mientras que con el atributo NOINDEX los buscadores tienen en cuenta SI o SI que esa URL no debe aparecer en los resultados de búsqueda.
Si queremos ir un poco más lejos, simplemente debemos añadir el atributo NOFOLLOW para que tampoco se transmita linkjuice a través de esa página.

 

Solución: Recursos bloqueados en Google Search Console

Hace unos meses (ya casi un año) Google empezó a mandar correos electrónicos a la gente y a mostrar un error nuevo en Google Webmaster Tools (ahora Google Search Console).
El error decía que existían recursos bloqueados, y muchos webmasters empezaron a alarmarse con el problema como si fuera a estallar una bomba nuclear.

Realmente no se trataba de un problema, simplemente es un indicio de que Google hace lo que le sale de las narices, y en una actualización rutinaria de sus directrices de golpe, sin avisar, dijo que no se podía denegar el acceso a los archivos JS y CSS del sitio web utilizando el robots.txt.

¿Cómo podemos solucionar esto? Pues es fácil, simplemente revisamos nuestro robots.txt, lo editamos y al fondo de todo añadimos esto:

Lo que hace este fragmento de código es habilitar el acceso a los archivos JS y CSS al bot de Google.
Realmente Google hizo este cambio para poder “detectar” cosas raras en el diseño de los sitios web, ya que si los robots.txt bloqueaban el acceso a estos recursos necesarios en la carga de la web, Google podía ver el contenido, pero no podía ver el diseño sin saltarse las reglas estándar del archivo robots.txt.