Qué es robots.txt
El robots.txt es un archivo de texto plano que vive en la raíz de tu dominio y le dice a los crawlers de buscadores qué partes de tu sitio pueden o no rastrear. Es la primera puerta que tocan los bots cuando llegan a tu sitio: leen robots.txt y a partir de ahí deciden qué URLs visitan.
Sintaxis básica
- User-agent: a qué bot le aplica la regla (Googlebot, Bingbot, * para todos).
- Disallow: ruta o prefijo a bloquear.
- Allow: excepción a un Disallow más amplio.
- Sitemap: URL absoluta de tu sitemap.xml.
Casos de uso típicos
- Sitio abierto: User-agent * con Disallow vacío. Todo se rastrea.
- Bloquear panel admin: Disallow: /admin/ para que no se indexe el panel.
- Bloquear staging: Disallow: / para que ningún bot rastree el sitio de pruebas.
- Bloquear archivos pesados: PDFs, ZIPs o exports que no querés en el índice.
Lo que robots.txt NO hace
Mucha gente confunde rastreo con indexación. robots.txt sólo controla rastreo (si el bot visita la URL). Si una URL bloqueada por robots.txt es enlazada desde otro sitio, Google igual puede indexarla, mostrando un snippet vacío. Para garantizar que algo no aparezca en resultados, usá meta robots noindex en la propia página, no robots.txt.
Errores comunes
- Bloquear todo en producción: olvidarse Disallow: / del staging y subirlo a producción es una catástrofe SEO.
- Bloquear CSS o JS: Google necesita estos archivos para renderizar y rankear bien. No los bloquees.
- Pensar que robots.txt es seguridad: cualquiera puede leer tu robots.txt. Listar /admin/ ahí es como ponerlo en un cartel.
- Mayúsculas vs minúsculas: las rutas son case-sensitive. /Admin/ y /admin/ son distintas.
Ubicación y validación
El archivo tiene que estar en la raíz exacta del dominio: https://tusitio.com/robots.txt. No funciona en subcarpetas. Validalo en Google Search Console (Ajustes > robots.txt) para ver cómo lo interpreta Googlebot. También probá tu URL real con la herramienta de inspección para confirmar que se rastrea.
Checklist final
Antes de subirlo a producción: confirmar que no estás bloqueando rutas críticas, que el sitemap apunta a la URL correcta con https, y que en staging tenés un robots.txt distinto que efectivamente bloquea todo. Mantené el archivo simple: cuanto menos reglas, menos chance de error.