Guía robots.txt: sintaxis, implementación y ejemplos. Controla el rastreo de Google, bloquea bots malos y optimiza el presupuesto de rastreo.

Robots.txt es un archivo simple pero poderoso que controla cómo los motores de búsqueda rastrean tu sitio web. Se encuentra en `https://ejemplo.com/robots.txt` y contiene reglas especificando qué páginas y directorios pueden rastrear Google, Bing y otros bots. Robots.txt te ayuda a gestionar el presupuesto de rastreo (número de páginas que Google rastrea diariamente), previene desperdiciar rastreo en páginas sin importancia y mantiene contenido privado fuera de resultados de búsqueda.
La mayoría de sitios web tienen un archivo robots.txt, pero muchos están mal configurados. Un robots.txt mal configurado puede bloquear accidentalmente páginas importantes, desperdiciando potencial de ranking. Un robots.txt bien configurado mejora la eficiencia de rastreo y protege la privacidad de tu sitio. Esta guía cubre sintaxis robots.txt, mejores prácticas y ejemplos del mundo real.
Robots.txt es un archivo de texto estandarizado que comunica instrucciones de rastreo a bots de motores de búsqueda. Cuando un bot visita tu sitio por primera vez, solicita `/robots.txt` antes de rastrear cualquier otra cosa. El robot lee las reglas y las sigue (asumiendo que el bot es bien comportado).
La documentación robots.txt de Google es la referencia autorizada para el estándar. El formato robots.txt fue creado en 1994 y ha sido ampliamente adoptado. Todos los motores de búsqueda principales (Google, Bing, Baidu) respetan robots.txt.
Importante: Robots.txt es una directriz, no un cortafuegos. Los bots bien comportados (Google, Bing) respetan reglas robots.txt. Los bots maliciosos y scrapers ignoran robots.txt. Usa robots.txt para gestionar rastreo de motores de búsqueda, no para bloquear hackers o scrapers. Para seguridad, usa herramientas a nivel de servidor.
Robots.txt usa sintaxis de texto simple. Cada regla tiene dos partes: un User-agent (a qué bot se aplica la regla) y rutas Disallow (qué páginas bloquear).
Ejemplo básico:
User-agent: *
Disallow: /admin/
Disallow: /staging/
Sitemap: https://ejemplo.com/sitemap.xml
Esto le dice a todos los bots (el `*` significa todos) que no rastreen los directorios `/admin/` y `/staging/`. La línea Sitemap le dice a los bots dónde está tu sitemap.
User-agent: \* significa todos los bots. También puedes especificar bots individuales:
`User-agent: Googlebot` se aplica solo al bot de Google. `User-agent: Bingbot` se aplica solo al bot de Bing. Puedes tener múltiples secciones User-agent con diferentes reglas.
Disallow: /ruta/ le dice a los bots que no rastreen esa ruta. Disallow: / bloquea todo el sitio. Disallow: (vacío) permite todo. Puedes listar múltiples reglas Disallow por User-agent.
Allow: /ruta/ permite rastrear una ruta específica incluso si un directorio padre está bloqueado. Ejemplo: Disallow: /temp/ pero Allow: /temp/important/ permite rastrear solo el subdirectorio /important/.
Patrón 1: Bloquear páginas de administración
User-agent: *
Disallow: /admin/
Disallow: /user/
Disallow: /account/
Esto bloquea rastreo de páginas administrativas, de usuario y de cuenta. Estas páginas típicamente no están destinadas para motores de búsqueda.
Patrón 2: Bloquear ambiente de staging
User-agent: *
Disallow: /staging/
Disallow: /test/
Previene que bots rastreen versiones de prueba o staging de tu sitio.
Patrón 3: Bloquear tipos de archivo específicos
User-agent: *
Disallow: /*.pdf
Disallow: /*.zip
Previene que bots rastreen PDFs y archivos ZIP. Esto es útil si tienes muchos PDFs que no deberían ser indexados.
Patrón 4: Bots lentos que sobrecargan tu servidor
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Crawl-delay: 10
Bloquea completamente el bot de Ahrefs (si no quieres que tu sitio sea rastreado por herramientas SEO). Ralentiza el bot de Semrush agregando un retraso de 10 segundos entre solicitudes. Crawl-delay es útil para bots agresivos que sobrecargan tu servidor.
Patrón 5: Permitir todo (por defecto)
User-agent: *
Disallow:
Este es el predeterminado. Disallow vacío significa permitir todo. También puedes omitir robots.txt completamente si quieres que todo contenido sea rastreable.
Robots.txt bloquea rastreo. Meta robots noindex bloquea indexación. Estos sirven propósitos diferentes.
Usa robots.txt cuando: Quieres ahorrar presupuesto de rastreo. Tienes contenido duplicado que no debería ser rastreado. Tienes páginas de administración que no deberían ser tocadas por bots. Quieres ralentizar bots agresivos.
Usa meta robots noindex cuando: Quieres que una página sea rastreada pero no indexada (para ver errores). Quieres prevenir indexación pero permitir rastreo. Quieres eventualmente eliminar una página de búsqueda pero mantenerla activa.
Ejemplo: Páginas paginadas como `/products?page=2` pueden bloquearse en robots.txt para ahorrar presupuesto de rastreo (ya que Google típicamente consolida paginación). Pero podrías querer que sean rastreadas para identificar relaciones canónicas. En ese caso, usa canonicals en lugar de robots.txt.
El presupuesto de rastreo es el número de URLs que Google rastrea diariamente en tu sitio. Los sitios grandes con millones de páginas no pueden ser rastreados completamente en un día. Google asigna presupuesto de rastreo basado en la autoridad de tu sitio y frecuencia de cambios. El presupuesto es finito. Desperdiciarlo en páginas sin importancia significa que páginas importantes se rastreen menos frecuentemente.
Optimiza presupuesto de rastreo bloqueando páginas que no deberían ser rastreadas: contenido duplicado, resultados paginados, páginas de cuenta de usuario, páginas de prueba. Cada página que bloquees le da a Google más presupuesto para rastrear tu contenido importante.
Desperdiciadores comunes de presupuesto de rastreo: paginación infinita (filtros de producto crean URLs ilimitadas), contenido duplicado con parámetros diferentes, IDs de sesión añadidos a cada URL, páginas de calendario/evento generando URLs infinitas. Usa robots.txt para bloquear estos patrones.
Google Search Console muestra estadísticas de rastreo de tu sitio. Monitorea solicitudes de rastreo diariamente. Si Google rastrea las mismas páginas repetidamente sin descubrir contenido nuevo, revisa tu robots.txt y estrategia de bloqueo.
Incluye tu URL de sitemap en robots.txt. Añade `Sitemap: https://ejemplo.com/sitemap.xml` al final de tu archivo robots.txt. Esto le dice a Google dónde encontrar tu sitemap XML. Puedes listar múltiples sitemaps si tienes múltiples archivos.
Ejemplo:
User-agent: *
Disallow: /admin/
Sitemap: https://ejemplo.com/sitemap.xml
Sitemap: https://ejemplo.com/sitemap-news.xml
Listar sitemaps en robots.txt es opcional (puedes enviar sitemaps vía Google Search Console), pero es una mejor práctica.
Google Search Console tiene un probador robots.txt. Ve a Configuración > Rastreo > Probar robots.txt. Ingresa una URL y ve si robots.txt la bloquea. Esto es invaluable para validar tus reglas antes de desplegar.
Siempre prueba antes de desplegar cambios robots.txt. Un error único (como `Disallow: /` bloqueando todo tu sitio) puede arruinar tus rankings. Usa el probador para verificar que:
Páginas importantes no están bloqueadas. Páginas de administración están bloqueadas. Patrones de contenido duplicado están bloqueados. No hay rutas críticas accidentalmente deshabilitadas.
Después de desplegar robots.txt, monitorea el informe de rastreo de Google Search Console para cambios. Si la tasa de rastreo cae inesperadamente, puede que hayas bloqueado contenido importante accidentalmente.
Error 1: Bloquear CSS y JavaScript. Si bloqueas `/css/` o `/js/` en robots.txt, Google no puede rastrear tu CSS y JavaScript. Sin CSS, Google no puede renderizar tus páginas correctamente. No bloquees CSS o JavaScript.
Error 2: Bloquear contenido importante. Siempre prueba antes de desplegar. Un typo como `Disallow: /p` en lugar de `Disallow: /staging/` puede bloquear accidentalmente `/products/`.
Error 3: Usar robots.txt para seguridad. No confíes en robots.txt para proteger datos sensibles. Las páginas sensibles deberían requerir autenticación, no solo robots.txt. Robots.txt es pública y fácilmente eludida.
Error 4: Robots.txt inconsistente entre dominios. Si tienes múltiples dominios, mantén políticas robots.txt consistentes. Reglas accidentalmente diferentes pueden causar problemas de eficiencia de rastreo.
Error 5: Bloquear el sitemap mismo. Nunca bloquees `/sitemap.xml` en robots.txt. Google necesita rastrear el sitemap para descubrir páginas.
Crawl-delay y Request-rate: Estas directivas ralentizan bots. `Crawl-delay: 10` añade 10 segundos entre solicitudes. `Request-rate: 1/10` permite 1 solicitud por 10 segundos. Usa estos para bots que sobrecargan tu servidor. Google recomienda usar configuración de Search Console en lugar de estas directivas.
Directiva Allow: Permite rastrear una ruta específica incluso si una ruta padre está bloqueada. Útil para carving out excepciones. Ejemplo: `Disallow: /temp/` pero `Allow: /temp/keep/` permite solo el subdirectorio keep.
La especificación robots.txt de Google documenta todas las directivas soportadas. La mayoría de funciones raramente se necesitan. Mantente con User-agent, Disallow y Sitemap básicos para la mayoría de sitios.
Las reglas específicas de User-agent permiten diferentes reglas de rastreo para diferentes bots. Puedes especificar reglas para Googlebot, Bingbot y otros user-agents separadamente. Esto es útil si quieres que Google rastree todo tu sitio pero restringir a Bing de acceder a ciertas secciones. Especifica user-agent al inicio de cada bloque de regla:
`User-agent: Googlebot` aplica reglas solo al rastreador de Google. `User-agent: *` aplica reglas a todos los bots. Las reglas se aplican al user-agent específico hasta la próxima directiva user-agent. Puedes crear múltiples bloques de regla para diferentes bots.
Las directivas Crawl-delay y request-rate le dicen a los bots con qué frecuencia rastrear. `Crawl-delay: 5` le dice al bot que espere 5 segundos entre solicitudes. Esto reduce carga del servidor. `Request-rate: 1/10` le dice al bot hacer como máximo 1 solicitud por 10 segundos. La documentación robots.txt de Google detalla todas las directivas soportadas.
Las directivas de ubicación de Sitemap le dicen a los bots dónde encontrar tu sitemap. `Sitemap: https://ejemplo.com/sitemap.xml` apunta bots a tu sitemap XML. Puedes especificar múltiples sitemaps. Esto se recomienda ya que ayuda a bots a descubrir todas tus páginas eficientemente.
La directiva Clean-param elimina parámetros de URL antes del rastreo. `Clean-param: utm_source&utm_medium https://ejemplo.com` le dice a Google que ignore parámetros UTM en ejemplo.com. Esto previene que Google trate links rastreados como contenido duplicado. Esto se usa menos ahora ya que Google maneja la mayoría de parámetros de rastreo automáticamente.
Prueba tu archivo robots.txt en el probador robots.txt de Google Search Console. La herramienta muestra qué URLs serían bloqueadas por tu robots.txt para Googlebot. Esto previene bloqueo accidental de páginas importantes.
Robots.txt es un archivo simple pero crítico para gestionar rastreo de motores de búsqueda y proteger la privacidad de tu sitio. Un robots.txt bien configurado bloquea páginas sin importancia, ahorra presupuesto de rastreo y previene que contenido duplicado sea rastreado múltiples veces. Un robots.txt mal configurado puede bloquear accidentalmente contenido importante y arruinar tus rankings.
Siempre prueba cambios robots.txt antes de desplegar. Usa el probador de Google Search Console para validar reglas. Monitorea estadísticas de rastreo mensualmente. Bloquea contenido sin importancia y gestiona presupuesto de rastreo efectivamente. Usa nuestra herramienta de auditoría GEO SEO para auditar tu configuración robots.txt e identificar problemas potenciales con rastreabilidad e indexación en todo tu sitio.
Robots.txt impide solo rastreo, no indexación. Una página bloqueada por robots.txt no puede ser rastreada, pero puede ser indexada si Google encuentra la URL en otro lugar. Para prevenir indexación, usa la etiqueta meta robots noindex.
Robots.txt es una directriz, no un cortafuegos. Los bots bien comportados respetan robots.txt. Los bots malos y scrapers ignoran robots.txt completamente. Para bloquear bots malos, usa herramientas a nivel de servidor como bloqueo de IP o limitación de velocidad.
Google recomienda mantener robots.txt bajo 500 kilobytes. Los archivos muy grandes pueden impactar la eficiencia de rastreo. Si tu robots.txt crece excesivamente, considera consolidar reglas o reestructurar tu sitio.