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.
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.
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
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:
"/recursos/"
PDF
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:
User-agent
, que especifica a qué buscador nos estamos dirigiendo.Disallow
) que queremos aplicar al motor de búsqueda designado en la primera.Por ejemplo:
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 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
:
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:
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)bingbot
(rastreo general)msnbot
(reastreo general)msnbot-media
(rastreo de imágenes y vídeo)adidxbot
(rastreo de Ads)slurp
yandex
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)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):
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 (“*”):
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:
Si deseas bloquear un subdirectorio de tu sitio web, para todos los buscadores, lo harías así:
Y si quieres bloquear únicamente un archivo concreto, lo harías así:
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
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”.
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
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:
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.