¿Qué es un archivo Robots.txt?
El archivo Robots.txt es un archivo de texto con directivas / reglas que la mayoría de los motores de búsqueda van a seguir, al menos eso es lo que dicen.
También puede denominarse protocolo de exclusión de robots y es un estándar reconocido por todos los motores de búsqueda o software que utilizan un rastreador para rastrear la web.
¿Qué pasa si no tengo el archivo Robots.txt?
Simplemente, el bot o el rastreador escaneará todo el sitio web, por lo tanto, todas las páginas y archivos que contiene, accesibles mediante la navegación web normal.
Cómo llegar al archivo Robots.txt
El archivo siempre se inserta en la raíz del sitio web, por lo que será accesible desde esta dirección:
https://misitio.com/robots.txt
Cómo crear el archivo Robots.txt
Como mencioné algunos párrafos antes, este archivo es un archivo de texto simple que se analiza en cascada, línea por línea.
Esto significa que cada regla debe estar escrita en una sola línea para evitar que el rastreador encuentre algún malentendido (recuerde que un bot es un conjunto de algoritmos con reglas preestablecidas, sin posibilidad de pensar y razonar).
¿Cuáles son las directivas que puedo establecer?
Las directivas que tenemos disponibles son:
- Permitir
- Rechazar
- NoIndex
- No seguir
- Retraso de rastreo
- Mapa del sitio
Veámoslos en detalle:
Permitir
Con la directiva Allow podemos determinar qué rutas puede seguir un bot. Soportado al 100% por los buscadores de Google y Bing, siempre debe ser seguido por una ruta específica, de lo contrario será ignorado.
User-agent: *
Allow: /carpeta-oculta/
Con la directiva Allow , puede hacer accesibles los archivos o carpetas que anteriormente ocultó con Disallow .
User-agent: *
Disallow: /carpeta-oculta/
Allow: /carpeta-oculta/mifile.xls
Rechazar
Contrariamente a la directiva anterior, el Disallow realiza una actividad de exclusión, es decir: al insertar una ruta después del Disallow, el rastreador no escaneará este último.
User-agent: *
Disallow: /carpeta-oculta/
De esta manera, el bot del motor de búsqueda nunca visitará «/ hidden-folder /».
NoIndex
Incluso si NoIndex no es compatible con Google, lo que desalienta su uso, decidí insertarlo ya que es compatible con otros motores de búsqueda. En este caso vamos a indicar la posibilidad de visitar una carpeta o archivo específico, negando sin embargo su indexación.
La directiva NoIndex NO debe considerarse una alternativa a:
<meta name="robots" content="noindex">
A continuación, se muestra un ejemplo del uso de la directiva NoIndex:
User-agent: *
Noindex: /carpeta-no-indexada/
No seguir
Muchos webmasters usan esta directiva para decirles a los bots que no sigan una determinada página, carpeta o archivo.
Incluso este último no es compatible oficialmente con Google, por lo que siempre es mejor usar el META TAG dentro de la página que se excluirá:
<meta name="robots" content="nofollow">
De todos modos, si desea poner esta directiva dentro de su archivo Robots.txt, aquí hay un ejemplo práctico:
User-agent: *
Nofollow: /carpeta-no-seguir/
Retraso de rastreo
Para describir mejor esta directiva, es bueno dar un pequeño paso atrás y explicar cómo funciona un servidor de forma aproximada.
Puede que ya lo sepas, pero cada servidor pone a disposición recursos según el plan que compraste. Estos recursos casi nunca son «infinitos», pero son limitados.
Cada vez que un rastreador visita y analiza un sitio web, explota estos recursos como un usuario normal que visita esta página. Si su prioridad no es bloquear su sitio web debido a una sobrecarga de solicitudes, la directiva Crawl-Delay podría ser para usted.
Esto se debe a que Crawl-Delay obliga al bot a esperar un período de tiempo X entre el escaneo y el siguiente.
De esta forma, no realizará muchas solicitudes y su sitio no se verá afectado por la visita del rastreador. Tengo un consejo para ti: en lugar de configurar un retraso de rastreo, empieza a pensar en un cambio de alojamiento .
A continuación, se muestra un ejemplo de la implementación de la directiva Crawl-Delay :
User-agent: bingbot
Crawl-delay: 3
De esta forma le estamos indicando al bot de Bing que rastree una página con una frecuencia de 3 segundos .
Mapa del sitio
Como última directiva tenemos Sitemap. Esta regla se utiliza para indicarle al rastreador en qué dirección se puede encontrar el mapa del sitio del sitio web.
El mapa del sitio es un documento importante para un sitio web, un mapa real del sitio que muy a menudo ayuda a indexar.
Sitemap: https://misitio.com/sitemap.xml
De esta manera, se le indica al rastreador que el mapa del sitio mysite.it se encuentra en https://misitio.com/sitemap.xml El sitemap.xml no siempre se encuentra en la dirección que especifiqué o puede ser necesario indicar que hay varios mapas del sitio para el mismo sitio (esto sucede cuando tienes mucho contenido).
En este caso, la sintaxis correcta para insertar en robots.txt es la siguiente:
Sitemap: https://misitio.com/sitemap-1.xml
Sitemap: https://misitio.com/sitemap-2.xml
Sitemap: https://misitio.com/sitemap-3.xml
¿Dónde debo poner el archivo Robots.txt?
Una vez creado el archivo, se debe colocar en la raíz del sitio web. Esto es muy importante, ya que el rastreador primero consultará el Robots.txt siempre y solo en la dirección https://misitio.com/robots.txt
Un archivo Robots.txt para cada dominio o subdominio
La práctica es crear un archivo robots.txt para cada dominio o subdominio, ya que cada subdominio se analiza, escanea y evalúa como un sitio aislado del resto.
Por lo tanto:
sito.misitio.com/robots.txt y misitio.com/robots.txt tendrán dos archivos diferentes con diferentes directivas, si es necesario.
Consejos útiles para escribir el archivo Robots.txt
Hasta ahora hemos visto cómo es posible crear el archivo robots.txt de su sitio y cuáles son las directivas que podemos dar a los distintos rastreadores de los motores de búsqueda. En este punto, pasemos a algunos consejos «avanzados» sobre cómo escribir y administrar este .txt.
Comentar
Tenemos la posibilidad de insertar un comentario en nuestro robots.txt, de esta manera podemos escribir rápidamente una directiva en particular o sugerir a los insiders lo que hemos hecho a lo largo del tiempo.
Simplemente inserte el # antes de nuestro comentario:
# En esta fase de desarrollo, el sitio no se puede visitar bot.
User-agent: *
Disallow: /
Recuerde: cada línea emite un comando, por lo que si el comentario está escrito en varias líneas, deberá comentarlas todas:
# Este es un comentario
# En más de una línea
# Ok?
User-agent: *
Disallow: /carpeta-para-esconder/
Utilice el asterisco como comodín
El asterisco (*) se puede utilizar de dos formas en robots.txt.
El primero es usarlo para establecer una directiva para todos los agentes de usuario:
User-agent: *
El segundo es agregar un asterisco para crear un comodín en el nivel de la URL:
User-agent: *
Disallow: /producto/*?
De esta forma se nos indica al rastreador que no rastree las páginas que tienen un signo de interrogación en su interior.
Podemos escribir lo mismo en forma extendida:
User-agent: *
Disallow: /producto/marcador?
Disallow: /producto/pastel?
Disallow: /producto/lapiz?
Disallow: /producto/goma?
No hace falta decir que el primer formulario que usamos es mucho más fácil de usar.
Si en cambio, necesitamos excluir todas las URL excepto una, podemos escribir esto:
User-agent: *
Disallow: /producto/*?
Allow: /producto/pasteles?
De esta manera, la directiva Allow se inserta después para que el bot escanee la página relacionada con los crayones.
El $ para bloquear el acceso a un tipo de archivo
El $ se usa dentro de un archivo robots.txt para bloquear el escaneo de un tipo específico de archivo:
User-agent: *
Disallow: /*.xls$
De esta manera, el bot no analizará todos los archivos .xls.
Bloquear el acceso a una carpeta específica
Tomemos un pequeño ejemplo: tenemos nuestro sitio web mysite.com/it/ online, pero estamos desarrollando la versión en español, entonces: mysite.com/es/ . Queremos bloquear el acceso a los bots en la carpeta / es /, así que escribiremos:
User-agent: *
Disallow: /es/
En este caso no debemos equivocarnos al escribir la ruta sin la «/» final, de lo contrario todas las URL que empiecen por / es serían inaccesibles
User-agent: *
Disallow: /es
# De esta manera iremos a bloquear:
# https://misitio.com/ejemplo
# https://misitio.com/ejemplo-1
# https://misitio.com/ejemplo-2
Establece diferentes reglas para cada bot
Podemos establecer diferentes directivas para cada bot:
User-agent: Googlebot
Disallow: /escludi-a-google/
User-agent: bingbot
Allow: /esconder-a-google/
De esta forma estamos bloqueando una página de Google, pero le estamos indicando a Bing que puede entrar en la misma página.
Ejemplos de uso de directivas
Bloquea todos los bots para que no accedan a todo el sitio:
User-agent: *
Disallow: /
Bloquear el acceso de todo el sitio a Bing
User-agent: bingbot
Disallow: /
Bloquear el acceso a una carpeta específica:
User-agent: *
Disallow: /carpeta-para-bloquear/
Permitir el acceso a todo el sitio web
User-agent: *
Allow: /