El archivo Robots.txt sirve para dar información a Googlebot y a los demás robots que rastrean internet acerca de las páginas y archivos que se deben indexar en nuestra web. Aunque no es imprescindible, el archivo Robots.txt es de gran ayuda para Google y otros robots rastreadores a la hora de indexar nuestra página, por lo que es muy importante que esté configurado correctamente.
Contenidos
- 1 Localización del archivo Robots.txt
- 2 Tipos de robots que pueden visitar nuestra web
- 3 Edición del archivo Robots.txt
- 3.1 Bloquear una página y las páginas de nivel inferior
- 3.2 Bloquear una página manteniendo el acceso a las páginas de nivel inferior
- 3.3 Bloquear una página y todas las páginas de nivel inferior a excepción de las que definamos
- 3.4 Bloquear todas las páginas de nivel inferior pero permitir el acceso a la de nivel superior
- 3.5 Bloqueando URLs usando comodines
- 3.6 Asignar distintas instrucciones para diferentes robots
- 3.7 Decir a los robots rastreadores en dónde se encuentra el sitemap de la web
- 4 Recomendaciones para el archivo Robots.txt
- 5 Alternativa: Uso de la meta-etiqueta meta robots
Localización del archivo Robots.txt
El archivo Robots.txt debe estar creado en el directorio raíz de nuestra web y, tal y como su nombre indica, es un sencillo archivo de texto con extensión .txt. Debemos asegurarnos de que tiene permisos de lectura públicos para que sea posible acceder a él desde el exterior, como por ejemplo, permisos 664.
En caso de que el archivo no exista en nuestra web, debemos acceder mediante FTP a nuestro servido y crearlo. Existen Plugins para los CMS más utilizados como Drupal o WordPress que crean y configuran este archivo por nosotros en caso de que no exista.
Tipos de robots que pueden visitar nuestra web
A pesar de que el Googlebot de google es el robot rastreador más popular, también conviene tener en cuenta el Bingbot del buscador Bing, el Yandexbot ruso, el Yahoo Slurp, el bot de Alexa (ia_archiver) o el buscador chino BaiduSpider.
Existen también otros bots con funcionalidades más específicas como Googlebot-image, encargado de rastrear e indexar exclusivamente las imágenes de los sitios web.
Existen muchísimo robots rastreadores y muchos de ellos no rastrean nuestra web con buenas intenciones, ya que pueden ser desde bots que buscan agujeros de seguridad hasta programas de extracción de contenido para duplicar nuestra web.
Edición del archivo Robots.txt
Es muy importante tener en cuenta que, por defecto, todas las páginas de una web serán indexables. Mediante el archivo Robots.txt podemos dar unas directrices a los distintos bots que nos visitan para decirles el contenido al que pueden tener acceso y el que no deben rastrear. Podemos hacer todo ésto mediante unos sencillos comandos básicos:
- User-agent: Sirve para indicar el robot al que se aplicarán las reglas que se definirán a continuación.
Sintaxis: User-agent: NombreDelBot
Ejemplo: User-agent: Googlebot
- Disallow: Sirve para indicar a los robots que no deben rastrear la URL o URLs que coincidan con el patrón definido a continuación.
Sintaxis: Disallow: Patrón
Ejemplo: Disallow: /comentarios
- Allow: Sirve para indicar a los robots que deben rastrear la URL o URLs que coincidan con el patrón definido a continuación. Las instrucciones de Allow tienen preferencia sobre las de Disallow, por lo que si definimos que una página o páginas sean indexables con Allow, serán siempre indexables aunque algunas de ellas estén incluidas en alguna otra instrucción de Disallow.
Sintaxis: Allow: Patrón
Ejemplo: Allow: /readme.html
- Sitemap: Sirve para especificar en dónde se encuentra el sitemap de nuestra web.
Sintaxis: Sitemap: UrlDelSitemap
Ejemplo: Sitemap: http://www.neoguias.com/sitemap.xml
A la hora de especificar los patrones, existen una serie de caracteres especiales. Veremos primero cuales son estos caracteres y seguidamente explicaremos cómo se usan mediante algunos ejemplos.
- *: El asterisco es un comodín que equivale a cualquier caracter o conjunto de caracteres.
- $: El símbolo del dólar indica el final de una cadena de texto, ya que por defecto, estas expresiones entienden que si no se lo indicamos, pueden ir más caracteres tras el último que escribimos en el patrón.
Por último, es importante tener en cuenta que el archivo Robots.txt discrimina entre mayúsculas y minúsculas, por lo que no será lo mismo «Disallow: /archivo.html» que «Disallow: /Archivo.html».
Como seguramente no hayáis entendido demasiado, ha llegado la hora de que entendáis todo mediante unos sencillos ejemplos.
Bloquear una página y las páginas de nivel inferior
User-agent: * Disallow: /articulos/
Lo que estamos haciendo con el asterisco de User-agent es indicar que la siguiente instrucción o instrucciones se aplicarán para todos los bots. Esto se mantendrá hasta el final del documento o hasta que aparezca de nuevo el comando User-agent haciendo referencia a otro robot o robots.
Mediante la instrucción de Disallow, estaremos indicando a los bots que no indexen la página «/artículos/«, partiendo siempre de nuestro directorio raíz. Es un error frecuente pensar que solamente se bloqueará esta URL, puesto que tal y como hemos explicado antes, se da por hecho que pueden existir más caracteres detrás del último caracter, que en este caso es la «/» de «/artículos/«. Por ejemplo, también se bloqueará la URL «/articulos/ejemplo» y demás URLs que comiencen por «/artículos/«.A continuación veremos cómo bloquear solamente la página «/artículos/«, haciendo posible que se indexen las páginas que cuelguen de ésta en un nivel inferior como «/artículos/julio» o «/artículos/agosto«.
Bloquear una página manteniendo el acceso a las páginas de nivel inferior
User-agent: * Disallow: /articulos$
Este caso es exactamente igual que el anterior, con la diferencia de que mediante el símbolo del dólar delimitamos la URL para que solamente se excluya «/articulos«, pudiendo indexarse las páginas de nivel inferior como «/articulos/enero» o «/articulos/febrero«.
Como vemos, hemos excluido la barra invertida del final de la URL, puesto que es común que en ocasiones se incluya y en otras no, abarcando así todos los casos.
Bloquear una página y todas las páginas de nivel inferior a excepción de las que definamos
User-agent: * Disallow: /articulos/ Allow: /articulos/enero
Por defecto, está permitido que los bots puedan acceder a todas las páginas. Lo que hacemos primero es impedir el acceso a la página «/articulos/» y a todas las de nivel inferior, pero mediante Allow permitios que sí se indexe la URL «/articulos/enero«. De este modo, solamente se indexará la página «/articulos/enero«, pero no las páginas «/articulos/febrero«, «/articulos/marzo» y demás subpáginas.
Bloquear todas las páginas de nivel inferior pero permitir el acceso a la de nivel superior
User-agent: * Allow: /articulos/$ Disallow: /articulos/
En este caso, permitimos el acceso a la página «/articulos/» y solamente a ella, no especificando nada acerca de las páginas que podría haber en nivel inferior que, por defecto, serían de momento también accesibles para los bots.
Mediante la siguiente instrucción de Disallow, estamos excluyendo la página «/articulos/» y todas las subpáginas de nivel inferior, pero como hemos definiendo explícitamente que sea posible indexar «/articulos/» mediante la instrucción inmediatamente anterior, será indexable.
Bloqueando URLs usando comodines
User-agent: * Disallow: /pagina/*/articulos/
Lo que estamos indicando mediante la instrucción de Disallow del ejemplo, es que no deben indexarse las páginas que tengan como primer elemento de la URL «/pagina/» y como tercer elemento «/articulos/«, independientemente de cual sea el segundo elemento. Como vemos, el asterisco sirve para sustituir a cualquier cadena de caracteres.
Asignar distintas instrucciones para diferentes robots
User-agent: * Disallow: /ocultar User-agent: WebZIP Disallow: /
En el ejemplo, primero decimos a todos los bots que no indexen la página «/ocultar«. Seguidamente seleccionamos al bot «WebZIP» y le decimos que no indexe ninguna URL de nuestra web, indicándoselo con una barra invertira «/«, que representa al directorio raíz. Es posible referenciar a muchos robots en el archivo Robots.txt. Los comandos comunes afectarán a todos los robots y los específicos para cada robot, solamente al robot seleccionado, teniendo precedencia los comandos específicos para el propio robot sobre los generales.
Decir a los robots rastreadores en dónde se encuentra el sitemap de la web
Sitemap: http://www.neoguias.com/sitemap.xml
Mediante el comando Sitemap, podemos decirle a los bots en dónde se encuentra el sitemap de la web, útil para ayudarles a encontrar todas las URLs. No es algo imprescindible, pero toda ayuda será siempre bienvenida.
Recomendaciones para el archivo Robots.txt
Es recomendable que, cuando sea posible indexar una página, todas las imágenes, archivos CSS y archivos JavaScript sean también indexables. Esto debe ser así porque Google necesita tener una vista real de la web, siendo ésta lo más parecida a la que verá un visitante humano. Dicho de otro modo, para que Google no nos penalice en los rankings, los archivos CSS, los archivos JavaScript y las imágenes no deben estar bloqueadas en el archivo Robots.txt.
Alternativa: Uso de la meta-etiqueta meta robots
Además del archivo Robots.txt, también podemos indicar a los robots que indexen o que no indexen ciertas páginas usando la meta-etiqueta de meta robots, que puede tener los valores Index o NoIndex para indicar a los robots si deben o no deben indexar la página. Además, también pueden tener un segundo valor que puede ser Follow o NoFollow para indicara los robots si, por defecto, deben seguir los enlaces de la página.
Estas meta-etiquetas pueden utilizarse en combinación con el archivo Robots.txt, pero el uso del archivo da información previa a los robots para que ni siquiera tengan que ver el código de las páginas para saber si pueden o no indexarlas.