Guía básica a tu archivo Robots.txt

Un archivo robots.txt es un archivo de texto plano que especifica si un rastreador debe o no acceder a carpetas específicas, subcarpetas o páginas, junto con otra información de tu sitio. El archivo usa el Estándar de exclusión de robots, un protocolo establecido en 1994 para que los sitios web se puedan comunicar con los rastreadores y otros bots. Es absolutamente esencial que uses un archivo de texto plano: Al crear un archivo robots.txt usando HTML o un procesador de texto se incluirán códigos que los motores de búsqueda ignorarán si no pueden leerlo.

¿Cómo funciona?

Cuando el gestor de un sitio quiere brindarle algo de orientación a los rastreadores, ponen su archivo robots.txt en el directorio de su sitio. Los bots que siguen este protocolo leerán el archivo antes de leer cualquier otro archivo del sitio. Si el sitio no tiene un archivo robots.txt, el rastreador asumirá que el webmaster no quiso dar ninguna instrucción específica y seguirá rastreando el sitio completo.

El archivo robots.txt consiste en dos partes básicas: User-agent y las directivas.

User-Agent

User-agent es el nombre del robot al cual se dirige la directiva que brinda las instrucciones. La línea User-agent siempre va antes de las líneas de directiva en cada conjunto de directivas. Un archivo robots.txt muy básico se vería así:

User-agent: Googlebot
Disallow: /

Estas directivas instruyen al user-agent Googlebot, el rastreador de Google, que se aleje de todo el servidor - no rastreará ninguna página en el sitio. Si quieres dar directivas a varios robots, crea un conjunto de directivas para cada uno:

User-agent: Googlebot
Disallow: /

User-agent: Bingbot
Disallow: /

Ahora tanto Google como Bing saben que deben evitar rastrear todo el sitio web. Si quieres establecer el mismo criterio para todos los robots, puedes usar un comodín, representado con un asterisco (*). Porlo cual si quieres permitir que todos los robots rastreen todo tu sitio, tu archivo robots.txt debería verse así:

User-agent: *
Disallow: 

Es importante notar que los motores de búsqueda eligirán las directivas específicas a su user-agent.Por ejemplo, digamos que tienes cuatro conjuntos de user-agents, uno usando un comodín (*), uno para Googlebot, uno para Googlebot-News y uno para Bingbot, y tu sitio es visitado por el user-agent Googlebot-Images. Ese bot seguirá las instrucciones para Googlebot, dado que es el conjunto de directivas más específico a sí mismo.

Los user-agent de motores de búsqueda más comunes son:

User-Agent Motor de búsqueda Campo
baiduspider Baidu General
baiduspider-image Baidu Imágenes
baiduspider-mobile Baidu Móvil
baiduspider-news Baidu Noticias
baiduspider-video Baidu Video
bingbot Bing General
msnbot Bing General
msnbot-media Bing Imágenes y video
adidxbot Bing Publicidad
Googlebot Google General
Googlebot-Image Google Imágenes
Googlebot-Mobile Google Móvil
Googlebot-News Google Noticias
Googlebot-Video Google Video
Mediapartners-Google Google AdSense
AdsBot-Google Google AdWords
slurp Yahoo! General
yandex Yandex General

Disallow

La segunda parte del robots.txt es la línea disallow. Esta directiva le dice a los rastreadores qué páginas no tienen permitido rastrear. Puedes tener varias líneas de disallow por conjunto de directivas, pero un solo user-agent.

No tienes que poner ningún valor para la directiva disallow; los bots interpretarán un disallow vacío como un permiso para rastrear todo el sitio. Como mencionamos antes, si quieres negar acceso al sitio entero a un bot (o a todos los bots), debes usar una barra inclinada (/).

Puedes ponerte quisquilloso con las directivas disallow al especificar páginas puntuales, directorios, subdirectorios y tipos de archivo. Para evitar que los rastreadores vayan a una página específica, usa el enlace relativo de esa página en la línea disallow:

User-agent: *
Disallow: /directory/page.html

Bloquea acceso a directorios completos de la misma manera:

User-agent: *
Disallow: /folder1/
Disallow: /folder2/

También puedes usar robots.txt para evitar que los bots rastreen determinados archivos usando un comodín y luego el tipo de archivo en la línea disallow:

User-agent: *
Disallow: /*.ppt
Disallow: /images/*.jpg
Disallow: /duplicatecontent/copy*.html

Mientras que el protocolo robots.txt técnicamente no permite el uso de comodines, los bots pueden reconocerlos e interpretarlos. Por lo cual, en las directivas de más arriba, un bot automáticamente expandirá el asterisco para que coincida con el nombre de archivo.

Por ejemplo, podría darse cuenta de que www.ejemplo.com/presentaciones/diapositivas.ppt y www.ejemplo.com/imagenes/ejemplo.jpg están deshabilitadas, mientras que www.ejemplo.com/presentaciones/transcripciondepresentacion.html no lo está. El tercer caso evita el rastreo de cualquier archivo en el directorio /duplicatecontent/ que empiece con ‘copy’ y termine con ‘.html’. Por lo cual estas páginas estarían bloqueadas:

  • /duplicatecontent/copy.html
  • /duplicatecontent/copy1.html
  • /duplicatecontent/copy2.html
  • /duplicatecontent/copy.html?id=1234

Sin embargo, no deshabilitaría cualquier instancia de ‘copy.html’ guardada en otros directorios o subdirectorios.

Un problema con el que podrías encontrarte en tu archivo robots.txt es que algunas URLs contienen patrones excluidos en URLs que normalmente querríamos que fueran rastreadas. En nuestro ejemplo anterior de Disallow: /images/*.jpg, ese directorio podría contener un archivo llamado ‘descripcion-de-.jpg.html’. Esa página no sería rastreada porque coincide el patrón de exclusión. Para resolver esto, agrega un símbolo de dólar ($) para indicar que representa el final de una línea. Esto le dirá a los motores de búsqueda que solo eviten los archivos que terminan en ese patrón de exclusión. Por lo cual Disallow: /images/*.jpg$ bloquea solo los archivos que terminan en ‘.jpg’ mientras que permitirá a los archivos que contienen ‘.jpg’ en el título.

Allow

A veces querrás excluir todos los archivos de un directorio salvo uno. Puedes hacer esto de la manera difícil, escribiendo una línea de disallow por cada archivo excepto aquél que quieras que sea rastreado. O puedes usar la directiva Allow. Funciona de la manera que seguro ya te estás imaginando: agrega la línea Allow al grupo de directivas para un user-agent:

User-agent: *
Allow: /folder/subfolder/file.html
Disallow: /folder/subfolder/

Los comodines y las reglas de patrones funcionan de la misma manera para la directiva Allow que para Disallow

Directivasno estándares

Existen algunas otras directivas que puedes usar en tu archivo robots.txt que no son universalmente reconocidas por los motores de búsqueda. Una de ellas es la directiva Host. Esta es reconocida por Yandex, el motor de búsqueda más popular en Rusia, y funciona como una resolución WWW. Sin embargo, dado que Yandex es el único motor de búsqueda que aprueba la directiva Host, no recomendamos usarla. La mejor manera de gestionar las resoluciones WWW es mediante redirecciones WWW.

Otra directiva que es reconocida por algunos motores de búsqueda es crawl-delay. Especifica un valor numérico que representa la cantidad de segundos. La línea crawl-delay debería verse así: crawl-delay: 15. Es usada de manera distinta por Yahoo!, Bing y Yandex. Yahoo! y Bing usan el valor como tiempo de espera entre acciones de rastreo, mientras que Yandex lo usa como el tiempo de espera para acceder a tu sitio. Si tienes un sitio demasiado grande, probablemente no quieras usar esta directiva dado que podría limitar el número de páginas que son rastreadas. Sin embargo, si obtienes poco a nada de tráfico de esos motores de búsqueda, puedes usar la directiva para ahorrar ancho de banda.

También puedes establecer la directiva crawl-delay para user-agents específicos. Por ejemplo, podrías darte cuenta de que tu sitio es comúnmente rastreado por herramientas de SEO, lo cual podría enlentecerlo. También podrías querer bloquearlas todas si sientes que no te están ayudando.

Finalmente, puedes usar tu archivo robots.txt para decirle a los motores debúsqueda dónde encontrar tu sitemap agregando la línea Sitemap: en cualquier lugar del archivo. Esta directiva es independiente de user-agents, por lo cual los bots serán capaces de interpretarlo sin importar dónde lo pongas. De todas maneras es mejor ponerlo al final simplemente para hacerte la vida más fácil.

Crea una nueva línea de Sitemap por cada sitemap que tengas, incluyendo sitemaps de imágenes y videos o de tu archivo de índice. Si prefirieras que la locación de tu sitemap no esté disponible para todos, puedes decidir evitar esta línea y enviar tus sitemaps a los motores de búsqueda directamente.

Aprende cómo crear y optimizar tu XML sitemap aquí.

¿Por qué querrías uno?

Si hacer que tu sitio sea rastreado, indexado y posicionado en los resultados de los motores de búsqueda es el punto central del SEO, ¿por que querrías excluir archivos de tu sitio? Existen un par de razones por las cuales querrías bloquear el acceso a los bots a determinadas áreas de tu sitio:

  • Tienes carpetas, subcarpetas o archivos privados en tu sitio - ten en cuenta que cualquiera puede leer tu robots.txt, por lo cual señalar la locación de una carpeta privada usando la directiva disallow la haría evidente a todo el mundo.

  • Bloqueando páginas menos importantes de tu sitio para priorizar el "presupuesto de rastreo" de los bots. Esto significa que pasarán más tiempo rastreando e indexando tus páginas más importantes.

  • Si obtienes un montón de tráfico de otros rastreadores que no son motores de búsqueda (como las herramientas de SEO), ahorra ancho de banda deshabilitando sus agentes de usuario.

También puedes usar robots.txt para prevenir que los motores de búsqueda indexen contenido duplicado. Si usas parámetros de URL que resultan en que tu sitio presente el mismo contenido en varias páginas, usa comodines para excluir esas URLs:

User-agent: *
Disallow: /*?

Esto evitará que los rastreadores accedan a cualquier página que tenga signos de pregunta en las URL, lo cual es normalmente la forma en que los parámetros son añadidos. Esto es especialmente útil para los sitios de comercio electrónico que terminan con un montón de parámetros de URL causando un montón de contenido duplicado debido al filtrado y orden de los productos.

Lo mejor es bloquear el acceso a tu sitio mientras lo estés rediseñando o migrando. Bloquea por completo el acceso a tu nuevo sitio para evitar que sea marcado como contenido duplicado, lo cual dañará su posicionamiento en el futuro.

Problemas comunes con robots.txt y cómo arreglarlos

Posiblemente el mayor problema con tus archivos robots.txt es accidentalmente deshabilitar páginas que quieres que sean rastreadas. Puedes encontrar esta información en los informes de rastreos generado por el Site Crawl de WooRank. Busca páginas que devuelvan un código de respuesta 500, el cual es el código que normalmente se asigna a las páginas bloqueadas por un archivo robots.txt.

Busca URLs que devuelvan un error 500 y compáralas con tus directivas disallow en tu archivo robots.txt.

Otros errores comunes en los archivos robots.txt son:

  • Accidentalmente agregar barras inclinadas al final de los nombres de archivos. Si bien tu URL canónica puede contener estas barras, agregarlas al final de la línea en un robots.txt causará que los bots la interpreten como un directorio, no como un archivo, bloqueando todas las páginas en la carpeta. Chequea dos veces tus líneas disallow por si contienen barras inclinadas que no deberían estar ahí.

  • Bloquear recursos como códigos CSS o JavaScript usando robots.txt. Esto impactará la forma en que los motores de búsqueda verán tu página. Hace un tiempo Google declaró que deshabilitar CSS y Javascript dañará tu SEO. Google puede leer tu código CSS y JS y usarlo para sacar conclusiones de tu sitio. Cuando ve que está bloqueado, estos recursos pueden generar que tu página no cargue correctamente, lo cual puede evitar que posicione tan alto como podría.

  • Usar más de una directiva user-agent por línea. Los motores de búsqueda ignorarán directivas que incluyan más de un user-agent en una línea, lo cual causará que no puedan rastrear tu sitio correctamente.

  • Uso incorrecto de mayúsculas en directorios, subdirectorios y nombres de archivo. Mientras que las directivas usadas en tu robots.txt no son sensibles a las mayúsculas, sus valores sí lo son. Por lo cuallos motores de búsqueda ven Disallow: page.html, Disallow: Page.html y Disallow: page.HTML como tres archivos diferentes. Si tu archivo robots.txt incluye directivas para ‘Page.html’ pero tu URL canónica está en minúsculas, esa página será rastreada.

  • Usar la directiva noindex. Ni Google ni Bing reconocen el uso de noindex en los archivos robots.txt.

  • Contradecir tu sitemap en tu archivo robots.txt. Esto probablemente suceda si usas diferentes herramientas para crear tu sitemap y tu archivo robots.txt. Las contradicciones de cara a los motores de búsqueda siempre son una mala idea. Afortunadamente esto es fácil de encontrar y solucionar. Envía tu Sitemap a Google Search Console. Esto te brindará una lista de errores que puedes luego chequear frente a tu robots.txt para ver si las has excluido ahí.

  • Deshabilitar páginas en tu archivo robots.txt que usen la metaetiqueta noindex. Los rastreadores que no tienen permitido el acceso a una página no podrán ver la etiqueta noindex, lo cual puede causar que tu página aparezca en resultados de búsqueda si está enlazada en otra página.

También es común tener problemas con la sintaxis de tu archivo robots.txt, especialmente si no tienes mucha experiencia técnica. Una solución es que alguien familiarizado con el protocolo de robots chequee tu archivo en busca de errores de sintaxis. Tu otra, y probablemente, mejor opción, es ir directamente a Google para testearlo.

Al crear o cambiar tu archivo robots.txt debes testearlo de una u otra manera. Agregar un archivo robots.txt que tiene errores probablemente impacte seriamente la capacidad de tu sitio para ser rastreado e indexado, lo cual puede causar que caiga en las posiciones de resultado de búsqueda. Puedes incluso terminar evitando que tu sitio entero aparezca en resultados de búsqueda.

Guías recientes