¿Qué es el robots.txt?
El robots.txt es un archivo de texto que se encuentra en el directorio raíz de un sitio web. Se utiliza para decirle a los robots de los motores de búsqueda qué páginas no deben rastrear.
¿Por qué se utiliza el robots.txt?
Hay varias razones por las que debes usar el robots.txt. Las más comunes son:
- Para impedir que los motores de búsqueda indexen páginas que no están terminadas o que no están preparadas para ser indexadas.
- Para proteger áreas sensibles del sitio web, como el panel de control del administrador.
- Ayudar a los motores de búsqueda, para que NO rastreen páginas que no son importantes.
¿Cómo crear un archivo robots.txt?
Crear un archivo robots.txt es muy sencillo. Puedes crearlo con cualquier editor de texto.
El archivo robots.txt es un archivo de texto plano, por lo que no necesitas utilizar ningún lenguaje de programación especial.
El contenido del archivo robots.txt es muy simple.
Es útil para «bloquear» ciertas zonas, o archivos de tu web a buscadores para evitar la indexación de contenido duplicado.
Siempre pongo entre comillas: bloqueo o control, porque, no siempre funciona como esperamos.
Debemos usar otros métodos como los meta robots en los encabezados.
Reglas y sintaxis del robots.txt
El robots.txt tiene unas reglas sencillas pero que nos pueden inducir a ciertos errores:
- Debe ir el nombre del robot (user-agent) y la acción
- La acción puede ser de dos tipos: disallow y allow
- Realmente lo importante es el disallow. El allow o permitir, es una excepción dentro del disallow. No tiene sentido decir allow todo porque ese es el comportamiento por defecto de un motor de búsqueda, rastrear todo (buena recomendación es ser minimalista).
- Es un archivo de texto (txt) no HTML
- Siempre va en minúsculas
- Puede haber líneas vacías entre los distintos agentes, pero no debería de haber entre las directrices
- Podemos poner comentarios con la almohadilla (#) ya que será ignorado por buscadores
- Es muy recomendable poner tu sitemap.xml
Algunos ejemplos y vamos a leerlo por líneas:
User-agent: Googlebot
Disallow:
User-agent: Bingbot
Disallow: /
# Bloqueamos a los robots de este directorio
User-agent: *
Disallow: /cosasprohibidas/
En el ejemplo anterior no bloqueamos nada a Google (el disallow está vacío) y bloqueamos toda la web a Bing al usar (/) que nos lleva a la carpeta raíz de la web.
En la tercera directriz, como señala el comentario, bloqueamos a todos los agentes el directorio: /cosasprohibidas/.
Cuando queremos dirigirnos a todos los robots, usamos el asterisco ( * )
Existen otras directrices como el crawl delay. Puedes verlo en el siguiente ejemplo:
User-agent: Bingbot
Crawl-delay: 5
El crawl-delay funciona como un retraso en segundos para evitar sobrecargar las peticiones al servidor.
Es algo que innecesario para la mayoría de las web. Le veo sentido a grandes webs o medios de comunicación con mucho tráfico.
El robots.txt acepta patrones regulares o comodines, algo muy útil si queremos bloquear ciertos directorios de nuestra web.
Ejemplo: el asterisco ( * ) para bloquear directorios que empiezan por la misma palabra: /carpeta*/ y bloqueará todos los directorios: carpeta1, carpeta2, etc.
User-agent: Googlebot
Disallow: /carpeta*/
El símbolo del dolar al final de la URL si queremos bloquear por ejemplo una extensión (como un pdf o un gif, por ejemplo ponemos /* .pdf$ ).
User-agent: Bingbot
Disallow: /*.pdf$
¿Qué sucede con el robots.txt por defecto en WordPress?
El robots.txt por defecto de WordPress es bueno porque:
- No bloquea ningún recurso del frontend de la web (la parte pública)
- Bloquea todos los recursos del backend (parte administrativa de la web) con una excepción:
- El admin-ajax.php que ofrece un apoyo a plugins y temas y puede ser utilizado en la parte pública de la web.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
El ejemplo del robots.txt por defecto de WordPress también nos enseña un factor importante de la sintaxis. El «allow» que sobreescribe una directiva anterior, bloqueamos todo del wp-admin, excepto: al admin-ajax.php.
Un detalle curioso. WP se encarga de crear un robots.txt virtual.
No existe realmente el archivo en el public_html donde sueles subir todos los archivos de la web. Hasta que no subes un archivo, es virtual. ¿Curioso no?
¿Debemos usar el robots.txt por defecto?
¿Por qué no?
Lo que se debe agregar es el sitemap y ya todos los plugins SEO lo agregan automáticamente.
Yo creo que menos es más. Es bueno ser minimalista en este archivo, los buscadores suelen revisarlo con frecuencia. Pensar bien si quieres bloquear algo y porqué.
Yo suelo bloquear los feed para que no me estén apareciendo en los informes de Search Console, pero vamos, tiendo a poner pocas especificaciones. En este ejemplo, te muestro mi robots.txt:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Allow: /wp-includes/*.js
Allow: /wp-includes/*.css
Disallow: *trackback
Disallow: /feed/
Disallow: */feed/
Sitemap: https://wajari.com/sitemap_index.xml
Como ven, no tiendo a poner muchas «milongas».
No lo veo necesario para la gran mayoría de las webs y no debemos olvidar que este archivo lo visitará casi todos los días Google, así que pensemos en términos de efectividad.
Utiliza si quieres bloquear algo. Recuerda, gran poder, gran responsabilidad.
Siempre comprueba que funciona bien. Te dejo alguna herramienta para que puedas probar. No te pongas a copiar y pegar sin ton ni son, analiza por ti mismo porqué haces eso.
- SEO Tool para analizar un robots.txt
- Documentación oficial de Google sobre el robots.txt que está muy bien explicado todo
Un detalle importante:
Recuerda que Google hace lo que le sale del forro.
Así que como te dije en vídeo de meta robots, si quieres bloquear una página o sección de los resultados del buscador, debes usar también el noindex porque el buscador podría llegar directamente, sin pasar por tu directiva de este simple archivo.
Ya verás que es un archivo tan simple, que no tendrás problema y forma parte de la esencia del SEO. Si tienes alguna duda, un gusto en leer tus comentarios 😉
¡Larga vida y prosperidad!
Genial, Wajari.
Solo que creo que robots.txt NO VALE es para «impedir» que los motores indexen, sino para «PEDIR o SUGERIR» que no indexen ciertas páginas del sitio web.
Actúa más, según mi experiencia, como una guía para los robots de rastreo que como una regla que deben seguir. Pero los robots toman sus propias decisiones y, aunque suelen hacer caso a las indicaciones de robots.txt, a veces deciden elegir su propia aventura y, si encuentran algo jugoso, podrían indexarlo igualmente.
Vamos, que robots.txt no debe ser considerado seguro para ocultar información, a veces es como el típico, «No pulses este botón rojo»
Muchas gracias camarada por comentar.
En realidad la indexación se controla siempre con los metadatos, con el robots.txt como bien señalas, «pides o sugieres» el rastreo, bloqueo, etc.
Eso si lo suelen más o menos respetar. Pero como tú mismo señalas, ellos eligen a veces sus aventuras. Bien descrito jeje 😉
Y si, sin duda como comentas, no debe ser considerado para ocultar información porque no te podría salir bien la jugada.
Un abrazo amigo 🙏