Cosas que debes saber sobre el archivo robots.txt

Un simple archivo de texto plano puede ser determinante para que tu sitio web aparezca o no en los resultados de Google.

Como sabemos, el archivo robots.txt, tiene la finalidad de bloquear el acceso de los robots a determinadas secciones de tu web, o a todo el sitio completo.

Aunque parezca que su función tiene relación directa con la privacidad, en realidad puede ser un arma de doble filo: Por un lado es eficaz para ocultar información a los buscadores, y por el otro; al ser un archivo público, cualquier persona leyendo su contenido puede saber cuales secciones de tu sitio contienen la información que deseas ocultar.

A pesar de su simpleza tiene algunos secretos en su sintaxis que muchos webmaster suelen desconocer. Comencemos explicando la función de las líneas que bloquean el rastreo de todos los robots a un sitio

User-agent: *

Disallow: /

La línea  User-agent: *, indica cual robot se debe controlar y el asterisco (*), significa que esta directiva se aplica a todos los robots.

La instrucción Disallow: / le indica al robot que no debe visitar ninguna página en el sitio. Por el contrario, puede bloquear solo una sección en particular, ej: Disallow: /seccion

¿Como es la sintaxis para permitir a todos los robots rastrear un sitio web?

User-agent: *

Disallow:

A simple vista parece ser igual a la anterior, pero la diferencia está en el slash o barra inclinada ( / )

Esta es determinante para indicar que todo lo que está detrás de ella no debe ser indexado, su ausencia indica exactamente lo contrario. Un modo similar de lograr el mismo cometido es con la siguiente sintaxis:

User-agent: *

Allow: /

En verdad parece innecesario, porque de nada sirve indicar a un robot que haga lo que está programado para hacer, ya que lo hará sin necesidad que se lo ordenes. Pero la presencia de esta directiva tiene una utilidad secundaria que veremos más adelante.

¿Puedo bloquear sólo los robots malignos?

En teoría sí, en la práctica, no. Si el robot malo respeta las restricciones del /robots.txt, y sabes el nombre de dicho robot, puedes añadir una directiva para excluirlo específicamente.

User-agent: robot-malware

Disallow: /

Sin embargo, ningún robot malware respeta robots.txt, por lo que no tiene sentido tal directiva.

Si el robot malware opera desde una única dirección IP, puedes bloquear su acceso a través de la configuración del servidor o con el archivo .htaccess. Pero es poco probable que un robot dañino tenga una sola IP, generalmente operan desde una gran cantidad de direcciones IP diferentes, tales como PCs secuestradas en forma de red de bots.

Robots.txt HostDime Ar

¿Puedo autorizar un solo robot y bloquear a los demas?

Si, es posible hacerlo con varias directivas anidadas, por ejemplo; supongamos que deseas que solo Google rastree tu sitio:

User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /

Aquí es donde tiene utilidad aplicable la directiva Allow:

La primera está bloqueando todos los robots, mientras que la segunda hace una excepción y sólo habilita a Googlebot. En este caso el orden de los criterios es decisivo, ya que si ambas directivas estuvieran invertidas, el último criterio es el que prevalece. Esta condición suele confundir a los webmasters cuando Search console encuentra recursos bloqueados, un ejemplo muy común es el siguiente:

Por seguridad WordPress bloquea al acceso al directorio /wp-admin/ de este modo

User-Agent: *
Disallow: /wp-admin/

Pero hay recursos JavaScript necesarios para Google dentro de ese directorio, entonces añadimos la línea que permite acceder a ellos:

User-Agent: *

Allow: /wp-admin/*.js
Disallow: /wp-admin/

Sin embargo Search console sigue indicando que existe bloqueo.., ¿que está mal?

Precisamente el orden de la directiva. Si invertimos las líneas y verificamos el funcionamiento en el Probador de robots de Search console, nos indicará que ahora está correcto:

Robots.txt HostDime

¿Qué pasa si no tengo robot.txt?

No pasa nada, al tener un carácter restrictivo el hecho que falte el archivo, no afecta el rastreo normal del sitio. Sin embargo Google Indica que sí googlebot no detecta la presencia del archivo robots.txt, puede detener el rastreo del sitio.

¿Cómo se explica esta contradicción?

Si alguna vez has incluido el archivo en tu web, y por alguna razón, lo has quitado, aparecerá una advertencia en Search console sobre la ausencia de robots.txt.

Durante las últimas 24 horas, el robot de Google ha encontrado x errores al intentar acceder a robots.txt. Para asegurarnos de que no hemos rastreado ninguna página que aparezca en ese archivo, hemos pospuesto el rastreo…

Pero si tu web nunca ha incluido ese archivo, Googlebot jamás ha intentado encontrarlo, por lo que seguirá rastreando todas las páginas sin mayores problemas.

 Ver también: ¿Que hacer cuando tu sitio web está infectado?, Prueba a nivel servidor Vps de Open litespeed, mediciones de velocidad

Carlos Pablak

Carlos Pablak

Consultor SEO, webmaster y asesor de Marketing online.
Experto en comportamiento de los buscadores y tendencias de búsqueda. Social Media Manager y SEM Manager.
Colaborador principal en el Foro de ayuda para webmasters de Google.
Moderador en la Comunidad SEO & Marketing.
Moderador en la Comunidad oficial de Google para webmasters
Carlos Pablak

Deja un comentario