Robots.txt ¿Para que sirve?

Un robots.txt es simplemente un archivo de texto plano que ingresas en tu sitio web. Su propósito es dar instrucciones a los robots (también conocidos como "crawlers" o arañas, programas que recolectan contenido para motores de búsqueda como Google o Yahoo) detallando que deberían indexar y que no de un sitio web.

El archivo robots.txt siempre va a estar en el root de tu sitio y en minúsculas. Por ejemplo si tu sitio es http://www.ejemplo.com/ y tuvieses un robots.txt podríamos encontrarlo en http://www.ejemplo.com/robots.txt - y solo ahí. Los crawlers siempre lo buscarán en la raíz del dominio y en ningún otro lado. No podes especificar otro nombre u otra ubicación para el robots.txt.

Podríamos decir que el robots.txt es una lista de recomendaciones. Al incluir uno de estos archivos le estarás pidiendo a los crawlers que visiten tu sitio que ignoren determinadas cosas que vos preferís que no se indexen, pero esto no significa que así sea. Si realmente deseas que no indexen determinadas cosas es preferible deshabilitar el acceso mediante otro tipo de bloqueo server-side.

robots.txt

Escribiendo un archivo robots.txt

Un archivo robots.txt es una lista de instrucciones. Cada instrucción esta dividida en dos partes. La primera parte, "User-agent" (case-sensitive), indica cuales robots deberían prestar atención a las instrucciones que siguen. Por lo general este será un "*", que es un comodín que significa "todos los robots". El caracter "*" solo puede ser usado en este contexto, excepto en el caso de Googlebot, que lo comprenderá en algunos otros lugares.

Despues de la linea que especifica el user-agent vienen las reglas en si. Las reglas que se aplican a un determinado user agent deben estar definidas en las lineas siguientes a la instrucción "User-agent". No pueden existir lineas en blanco dentro de los sets de instrucciones y debe haber al menos un salto de linea separando los distintos sets de instrucciones. Las instrucciones suelen estar en el formato "Disallow: /folder/" o "Disallow: /file.htm". Solo puede haber una instrucción por linea y deberías evitar poner espacios antes de las instrucciones.

Todo lo que venga después de un caracter numeral "#" es considerado simplemente como un comentario y será ignorado por los robots.

Por ejemplo, el siguiente robots.txt es técnicamente valido:

# Mi archivo robots.txt

User-agent: *
Disallow: /folder/ # Mi carpeta privada
Disallow: /file.htm # Mi archivo privado

Si querés prevenir que los robots indexen cualquier pagina de tu sitio, podes adicionar lo siguiente a tu archivo robots.txt:

User-agent: *
Disallow: /

Si querés prevenir la indexación por parte de todos los robots, excepto por uno o dos, podrías escribir un archivo asi, que solo le permitirá a Googlebot el acceso pero bloqueará a los demás:

User-agent: googlebot
Disallow:

User-agent: *
Disallow: /folder/

Una vez escrito el archivo robots.txt es bueno analizarlo con un validador para prevenir cualquier clase de error, ya que podría causar un gran daño si esto previene a tu sitio ser indexado correctamente.

Tené cuidado

Podes estar pensando que agregar las direcciones de las carpetas que no querés que sean indexadas por los robots es una buena manera de prevenir comprometer la seguridad e integridad de areas sensibles de tu sitio, por ejemplo un area administrativa. Esto es cierto, pero tené en cuenta que cualquier persona puede ver tu archivo robots.txt y por lo tanto encontrará las direcciones que preferís que no sean indexadas. Si este incluye las carpetas y archivos de tu área administrativa les habrás ahorrado la búsqueda a cualquiera que quiera "jugar" con tu sitio.

Es importante prestar mucha atencion a la hora de crear un archivo robots.txt. Los robots usualmente erran en pos de la prevención. Si no reconocen un comando, pueden asumir que no deben continuar analizando el documento y por ende, errores de sintaxis en un archivo robots.txt pueden costarte la indexación (o la no-indexación) de tu sitio. ¡Verificalo bien antes de subirlo!