En este artículo vamos a hablar en profundidad sobre el archivo robots.txt.

No sólo veremos qué es y cómo utilizar sus directivas, también veremos casos donde podemos utilizarlo para mejorar el posicionamiento de nuestra web.

[community-related src="https://es.semrush.com/blog/posicionamiento-seo/"]

Comprender las particularidades y el funcionamiento de este archivo es de vital importancia porque un error en el mismo puede provocar que nuestro sitio deje de ser rastreado o indexado por los motores de búsqueda.

Con la consecuente pérdida de tráfico orgánico que esto supondría.

La máxima implicación de este archivo se da en sitios webs muy grandes, con miles y miles de URLs donde es posible que los robots tengan dificultades para rastrear la totalidad del contenido de una web.

Para sitios pequeños es posible que no necesitemos realizar grandes modificaciones porque el rastreo no es tan frecuente.

[button href="https://es.semrush.com/siteaudit/?utm_source=bloges&utm_medium=button" text="¿Cómo ver los problemas de tu archivo robots.txt con Site Audit de SEMrush?"]

¿Qué es el archivo robots.txt?

El robots.txt es un archivo que indica a qué partes de nuestra web pueden acceder los robots o crawlers de los buscadores.

Gracias a él podemos permitir o bloquear el rastreo de determinados contenidos de nuestra web.

Por defecto, salvo que en el robots.txt se indique lo contrario, todo el contenido de nuestra web será rastreable para los motores de búsqueda.

Nuestro objetivo como SEOs es optimizar el presupuesto de rastreo.

Esto es, priorizar el rastreo hacia contenidos nuevos, que se actualicen periódicamente o que sean relevantes.

Aclaración: aunque en sus directrices para Webmasters, Google indica que sigue al pie de la letra lo que le indicamos en el robots.txt, otros robots puede que no lo hagan.

Igualmente, en determinados casos, como por ejemplo a la hora de utilizar el traductor de Google, hace caso omiso a este archivo.

Como explicar el funcionamiento de este archivo sobre la teoría puede parecer más difícil de lo que realmente es, voy a incluir ejemplos a lo largo del contenido.

El aspecto de un archivo robots.txt puede ser el siguiente:

User-agent: *

Disallow: /ofertas-temporales/

Disallow: /buscador/

Allow: /buscador/buscar-curso

sitemap: https://dominio.com/sitemap.xml

Podemos acceder al robots.txt de cualquier web introduciendo /robots.txt después del dominio.

Diferencia entre rastreo e indexación

Antes de seguir viendo las particularidades de este archivo, me gustaría hablar sobre la diferencia entre rastreo e indexación, ya que parece haber mucha confusión con esto.

  • Hablamos de rastreo cuando el robot accede al contenido de la web.
  • Hablamos de indexación cuando ese contenido es añadido al índice del motor de búsqueda.

Generalmente, hay excepciones que veremos más adelante en este artículo, primero ocurre el rastreo completo de un contenido y después su indexación.

El proceso estándar que sigue Google para indexar un contenido es:

  1. Detectar un nuevo contenido a través de enlaces.
  2. Rastrear y analizar dicho contenido.
  3. Añadirlo al índice.

Es posible que un contenido bloqueado por robots.txt sea indexado si recibe enlaces y Google lo considera relevante.

Si queremos evitar que un contenido sea indexado, debemos utilizar la metaetiqueta "noindex" dentro del <head> de la siguiente manera:

<meta name="robots" content="noindex">

De esta forma, dicho contenido no será mostrado en los resultados de búsqueda, aunque sí puede ser rastreado por los robots.

Si queremos que los robots no accedan a un contenido, debemos emplear el robots.txt

Utilizar conjuntamente noindex y el bloqueo de un contenido con robots.txt puede ser contraproducente y está desaconsejado.

Esto tiene una explicación.

Para leer la etiqueta noindex, Google debe acceder (rastrear) dicho contenido.

Si en robots.txt bloqueamos su acceso, no va a poder leer dicha etiqueta, por lo tanto, existe una posibilidad de que el contenido acabe siendo indexando si recibe enlaces.

Cuando un contenido bloqueado en robots.txt es idexado, lo más común es que en la metadescripción aparezca: "información no disponible".

Esto es debido a que no ha podido rastrear dicho contenido para ver sus etiquetas.

[button href="https://es.semrush.com/link_building/?utm_source=bloges&utm_medium=button" text="¿Cómo conseguir enlaces con SEMrush haciendo un análisis SEO de enlaces de tus competidores?"]

Características del robots.txt

Ahora que tenemos claro que el robots.txt sirve para gestionar el rastreo de nuestra web, pero no la indexación, vamos a hablar sobre sus características.

Debe ubicarse en la raíz de la web y es un archivo de texto que utiliza el formato de codificación UTF-8.

El archivo siempre debe tener el nombre de “robots.txt” y ser un archivo único por cada web.

Si tenemos varios subdominios, cada uno puede tener su propio robots.txt, cuyas reglas aplicarán para él mismo.

Un robots.txt alojado en el subdominio coches.dominio.com no aplicará sobre una URL que pertenezca al subdominio motos.dominio.com

El robots.txt se compone de grupos (User-agent) y cada grupo tiene una serie de directivas, donde se indica si un robot puede o no acceder.

Por lo tanto, cada grupo debe tener una directiva allow o disallow.

Dentro de este archivo podemos agregar comentarios con la almohadilla #.

Estos serán útiles para realizar aclaraciones de por qué bloqueamos o permitimos el acceso a determinados contenidos.

Así, en el futuro podremos entenderlo todo de un simple vistazo.

Su misión es similar a las anotaciones en CSS o HTML.

Ejemplo de robots.txt con comentarios:

User-agent: *

Disallow: /buscar/

#No quiero que rastree los contenidos que cuelgan bajo la url buscar/#

Generalmente, al final del archivo se indica la ruta del sitemap.xml de la web. 

¿Cómo crearlo? Directivas y otros comandos

Pasamos ahora a la parte importante, que es aprender a crearlo y sus directivas.

Podemos utilizar cualquier editor de texto o incluso el bloc de notas para crear el archivo.

Siempre teniendo en cuenta que no puede llevar formato y que la extensión será de texto.

Como he comentado anteriormente, cada grupo comienza con User-agent:

Aquí indicamos sobre qué robots (user agents) se aplicarán las directivas que indicamos debajo.

Es posible que no queramos que un determinado bot acceda a una parte de la web pero que Google sí lo haga.

Si agregamos un asterisco (*), implica que las directivas aplicarán sobre todos los robots.

User-agent: *

En este caso las directivas sólo afectarán al robot de rastreo de imágenes de Google.

User-agent: Googlebot Image

A continuación, indicamos las directivas aplicadas, que pueden ser dos:

  • Disallow: para indicar directorios o páginas que no deben ser rastreadas
  • Allow: para indicar directorios o páginas a los cuales sí puede acceder

La directiva Allow anula el Disallow.

Se emplea cuando queremos permitir el rastreo a un determinado contenido que pertenece a un directorio cuyo rastreo está bloqueado.

User-agent: *

Disallow: /ofertas/

Allow: /ofertas/producto-1

En este caso nos encontramos con una tienda online que no quiere que los robots accedan a la categoría de ofertas, pero un producto en concreto si quiere que sea rastreado.

Para bloquear una URL en concreto, debemos indicarla tal y como se muestra en el navegador.

Si agregamos un slash final (/) bloquearemos el acceso al directorio.

Cualquier URL que cuelgue a partir de ella, negará el acceso a los robots.

User-agent: *

Disallow: /ofertas/

Siguiendo con el ejemplo anterior, en este caso el robot no podrá rastrear cualquier producto que cuelgue de esta categoría (ofertas/producto-1).

Sin embargo, la propia URL de la categoría sí podrá rastrearla.

Si queremos que no rastree ni la URL de la categoría ni lo que cuelgue de ella podemos utilizar el asterisco (*).

El asterisco (*) nos permite simplificar las reglas del robots.txt en función de determinados parámetros.

Podemos utilizarlo tanto en el prefijo como en el sufijo.

User-agent: *

Disallow: /oferta*

Aquí estamos indicando que cualquier contenido a partir de /oferta no puede ser rastreado.

Anotación: tampoco podría ser rastreada la URL/ofertas o cualquier contenido que cuelgue de ella. Estamos bloqueando el rastreo a todas las URLs que empiecen con “oferta”.

Si queremos bloquear un tipo de archivo o terminación de URLs utilizaremos el símbolo del dólar ($) tras dicha terminación.

User-agent: *

Disallow: /*.pdf$

Así no podrá acceder a cualquier archivo en pdf alojado en nuestra web.

Podemos utilizarlo también con imágenes o cualquier extensión.  

Es común indicar la ruta del sitemap.xml en el robots.txt

Esto puede indicarse en cualquier parte del documento, aunque lo más común es hacerlo en la parte final.

Debe indicarse la dirección completa y en caso de haber más de un sitemap, pueden indicarse varios.

Sitemap: https://dominio.com/sitemap1.xml

Sitemap: https://dominio.com/sitemap2.xml

¿Cuándo es recomendable permitirlo y cuándo no? Allow vs Disallow

Podemos pensar que nos interesa que Google rastree todo el contenido de nuestra web.

Sin embargo, esto no es así, debido al crawl budget y, sobre todo, esto aplica a sitios muy grandes.

En webs con cientos o pocas miles de URLs, no deberíamos preocuparnos en exceso de ello.

[community-related src="https://es.semrush.com/blog/seo-paginas-producto-ecommerce/"]

En e-commerces muy grandes o sitios de noticias con una gran frecuencia de actualización y subida de contenidos nuevos, el rastreo puede llegar a ser un problema grave.

Vamos a poner el caso un e-commerce grande que sube 100 productos nuevos diarios.

El número de contenidos que Google rastrea al día de dicho e-commerce es limitado.  

Si el robot “pierde el tiempo” con contenido que a nosotros no nos interesa, puede que estos productos nuevos no los rastree y, por lo tanto, de cara a Google es como si no los hubiéramos subido a la web.

¡No existen!

Nuestra labor como SEOs está fallando porque hay contenido que nos interesa posicionar que no está siendo ni siquiera rastreados.

Tenemos un problema de rastreo.

Problemas de rastreo suelen darse en URLs que se generan a través de filtros, contenido que generan los usuarios, resultados de búsquedas internas en la web, etc…

Cada sitio es un mundo y habrá que analizar las peculiaridades que tiene para poder establecer un robots.txt que facilite la priorización de rastreo hacia contenido relevante y nuevo.

Intentaremos que todo aquel contenido duplicado o de escaso valor no sea rastreado para así optimizar nuestro presupuesto de rastreo.

Igualmente debemos tener cuidado con qué partes de la web bloqueamos en el rastreo.

Podemos pensar que las paginaciones de un blog o de un e-commerce no deberían ser rastreadas pero, como casi todo en el SEO, la respuesta es: depende.

En algunos sitios donde la estructura web no está bien planificada y los enlaces internos son escasos, las paginaciones pueden ser la única forma para los robots de acceder a los contenidos que son más antiguos.

Si bloqueamos la única forma que tienen estos bots de acceder a dichos contenidos, es posible que los motores de búsqueda no vean los cambios que hacemos en ellos porque tarden demasiado en volver a rastrearlos.

En muchas ocasiones, pueden existir errores de base porque la web no se realizó pensando en SEO, pero debemos tener cuidado con qué cambios hacemos porque puede que sea peor el remedio que la enfermedad.

Mi consejo antes de comenzar a bloquear partes de la web es en primer lugar entender cómo funciona esa web y por qué.

El siguiente paso es analizar los logs del servidor.

Aquí es donde veremos realmente a qué partes de la web y cuándo han accedido los robots.

Así podremos detectar partes de nuestra web sin interés para el SEO que están siendo muy rastreadas, o partes importantes donde no llegan los robots.

Aquí también podremos ver si los robots pierden el tiempo rastreando contenido que ya no existe o incluso redirecciones.

[button href="https://es.semrush.com/log-file-analyzer/?utm_source=bloges&utm_medium=button" text="¿Conoces Log File Analyzer de SEMrush?"]

¿Cómo comprobarlo con Site Audit de SEMrush?

Cuando un robots.txt es demasiado largo y tiene muchas directivas, puede ser tedioso comprobar si estamos utilizando este archivo de la manera correcta y no bloqueamos partes vitales de la web.

Site Audit de SEMrush analizará de forma automática si nuestro robots.txt presenta errores que pueden estar afectando negativamente al posicionamiento de nuestra web.

Puedes acceder a través de esta URL

Detectar estos errores en robots.txt es de vital importancia porque podríamos estar teniendo problemas de rastreo e indexación sin saber por qué.

Además, nos indica errores y redirecciones que existen dentro de nuestra web, por lo que también podemos utilizarla para mejorar nuestro presupuesto de rastreo.

¿Cómo comprobarlo desde Search console? 

Desde Search Console también podemos detectar errores en nuestro robots.txt o probar si una determinada URL tiene permitido o denegado el acceso.

Puedes acceder a través de este enlace, el proceso de comprobación es manual.

Debemos introducir cada URL en la que queremos comprobar si el acceso a un determinado bot de Google está permitido o no.

La parte positiva de esta herramienta es que podemos ir realizando tests en vivo para ver cómo afectarían a los robots dichos cambios.

Aclaración: Estos cambios realizados sobre la herramienta no se realizan sobre el archivo real. Después tendríamos que modificar el archivo subido a nuestra web en caso de querer realizar las modificaciones.

Conclusión final

Como veis, el robots.txt es un archivo muy importante porque afecta a una parte vital del SEO: el rastreo.

Entender las necesidades de nuestra web y optimizar este archivo acorde a ellas será de vital importancia para mantener nuestro sitio con una buena salud.

Podemos apoyarnos de las dos herramientas vistas en este artículo en caso de tener dudas sobre si estamos gestionando correctamente este archivo.

¿Tienes alguna pregunta sobre robots.txt que quieres que responda? Te espero en los comentarios.

Author Photo
MadreSEOperioraConsultor SEO y eCommerce desde 2014. Comencé en el mundo online con 14 años. Comparto contenido interesante en mi web e intento aportar mi pequeño granito a la comunidad en twitter
More about SEO

How To Perform a Technical SEO Audit in 15 Steps

From indexation and crawlability issues to handling any structured data errors, it‘s important to ensure your website is working properly. In this guide, we‘ll show you how to do a technical SEO audit and how to fix issues you come across. Plus, we‘ll cover a bit about how our Site Audit Tool can help.
31 min read

The Anatomy of the Perfect SEO Report

SEO reporting can be a complex task: from the metrics you should include to how often you should update it, an SEO report can take up a lot of your time. In this guide, our goal is to help you to understand what a perfect SEO report should look like and what it should include, helping you to take your reporting to the next level.
Feb 26, 2021
16 min read
New Ebook

Oct 06, 2020

3.5K downloads

9 Steps to Creating SEO-Friendly Content

9 Steps to Creating SEO-Friendly Content

Industry Shifts, Online Stats & Surefire Insights for Digital Marketing Growth. In this turbulence-proof ebook, we highlight the industries that made the smoothest transition to online. You’ll see...
More articles about Technical SEO
How to Get Google to Index Your Site

Technical SEO

7 min read

How to Get Google to Index Your Site (Faster)

If your website isn’t indexed, it can’t be found via search engines like Google. This guide provides greater detail about indexing and why it’s important. It also explains how you can check to see if your page is indexed, how to fix common technical SEO problems that cause indexing issues, and how to quickly get Google to recrawl index your site if it’s not already indexed.
Amanda MilliganDec 28, 2020
https guide
HTML Sitemaps

Technical SEO

5 min read

HTML Sitemap: The Benefits for SEO and Users

An HTML sitemap makes it easy for search engine bots to find and categorize new pages on your website, improving SEO rank. The sitemap doesn’t just list the pages on your website. It also contains information about each page, such as when it was created and last updated and its significance relative to the website’s other pages. Here’s how to make one.
Erika VaragouliDec 17, 2020
Robots Meta Tag and X-Robots-Tag

Technical SEO

11 min read

Robots Meta Tag and X-Robots-Tag Explained

In this guide, we want to help you to understand how to use robots meta tags and the x-robots-tag to control the indexation of your website‘s content and to help you to spot commonly made mistakes, as well as sharing insights as to how to implement these and when each of the two options should be used.
Connor LaheyDec 16, 2020
Pagespeed score
redirects guide
Trial Semrush banner
Boost your digital marketing efforts