El mejor robots.txt para WordPress - Manual explicativo del robots.txt
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?
- ¿Para qué sirve el robots.txt?
- ¿Por qué es importante el archivo robots.txt?
- Control de acceso
- Gestión de los recursos de rastreo
- Evitar contenido duplicado
- Directrices para los motores de búsqueda
- Parámetros aceptados en el robots.txt
- Plugins para modificar el robots.txt en WordPress
- Archivo robots.txt para WordPress
- Probador de robots.txt en Google Search Console
- Atributo NOINDEX como alternativa al robots.txt
- Solución: Recursos bloqueados en Google Search Console
¿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.
Podemos 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 qué 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.
¿Por qué es importante el archivo robots.txt?
El archivo robots.txt es importante porque, como te venía explicando en secciones anteriores, proporciona instrucciones a los motores de búsqueda sobre cómo deben rastrear o indexar el contenido de tu web. De este modo, el robots.txt es un elemento clave que te permite controlar qué partes de su sitio deben ser accesibles para los motores de búsqueda y cuáles no.
Vale, ¿pero por qué importa tanto eso? Pues por varios motivos.
Control de acceso
El robots.txt te permite, como propietario de un sitio web, especificar qué secciones del sitio deben ser rastreadas y cuáles deben excluirse de los motores de búsqueda. Esto es útil para proteger información sensible, como áreas de administración o datos privados.
Gestión de los recursos de rastreo
El tamaño de tu sitio, los enlaces externos, la calidad del contenido, tu frecuencia de actualización... Son algunos de los factores que afectan al presupuesto de rastreo de tu web, es decir, al número de páginas que van a rastrear los motores de búsqueda, que es limitado
La eficiencia en el uso del presupuesto de rastreo es esencial, especialmente para sitios web extensos con una gran cantidad de páginas. Al especificar qué secciones deben excluirse del rastreo en tu robots.txt, puedes dirigir los recursos limitados de los motores de búsqueda hacia el contenido más importante y valioso.
Al utilizar el archivo robots.txt de manera estratégica, evitas que los buscadores gasten tiempo y recursos en páginas que no son cruciales para la visibilidad del sitio en los resultados de búsqueda. No solo ahorras recursos de rastreo, sino que también ayudas a que las páginas más importantes se actualicen y se indexen con mayor frecuencia.
Evitar contenido duplicado
Si un sitio web tiene múltiples versiones de una página (por ejemplo, una versión de escritorio y una versión móvil), el archivo robots.txt puede ayudar a evitar problemas de contenido duplicado al indicar qué versión debe ser indexadas.
Directrices para los motores de búsqueda
Los motores de búsqueda suelen respetar las directrices establecidas en el archivo robots.txt al rastrear un sitio, lo que ayuda a construir una relación más efectiva entre el propietario del sitio y las páginas de resultados.
Es importante señalar que el archivo robots.txt es una guía, no una barrera de seguridad. Algunos motores de búsqueda pueden optar por hacer caso omiso de estas instrucciones. Por lo tanto, la información que realmente deba mantenerse privada o segura no debe depender únicamente de este archivo.
Además, el uso incorrecto del archivo robots.txt puede tener consecuencias no deseadas, como excluir páginas importantes de los resultados de búsqueda. Por ello, es fundamental entender cómo funciona y utilizarlo con cuidado.
Parámetros aceptados en el 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):
User-agent: *
Disallow: /
En este otro caso que mostramos a continuación, se bloquea el acceso al bot de Google a TODA la web:
User-agent: Googlebot
Disallow: /
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:
User-agent: Googlebot
Disallow: /aquinoentras/*
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):
User-agent: *
Disallow: */page/*
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:
Sitemap: https://raiolanetworks.com/indice-sitemap.xml
Sitemap: https://raiolanetworks.com/page-sitemap.xml
Sitemap: https://raiolanetworks.com/page-sitemap.xml
Sitemap: https://raiolanetworks.com/page-sitemap.xml
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:
- txt rewrite: https://wordpress.org/plugins/robotstxt-rewrite/
- Virtual Robots.txt: https://wordpress.org/plugins/pc-robotstxt/
- WordPress Robots.txt File: https://wordpress.org/plugins/robots-txt-file/
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 el 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 qué 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:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
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.
#robots de Raiola Networks
#es necesario personalizar algunas opciones o puede dar problemas
# Bloqueo basico para todos los bots y crawlers
# puede dar problemas por bloqueo de recursos en GWT
User-agent: *
Allow: /wp-content/uploads/*
Allow: /wp-content/*.js
Allow: /wp-content/*.css
Allow: /wp-includes/*.js
Allow: /wp-includes/*.css
Disallow: /cgi-bin
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /wp-includes/
Disallow: /*/attachment/
Disallow: /tag/*/page/
Disallow: /tag/*/feed/
Disallow: /page/
Disallow: /comments/
Disallow: /xmlrpc.php
Disallow: /?attachment_id*
# Bloqueo de las URL dinamicas
Disallow: /*?
#Bloqueo de busquedas
User-agent: *
Disallow: /?s=
Disallow: /search
# Bloqueo de trackbacks
User-agent: *
Disallow: /trackback
Disallow: /*trackback
Disallow: /*trackback*
Disallow: /*/trackback
# Bloqueo de feeds para crawlers
User-agent: *
Allow: /feed/$
Disallow: /feed/
Disallow: /comments/feed/
Disallow: /*/feed/$
Disallow: /*/feed/rss/$
Disallow: /*/trackback/$
Disallow: /*/*/feed/$
Disallow: /*/*/feed/rss/$
Disallow: /*/*/trackback/$
Disallow: /*/*/*/feed/$
Disallow: /*/*/*/feed/rss/$
Disallow: /*/*/*/trackback/$
# Ralentizamos algunos bots que se suelen volver locos
User-agent: noxtrumbot
Crawl-delay: 20
User-agent: msnbot
Crawl-delay: 20
User-agent: Slurp
Crawl-delay: 20
# Bloqueo de bots y crawlers poco utiles
User-agent: MSIECrawler
Disallow: /
User-agent: WebCopier
Disallow: /
User-agent: HTTrack
Disallow: /
User-agent: Microsoft.URL.Control
Disallow: /
User-agent: libwww
Disallow: /
User-agent: Orthogaffe
Disallow: /
User-agent: UbiCrawler
Disallow: /
User-agent: DOC
Disallow: /
User-agent: Zao
Disallow: /
User-agent: sitecheck.internetseer.com
Disallow: /
User-agent: Zealbot
Disallow: /
User-agent: MSIECrawler
Disallow: /
User-agent: SiteSnagger
Disallow: /
User-agent: WebStripper
Disallow: /
User-agent: WebCopier
Disallow: /
User-agent: Fetch
Disallow: /
User-agent: Offline Explorer
Disallow: /
User-agent: Teleport
Disallow: /
User-agent: TeleportPro
Disallow: /
User-agent: WebZIP
Disallow: /
User-agent: linko
Disallow: /
User-agent: HTTrack
Disallow: /
User-agent: Microsoft.URL.Control
Disallow: /
User-agent: Xenu
Disallow: /
User-agent: larbin
Disallow: /
User-agent: libwww
Disallow: /
User-agent: ZyBORG
Disallow: /
User-agent: Download Ninja
Disallow: /
User-agent: wget
Disallow: /
User-agent: grub-client
Disallow: /
User-agent: k2spider
Disallow: /
User-agent: NPBot
Disallow: /
User-agent: WebReaper
Disallow: /
# Previene problemas de recursos bloqueados en Google Webmaster Tools
User-Agent: Googlebot
Allow: /*.css$
Allow: /*.js$
# En condiciones normales este es el sitemap
Sitemap: https://raiolanetworks.com/indice-sitemap.xml
# Si utilizas Yoast SEO estos son los sitemaps principales
Sitemap: https://raiolanetworks.com/indice-sitemap.xml
Sitemap: https://raiolanetworks.com/page-sitemap.xml
Sitemap: https://raiolanetworks.com/page-sitemap.xml
Sitemap: https://raiolanetworks.com/page-sitemap.xml
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”:
La 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:
User-Agent: Googlebot
Allow: /*.css$
Allow: /*.js$
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.
Deja una respuesta
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *