Crear un archivo robots.txt

Primeros pasos

Los archivos robots.txt deben situarse en la raíz de los sitios. Por ejemplo, si tu sitio es www.example.com, este archivo debe estar en www.example.com/robots.txt. Se trata de un archivo de texto sin formato que debe cumplir el estándar de exclusión de robots. Este archivo consta de una o varias reglas, y cada una de ellas bloquea o permite el acceso de un determinado rastreador a una ruta de archivo concreta de un sitio web.

A continuación se muestra un archivo robots.txt sencillo con dos reglas, que se explican más abajo:

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

Sitemap: http://www.example.com/sitemap.xml

Explicación:

  1. El user-agent llamado "robot de Google" no puede rastrear el directorio http://example.com/nogooglebot/ ni ninguno de sus subdirectorios.
  2. El resto de los user-agents pueden rastrear todo el sitio. Se podría haber omitido esta regla y el resultado habría sido el mismo, ya que de forma predeterminada se da acceso completo.
  3. El archivo de sitemap del sitio está en http://www.example.com/sitemap.xml.

Consulta más ejemplos en la sección Sintaxis.

Directrices básicas de robots.txt

A continuación se indican algunas directrices básicas sobre archivos robots.txt. Te recomendamos que leas la sintaxis completa de los archivos robots.txt, ya que tiene algunas particularidades que debes conocer y no se ven a primera vista.

Formato y ubicación

Puedes crear archivos robots.txt con prácticamente cualquier editor de texto. Solo tienes que comprobar que el editor pueda crear archivos de texto UTF‑8 estándar. No utilices procesadores de texto, ya que suelen guardar los archivos en formatos propios y pueden añadir caracteres inesperados, como comillas curvas, que pueden causar problemas a los rastreadores.

Reglas de formato y ubicación:

  • El archivo debe llamarse robots.txt.
  • Solo puede haber un archivo robots.txt por sitio.
  • El archivo robots.txt debe incluirse en la raíz del host del sitio web al que se aplica. Por ejemplo, para controlar el rastreo de todas las URLs de http://www.example.com/, el archivo robots.txt debe estar en http://www.example.com/robots.txt y no en un subdirectorio como http://example.com/pages/robots.txt. Si no tienes claro cómo acceder a la raíz de tu sitio web o necesitas permisos para hacerlo, ponte en contacto con tu proveedor de servicios de alojamiento web. Si no puedes acceder a esa raíz, utiliza un método de bloqueo alternativo, como las metaetiquetas.
  • Los archivos robots.txt se pueden aplicar a subdominios como http://website.example.com/robots.txt y a puertos no estándar como http://example.com:8181/robots.txt.
  • Los comentarios aparecen indicados con una almohadilla (#).

Sintaxis

  • Los archivos robots.txt deben estar codificados en UTF-8, que incluye ASCII. No se pueden utilizar otros conjuntos de caracteres.
  • Los archivos robots.txt constan de uno o varios grupos.
  • Cada grupo consta de varias reglas o directivas (instrucciones). Debe añadirse una directiva por línea.
  • En un grupo se proporciona la siguiente información:
    • A quién se aplica el grupo; es decir, el user‑agent.
    • A qué directorios o archivos puede acceder ese user‑agent.
    • A qué directorios o archivos no puede acceder ese user-agent.
  • Los grupos se procesan siguiendo el orden en que aparecen en el texto y cada user-agent solo puede coincidir con un conjunto de reglas, que será la primera regla más específica que coincida con un user-agent determinado.
  • De forma predeterminada, los user‑agent pueden rastrear todas las páginas y directorios que no estén bloqueados por una regla Disallow:.
  • El sistema de las reglas distingue entre mayúsculas y minúsculas. Por ejemplo, Disallow: /file.asp se aplica a http://www.example.com/file.asp, pero no a http://www.example.com/FILE.asp.

En los archivos robots.txt se utilizan las siguientes directivas:

  • User-agent: [Debe haber al menos una por grupo] Esta directiva indica el nombre del cliente automático, denominado "rastreador de buscador", al que se aplica la regla. Es la primera línea de cualquier grupo de reglas. Puedes consultar nombres de user-agents de Google en la lista pertinente. Si se usa el asterisco (*) como en el ejemplo que se incluye más abajo, el grupo se aplicará a todos los rastreadores, salvo a los de AdsBot, que deben nombrarse explícitamente. Ejemplos:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all but AdsBot crawlers
    User-agent: *
    Disallow: /
  • Disallow: [En cada regla debe haber por lo menos una entrada Disallow o Allow] Indica un directorio o una página del dominio raíz que no quieres que el user-agent rastree. Si la regla hace referencia a una página, debe especificarse su nombre completo tal como se muestra en el navegador, mientras que si se quiere impedir el acceso a un directorio, debe incluirse / al final.
  • Allow: [En cada regla debe haber por lo menos una entrada Disallow o Allow] Indica los directorios o las páginas del dominio raíz que el user‑agent que se haya especificado en el grupo debe rastrear. Sirve para anular la directiva Disallow y permitir que se rastree un determinado subdirectorio o página de un directorio bloqueado. Si se trata de una página, debe especificarse su nombre completo tal como se muestra en el navegador, mientras que si se quiere impedir el acceso a un directorio, debe incluirse / al final.
  • Sitemap: [Opcional; puede haber uno, varios o ninguno en cada archivo] Indica la ubicación de un sitemap de este sitio web. La URL del sitemap debe ser una URL cualificada, ya que Google no comprueba alternativas con o sin www, o con http o https. Los sitemaps son una buena forma de indicar qué contenido debe rastrear Google, frente al contenido que puede o no puede rastrear. Consulta más información sobre los sitemaps. Ejemplo:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

En todas las directivas, salvo en sitemap, se puede usar el comodín * como prefijo, sufijo o cadena de ruta.

Se ignorarán las líneas que no coincidan con ninguna de estas directivas.

Otro archivo de ejemplo

Los archivos robot.txt están formados por uno o varios grupos que deben empezar por la línea User-agent, en la que se indica el rastreador objetivo de cada uno de ellos. A continuación, se muestra un archivo que incluye dos grupos y comentarios insertados que los explican:

# Block googlebot from example.com/directory1/... and example.com/directory2/...
# but allow access to directory2/subdirectory1/...
# All other directories on the site are allowed by default.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Block the entire site from anothercrawler.
User-agent: anothercrawler
Disallow: /

Sintaxis completa de robots.txt

Consulta la sintaxis completa de robots.txt. Lee toda la documentación, ya que la sintaxis de robots.txt tiene partes complicadas que es importante que conozcas.

Reglas útiles de robots.txt

A continuación, se indican algunas reglas de robots.txt habituales que te pueden resultar útiles:

Regla Ejemplo
Bloquear el rastreo de todo el sitio web. Recuerda que, en algunas situaciones, las URLs del sitio web se indexarán aunque no se hayan rastreado previamente.

User-agent: *
Disallow: /
Bloquear el rastreo de un directorio y de su contenido, para lo que se debe incluir una barra después del nombre del directorio. Recuerda que, para bloquear el acceso a contenido privado, no se debe utilizar el archivo robots.txt, sino un método de autenticación adecuado. Las URLs bloqueadas por el archivo robots.txt se seguirán indexando aunque no se rastreen, lo que puede hacer que se revele la ubicación del contenido privado, ya que cualquier persona puede acceder a este archivo.

User-agent: *
Disallow: /calendar/
Disallow: /junk/
Permitir que acceda un solo rastreador.

User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
Permitir que accedan todos los rastreadores, excepto uno concreto.

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Bloquear el rastreo de una única página web, para lo que se debe incluir la página después de la barra.


User-agent: *
Disallow: /private_file.html

Bloquear una imagen concreta para que no aparezca en Google Imágenes.


User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

Bloquear todas las imágenes que haya en tu sitio para que no aparezcan en Google Imágenes.


User-agent: Googlebot-Image
Disallow: /

Bloquear el rastreo de tipos de archivo concretos (por ejemplo, .gif):


User-agent: Googlebot
Disallow: /*.gif$

Bloquear el rastreo del sitio, pero mostrar anuncios de AdSense en esas páginas, para lo que debes permitir que solo el rastreador web Mediapartners-Google acceda a tu sitio. Con esta regla, las páginas no aparecen en los resultados de búsqueda, pero el rastreador web Mediapartners-Google puede seguir analizándolas para decidir qué anuncios se mostrarán a los visitantes del sitio.


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Bloquear las URLs que terminen de una forma concreta, para lo que se debe incluir $. Con el código que se indica en el ejemplo, se bloquean las URLs que acaben en .xls.

User-agent: Googlebot
Disallow: /*.xls$