En la Internet hay programas que recorren la web las 24 horas para buscar e indexar contenido en Internet, analizan cada página, cada palabra y siguen cada enlace en la web para al igual que la anterior indexar su contenido para saber que tienen y agregarlos a sus bases de datos, estos programas reciben varios nombres como Bots, Spiders, Crawlers o también llamados rastreadores.
Uno de los mayores usos que se le da es para alimentar las gigantescas base de datos de los buscadores, por eso este rastreo es minucioso, se recorre e indexa de la primera hasta la última página y hay situaciones en que los propietarios de los sitios no quieren que cierto contenido aparezca listado en los buscadores.
Por dicha razón a mediados de los años noventa surge la idea de crear un mecanismo que les diga a los bots que contenido no deben indexar, de esa manera surge la idea de un archivo de texto que mediante una sintaxis simple le diga a los bots entre otras cosas que contenido ignorar. Así nació el archivo robots.txt
Contenido
¿Qué es el archivo robots.txt?
El robots.txt es un archivo de texto que le indica a los Bots, Spiders que recorren una web qué contenido deben ignorar y no deben listar en sus resultados, en cierta forma es lo opuesto a un sitemap que le indica a los buscadores que rastrear, aquí por el contrario le indica qué áreas de un sitio deberían ser ignoradas en el rastreo y jamás ser listadas.
Hay que tener en claro que este archivo no bloquea contenido, nada impide acceder a ese contenido, para bloquear contenido se debería recurrir a otros métodos como directivas por .htaccess en el caso del servidor Apache o reglas en el caso de Nginx
La mayoría de los Robots o Bots suelen seguir estas instrucciones que el webmaster determina en el fichero llamado robots.txt, sin embargo siempre queda en la buena voluntad y la buena fe del robot en acatarlas y en la web hay de todo, bots que cumplen al menos en la mayoría de los casos con lo que el propietario del sitio pretende ocultar y hay otros que sencillamente no les importa, incluso los robots con una mejor ética por decirlo de alguna manera, como puede ser por ejemplo el bot de Google suele ignorar algunas reglas definidas por conveniencia.
Cuando un bot llega al sitio lo primero que suele hacer es leer este archivo robots.txt para ver qué directorios debe ignorar, sin embargo también existen directivas para determinar qué bots pueden recorrer el sitio o cuáles no, aunque lo cierto que esta es una de las reglas que más es ignorada porque recordemos que más que reglas son pautas y un Bot puede ignorarlas.
Otro de los usos importantes y lamentablemente ignorados incluso por GoogleBot es la directivas que le indican a los bots la velocidad y frecuencia deben recorrer el sitio, un bot puede generar cientos e incluso miles de peticiones simultáneas lo que puede generar sobrecargas de servidor y cuellos de botella en los servidores por eso existen directivas que tienen la intención de limitar la cantidad de peticiones por minuto.
Parámetros Configurables de robots.txt
Antes que todo, vale aclarar que desde robots.txt no se puede mejorar la seguridad integral de WordPress, sino que se pueden añadir algunas rutas para que GoogleBot no las indexe. Eso por un lado, por el otro, si necesitas mejorar la seguridad de WordPress te recomendamos leer: 10 consejos de seguridad para WordPress.
Ahora si, hecha esta aclaración veamos qué parámetros pueden configurarse dentro del archivo robots.txt
user-agent
Los bots se suelen identificar a sí mismo por un nombre que se conoce como user-agent y mediante este es posible asignarle a un user-agent en particular ciertas reglas, por ejemplo es posible decirle al bot Yandex (Ruso) o Baiduspider (Chino) que no se quiere que recorran el sitio porque simplemente al dueño del sitio no les interesa esos mercados y generaría un consumo de recursos innecesarios, aunque queda a criterio de estos respetar o no esta regla, por otro lado muchos rastreadores suelen cambiar el user-agent para evitar ser bloqueados por otras medidas de firewall o de aplicación.
disallow
En esta regla es posible especificar una ruta que se pretende excluir, o incluso especificar una barra / para que se bloquee el acceso a todo el sitio, en combinación con user-agent permite decirle a un bot que no se quiere que se indexe el sitio en absoluto
allow
Es el inverso de disallow, es decir que es para permitir, es útil cuando se quiere añadir ciertas exclusiones a un disallow anterior, es decir para hacer alguna excepción al disallow.
sitemap
Es una de las reglas más útiles para SEO y es la cual permite indicar dónde se ubican los sitemap del sitio, que puede ser uno o varios dependiendo del tamaño y la organización del sitio, de manera de asegurarse que los bot los encuentren y puedan indexar correctamente todo el sitio.
crawl-delay
Es una regla que permite decirle a los bots y crawlers los intervalos de tiempo entre los que deben realizar las solicitudes, es decir cuántos números de segundos debe el robot esperar entre cada solicitud que realiza el bot en cuestión, es sumamente útil para evitar sobrecargas del servidor y saturación de recursos originada parte de los bots y crawlers, lamentablemente muchos bots la ignoran.
Ejemplos prácticos
Uno de los usos más comunes es que mediante las estadísticas del sitio o las estadísticas de uso de recursos del hosting se detecte el pasaje por el sitio de un bot o crawler y debido a que estos suelen consumir grandes cantidades de GB transferencia e incluso generar sobrecargas de forma innecesaria ya que para un sitio no todos los bots,crawlers o spiders son importantes.
Hay robots que pertenecen a buscadores poco relevantes o de zonas geográficas sin relevancia para los sitios, por ejemplo si el sitio está orientado al mercado hispano los bots de Rusia, China, la India o Asia en general puede ser una molestia porque no aportan valor, son solo drenan banda ancha y demás recursos del servidor por tanto la mejor decisión es tomar medidas para mitigar o incluso bloquear dichos bots.
Por ejemplo si se decide que los bots de MixBot,MemoryBot,MegaIndex,Meanpathbot,mail.ru y Lipperhey deben ser bloqueados se puede agregar lo siguiente:
User-agent: mixbot Disallow: / User-agent: memorybot Disallow: / User-agent: megaindex.ru/2.0 Disallow: / User-agent: megaindex.ru Disallow: / User-agent: meanpathbot Disallow: / User-agent: mail.ru Disallow: / User-agent: lipperhey Disallow: /
Por ejemplo para GoogleBot a diferencia de los anteriores solo se quiere un directorio solamente el directorio wp-admin/ y no todo el sitio, en tal caso se agrega:
User-agent: googlebot Disallow: /wp-admin/
Para aplicar las mismas reglas a todos los user-agents:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php
User-agent: noxtrumbot Crawl-delay: 20 User-agent: msnbot Crawl-delay: 20 User-agent: Slurp Crawl-delay: 20
User-Agent: Googlebot Allow: /*.css$ Allow: /*.js$
User-agent: * Disallow: /?s= Disallow: /search
Un tema que nunca se debe olvidar o dejar de lado es agregar al archivo robots.txt son las rutas del o de los sitemap que se tengan en el sitio, estos archivos son de suma importancia desde el punto de vista del SEO y por tanto es importante agregarlos ya facilitan enormemente a los buscadores el indexado del sitio.
Estos archivos son ficheros XML que como su nombre lo indica son un mapa del sitio web que contiene, no solo todas las url del sitio sino también establece el orden en que los bots deben recorrer el sitio, en él también se incluyen datos relacionados a la jerarquía, a la arquitectura de enlaces y actualizaciones, esto hace que la indexación sea más sencilla, rápida y eficiente, de ahí su importancia.
Para agregar el SiteMap basta con agregar la siguiente línea:
Sitemap: https://www.example.com/sitemap.xml
Hay en caso que se tiene más de un archivo SiteMap y se pueden agregar todos al archivo de la siguiente manera:
Sitemap: https://www.example.com/sitemap_index.xml Sitemap: https://www.example.com/category-sitemap.xml Sitemap: https://www.example.com/page-sitemap.xml Sitemap: https://www.example.com/post-sitemap.xml
Editar y configurar el archivo robots.txt para WordPress
Veamos ahora las formas más comunes de editar robots.txt en WordPress
Usando Yoast SEO
Yoast SEO casi no necesita presentación, desde hace muchos años es el plugin para WordPress más utilizado para hacer SEO porque permite entre muchas otras funciones optimizar páginas, post y publicaciones para hacer un mejor uso de keywords.
Sin duda una de las ventajas de Yoast SEO y su punto fuerte es su facilidad de uso, sin embargo al brindar tantas funciones diferentes muchas de ellas pasan casi desapercibida y una de ellas es sin duda la que permite la creación de un archivo robots.txt.
Si ya se tiene este plugin instalado solo basta con ir al menú SEO luego a Herramientas y por último buscar la opción que dice Editor de archivos y por último seleccionar Crear archivo robots.txt desde allí es posible configurar el archivo.
Usando Better Robots.txt
El plugin Better Robots.txt es una extensión de WordPress permite crear y manejar el robots.txt para WordPress, este ayuda a mejorar el SEO del sitio web, mejorando la indexación, y contribuyendo a mejorar la clasificación de Google según sus propios autores.
Es compatible con Yoast SEO por lo que no habrá conflictos con este ni con WooCommerce otro de los plugins más utilizados de WordPress.
Mediante Better Robots.txt, es posible identificar qué motores de búsqueda tienen el visto bueno para recorrer el sitio y cuál no, además permite especificar instrucciones simples y claras sobre lo que los crawlers están autorizados o no a hacer y definir intervalos de rastreo para intentar moderar la agresividad de los bots que consuman muchos recursos.
Además ofrece un control aún en su versión gratuita un control bastante amplio sobre el fichero robots.txt de forma gráfica de manera muy intuitiva.
Al igual que muchos plugins de WordPress este ofrece funciones básicas en su versión gratuita y le añade funcionalidades más avanzadas en su versión premium.
Modificar manualmente el fichero robots.txt
A veces añadir plugins a WordPress puede reducir la performance del sitio por lo que quizás sea una buena idea no utilizar un plugin sino directamente modificar el archivo desde el hosting, después de todo es un simple archivo de texto que se puede editar con cualquier editor de texto o bloc de notas,
El archivo se localiza en el raíz del sitio por lo que será fácilmente localizable, se puede acceder a él desde FTP, desde cPanel o desde consola y se puede editar con cualquier editor de texto sin necesidad de añadir ningún plugin especial a WordPress.
Por supuesto puede considerarse una desventaja este método ya que hay que escribir a mano todas las reglas ya que a diferencia de los métodos anteriores, este no provee una herramienta gráfica para hacerlo de forma sencilla e intuitiva.
Sin embargo también hay que verlo desde otro punto de vista, también aporta la ventaja y flexibilidad de poder usar y combinar cualquiera de las reglas disponibles en lugar de estar limitados por lo que un determinado plugin permite o no hacer.
En resumen
En el artículo repasamos qué es un archivo robots.txt, para que sirve en que nos puede ser útil y sobre todo cómo podemos generar uno para mejorar la legibilidad de nuestro sitio. Como ya dijimos no sirve para bloquear contenido como mecanismo de seguridad ya que no es su función, el cometido es facilitar a los bots y los crawler el poder recorrer la web, indicarles qué áreas deben omitir indexar y proporcionales información como por ejemplo la ubicación de los sitemaps.
Haciendo un buen uso de las reglas podemos mejorar la indexación del sitio dando prioridad a cierto contenido y omitiendo otros que no nos interesa que aparezca en los resultados, de esa forma haciendo que los Bots no pierdan tiempo en contenido sin valor.
A su vez podemos regular el uso de recursos tanto de CPU como de Memoria tanto al reducir el alcanzar del rastreo y al establecer límites como la cantidad de requests simultáneas como también al establecer que Bots tienen permitido recorrer el sitio y cuáles no dependiendo de los intereses y el mercado al que apunte el sitio.