Diccionario SEO icono

Robots.txt

Índice

¿Qué es y para qué sirve el archivo “robots.txt”?

El archivo “robots.txt” te ayuda a controlar la forma en que Google y otros buscadores exploran e indexan los contenidos de tu sitio web y a optimizar tu “crawl budget“.

Lo primero que hacen los robots de rastreo cuando llegan a tu sitio web es comprobar si tienes un archivo robots.txt, y si existe lo examinan para entender cómo deben rastrearlo.

Se trata de un simple archivo de texto que colocas en tu servidor, que contiene instrucciones sencillas que la mayoría de los buscadores entienden y pueden interpretar, pero que no es obligatorio que sigan.

Es decir que estas instrucciones más que órdenes son sugerencias, y aunque normalmente los buscadores más conocidos las respetan, pueden ignorarlas si lo desean.

El archivo robots.txt no es obligatorio, tu sitio web puede funcionar perfectamente aunque no lo tengas; y para serte sincero a menos que sepas bien lo que estás haciendo no deberías tocarlo.

Puedes comprobar fácilmente si tu sitio web, o cualquier otro sitio web, está usando un archivo robots.txt simplemente añadiendo el texto “robots.txt” al final de su url, como por ejemplo así:

https://mktn.es/robots.txt

No hay que confundir al archivo robots.txt con la meta-etiqueta Meta Robots, aunque ambos se pueden usar para controlar el rastreo e indexado de tu sitio web son dos mecanismos diferentes. Haz clic aquí para aprender qué es y cómo funciona Meta Robots.

¿Cuando debes usar robots.txt o Meta Robots?

Al principio puede resultar un poco confuso el hecho de que tengas dos mecanismos diferentes con los que puedes conseguir resultados similares, como sucede con robots.txt y Meta Robots.

Hay que tener cuidado, sobre todo cuando se usan los dos sistemas a la vez indicando instrucciones contradictorias.

Por ejemplo podrías estar bloqueando el acceso a una página de tu sitio web mediante robots.txt y decidir desindexarla usando Meta Tags. El resultado sería que la página seguiría indexada porque para desindexarla es preciso que Google “lea” el cambio que has realizado en el código de la página y no puede hacerlo ya que has bloqueado el acceso.

¿Cómo puedes crear el archivo robots.txt?

Como he comentado al principio, no es obligatorio tener un archivo robots.txt, y no deberías tocarlo a menos que sepas lo que haces.

Dicho esto es muy sencillo. Únicamente debes crear un archivo de texto plano con Notepad, TextPad o cualquier otra herramienta similar que contenga las instrucciones necesarias, nombrarlo exactamente “robots.txt” y subirlo al directorio raíz (principal) de tu dominio.

Los buscadores debería poder encontrarlo en esta dirección:

tudominio.com/robots.txt

¿Cómo y cuando debes usar el archivo robots.txt?

Lo más habitual es usar el archivo robots.txt para restringir o excluir el acceso a ciertas partes de tu sitio web y/o a ciertos robots de rastreo.

Pero es muy importante que asegures de que no estás bloqueando el acceso a páginas o recursos a los que los buscadores necesiten acceder para “comprender” e indexar correctamente tu sitio web.

Por ejemplo puedes usar este archivo para denegar totalmente el acceso a tu sitio web para un robot de rastreo concreto, bloquear el acceso únicamente a ciertas páginas o secciones de tu sitio web, etc.

No hay que olvidar que algunos buscadores, especialmente los bots diseñados para el SPAM y algunas herramientas SEO ignoran las sugerencias del archivo robots.txt.

Los ejemplos más comunes de uso del archivo robots.txt son:

  • Bloquear el acceso a páginas concretas de tu sitio web, porque no deben aparecer en las búsquedas o su contenido no es relevante para los usuarios. Por ejemplo páginas de tipo administrativo o legal.
  • Bloquear el acceso a directorios completos de tu sitio web. Por ejemplo "/recursos/"
  • Bloquear el acceso a tipos de archivos concretos, por ejemplo archivos del tipo PDF
  • Bloquear el acceso a la paginación de tu sitio web para minimizar el contenido duplicado.
  • Bloquear el acceso a las categorías de tu sitio web si no las estás desarrollando y te dan problemas de contenido duplicado o sin valor.

¿Qué instrucciones puedo usar en un archivo robots.txt?

Las instrucciones que insertas en el archivo robots.txt se llaman “directivas” y se agrupan en “bloques” que siguen siempre la misma estructura.

Un archivo robots.txt puede contener tantos bloques o grupos de instrucciones como necesites.

Cada bloque consta de al menos dos líneas:

  • La primera es el User-agent, que especifica a qué buscador nos estamos dirigiendo.
  • La segunda y siguientes indican las las restricciones de indexado (Disallow) que queremos aplicar al motor de búsqueda designado en la primera.

Por ejemplo:

Código PHP para redireccionamiento

En el ejemplo de arriba estamos diciendo que las instrucciones de este bloque se aplican a todos los buscadores (el asterisco “*” equivale a “todos”); y que la instrucción concreta que se aplica es la denegación de acceso (“disallow” en inglés) a la sección llamada /blog/ de tu sitio web.

En realidad verás que todo es bastante sencillo, aunque debes tener mucho cuidado y no añadir instrucciones a lo loco, porque puedes perjudicar gravemente tu posicionamiento provocando un desindexado accidental.

User-agent

User agents in a nutshell, are the way internet browsers and search engines bots identify themselves to webservers

Para explicarlo de una forma sencilla digamos que el User-agent es el “nombre” que usan los navegadores y los robots de búsqueda para identificarse cuando piden acceso a un servidor para cargar el contenido de una página web.

Por ejemplo el “bot” de rastreo de Google que busca e indexa contenidos de tipo genérico se llama Googlebot:

Código PHP para redireccionamiento 2

En el ejemplo de arriba estás indicando que las instrucciones van dirigidas al “bot” de rastreo de Google.

Si deseas que una directiva se aplique a todos los buscadores debes usar un asterisco (“*”) como User-agent en lugar de mencionarlos a todos.

Por ejemplo para denegar el acceso a tu sección o subdirectorio /fotos/ para todos los buscadores usarías este bloque:

Código PHP para redireccionamiento 3

Estos son los “user-agent” de los buscadores más conocidos:

  • Google:
    • Googlebot (rastreo general)
    • Googlebot-Image (rastreo de imágenes)
    • Googlebot-Mobile (rastreo de contenido para móviles)
    • Googlebot-News (rastreo de noticias)
    • Googlebot-Video (rastreo de vídeos)
    • Mediapartners-Google (rastreo de AdSense)
    • AdsBot-Google (rastreo de AdWords)
  • Bing:
    • bingbot (rastreo general)
    • msnbot (reastreo general)
    • msnbot-media (rastreo de imágenes y vídeo)
    • adidxbot (rastreo de Ads)
  • Yahoo: slurp
  • Yandex: yandex
  • Baidu:
    • baiduspider(rastreo general)
    • baiduspider-image (rastreo de imágenes)
    • baiduspider-mobile (rastreo para móviles)
    • baiduspider-news (rastreo de noticias)
    • baiduspider-video (rastreo de vídeos)

Disallow

En la segunda línea y siguentes de cada bloque se colocan la directivas Disallow, con las restricciones de indexado que se aplicarán al bot de rastreo especificado en el en la primera User-agent.

Aunque cada bloque únicamente puede tener una línea User-agent sí que puede contener varias líneas Disallow, como en el siguiente ejemplo donde estás denegado el acceso al bot de Google a dos directorios incluyendo sus subdirectorios (ya que la no incluye una barra “/” al final):

Código PHP para redireccionamiento 4

Cuando usas la directiva Disallow junto a una barra inclinada hacia la derecha (“/”) estás diciendo que deniegas el acceso a todo el sitio web, como en el siguiente ejemplo donde deniegas por completo el acceso a tu sitio web para todos los bots de rastreo (“*”):

Código PHP para redireccionamiento 5

En cambio si no insertas ningún parámetro en la directiva disallow estás diciendo que permites el acceso a todo el sitio web, como en este ejemplo:

Código PHP para redireccionamiento 6

Si deseas bloquear un subdirectorio de tu sitio web, para todos los buscadores, lo harías así:

Código PHP para redireccionamiento 7

Y si quieres bloquear únicamente un archivo concreto, lo harías así:

Código PHP para redireccionamiento 8

Validación del archivo robots.txt

Como hacer un mal uso del archivo robots.txt puede traerte muchos problemas, es muy importante que compruebes que realmente está configurado como necesitas.

El método que yo prefiero y recomiendo es usar la herramienta de validación de Google Search Console llamada “Probador de robots.txt” y que puedes encontrar en: https://www.google.com/webmasters/tools/robots-testing-tool

Probador de robots.txt
Probador de robots.txt

Esta herramienta te mostrará si el archivo contiene errores o advertencias, en el ejemplo de arriba verás que hay “0 errores y 0 advertencias”, todo correcto.

A continuación, y siempre que realices algún cambio en tu archivo robots.txt, deberías comprobar que no estás bloqueando accidentalmente el acceso a ningun recurso esencial.

Para ello escribe una url de tu sitio web que debería ser accesible en la caja de abajo, elige el User-Agent y haz clic en el botón “probar”.

¿Has bloqueado una página con robots.txt pero aparece en los resultados?

Esta es un caso bastante común, y que despista bastante al principio: bloqueas el acceso a una página usando robots.txt pero Google la indexa igualmente y la muestra en los resultados.

Para comprender por qué sucede esto hay que entender el funcionamiento de robots.txt: este archivo no está diseñado para impedir la indexación, sino para impedir el acceso a determinadas partes de tu sitio web.

Es decir que con este archivo puedes decirle a los buscadores qué páginas o secciones de tu sitio web no deberían visitar, pero no cuales de ellas no deben indexar.

¿Entendido?

Si por ejemplo bloqueas el acceso de Google a una página concreta de tu sitio web, y el buscador no tiene ninguna forma de encontrar esta página entonces no la indexará.

PEl robots.txt no impide la indexación. El rastreador puede llegar a la url desde vínculos externos o enlaces internos y añadirlos al índice.

Pero si el buscador puede llegar a esa url siguiendo enlaces externos o internos puede añadirla a su índice y mostrarla en los resultados, aunque aparecerá sin descripción.

Si deseas asegurarte de que una página no se indexe y salga en los resultados es mejor que uses Meta Robots en lugar de robots.txt

Inserta tu Sitemap XML en el archivo robots.txt

Si has creado un Sitemap para tu sitio web puedes incluirlo en el archivo robots.txt que los buscadores lo puedan encontrar más fácilmente.

Para ello puedes usar una directiva especial llamada sitemap como en el ejemplo de abajo:

Código PHP para redireccionamiento 9

Por supuesto también puedes enviar tu Sitemap XML usando Search Console de Google, y te recomiendo hacerlo (o usar una herramienta como Rank Math), pero no está de más incluir también tu sitemap en el archivo robots.txt.

Logo NinjaSEO