Guia Completa de Robots.txt: Controlando los Crawlers de Buscadores
Aprende a escribir el archivo robots.txt y gestionar eficazmente los crawlers de motores de busqueda.

El rol y limitaciones de robots.txt
robots.txt es un archivo de texto ubicado en el directorio raiz del sitio web que guia a los crawlers de motores de busqueda sobre que paginas rastrear. Forma parte del Protocolo de Exclusion de Robots establecido en 1994, un estandar usado desde los inicios de la web.
https://example.com/robots.txt
Sin embargo, hay un punto importante que aclarar: robots.txt es una recomendacion. Los bots de motores de busqueda bien disenados lo respetan, pero los bots maliciosos o web scrapers pueden ignorarlo. Por lo tanto, robots.txt no debe usarse como herramienta de seguridad. Los datos sensibles deben protegerse con autenticacion y control de acceso.
Como los crawlers procesan robots.txt
Cuando un crawler de motor de busqueda visita un sitio web, lo primero que verifica es robots.txt. El orden de procesamiento es:
- Solicitar
/robots.txt - Si no existe el archivo -> Permitir rastreo de todas las paginas
- Si existe -> Rastrear segun las reglas
- Buscar el bloque User-agent que le aplica
- Aplicar la regla mas especifica
Punto importante en la coincidencia de reglas: si Allow y Disallow aplican a la misma ruta, la regla mas especifica tiene prioridad. Si tienen la misma especificidad, Allow tiene prioridad.
Guia detallada de sintaxis
Directivas basicas
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://example.com/sitemap.xml
Crawl-delay: 10
| Directiva | Descripcion | Ejemplo |
|---|---|---|
| User-agent | Especifica crawler objetivo (* para todos los bots) | User-agent: Googlebot |
| Disallow | Ruta a prohibir rastreo | Disallow: /private/ |
| Allow | Ruta a permitir rastreo (excepcion de Disallow) | Allow: /private/open/ |
| Sitemap | URL del sitemap (ruta absoluta) | Sitemap: https://... |
| Crawl-delay | Intervalo de rastreo (segundos) - solo algunos bots lo soportan | Crawl-delay: 10 |
Comodines y marcador de fin de ruta
robots.txt soporta coincidencia de patrones limitada:
*- Cualquier cadena (0 o mas caracteres)$- Fin de ruta
# Bloquear todos los archivos .pdf
Disallow: /*.pdf$
# Bloquear URLs con parametros de consulta
Disallow: /*?
# Bloquear parametros especificos
Disallow: /*?sort=
Disallow: /*?filter=
# Bloquear URLs con ID de sesion
Disallow: /*sessionid
# Bloquear todos los archivos PHP en directorio especifico
Disallow: /scripts/*.php$
Nota: Los comodines solo se usan para coincidencia de rutas. No se soportan expresiones regulares.
Principales bots de motores de busqueda y AI
Es util conocer los principales bots que visitan sitios web:
Bots de motores de busqueda
| User-agent | Servicio | Descripcion |
|---|---|---|
| Googlebot | Google Search | Para busqueda web |
| Googlebot-Image | Google Images | Para busqueda de imagenes |
| Bingbot | Bing | Busqueda de Microsoft |
| Yeti | Naver | Buscador coreano |
| Baiduspider | Baidu | Buscador chino |
| DuckDuckBot | DuckDuckGo | Buscador de privacidad |
Crawlers de AI (aumento significativo desde 2024)
| User-agent | Servicio | Descripcion |
|---|---|---|
| GPTBot | OpenAI | Datos de entrenamiento de ChatGPT |
| ChatGPT-User | OpenAI | Funcion de navegacion de ChatGPT |
| CCBot | Common Crawl | Recoleccion de dataset abierto |
| anthropic-ai | Anthropic | Datos de entrenamiento de Claude |
| Claude-Web | Anthropic | Busqueda web de Claude |
| Google-Extended | Datos de entrenamiento de Gemini |
Para bloquear crawlers de entrenamiento de AI:
# Bloquear crawlers de entrenamiento AI
User-agent: GPTBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Google-Extended
Disallow: /
Ejemplos practicos: Configuraciones por situacion
Permitir todo (predeterminado)
User-agent: *
Allow: /
Bloquear todo (entornos de desarrollo/staging)
User-agent: *
Disallow: /
Sitio web general
User-agent: *
Allow: /
# Area de administracion
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /dashboard/
# Area personal de usuario
Disallow: /account/
Disallow: /profile/
Disallow: /my-*/
# Resultados de busqueda (evitar contenido duplicado)
Disallow: /search/
Disallow: /*?q=
Disallow: /*?s=
# Archivos temporales/desarrollo
Disallow: /tmp/
Disallow: /staging/
Disallow: /_*/
# Sitemap
Sitemap: https://example.com/sitemap.xml
Sitio de comercio electronico
User-agent: *
Allow: /
# Proceso de compra (innecesario para rastreo)
Disallow: /cart/
Disallow: /checkout/
Disallow: /order/
# Cuenta de usuario
Disallow: /my-account/
Disallow: /wishlist/
# Listas de productos filtradas/ordenadas (evitar duplicados)
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*?color=
Disallow: /*?size=
Disallow: /*&
# Busqueda interna
Disallow: /search/
# Permitir bots de comparacion de precios (opcional)
User-agent: PriceSpider
Allow: /
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/product-sitemap.xml
Sitio de blog/medios
User-agent: *
Allow: /
# Paginas de etiqueta/categoria (opcional - si preocupa contenido duplicado)
Disallow: /tag/
Disallow: /category/page/
# Archivo de autores
Disallow: /author/
# Paginas de adjuntos
Disallow: /attachment/
# Acceso directo a archivos multimedia
Allow: /wp-content/uploads/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/news-sitemap.xml
Errores comunes y soluciones
1. Omitir barra diagonal
# Incorrecto - bloquea todas las rutas que comienzan con "admin"
Disallow: admin
# Correcto - solo bloquea directorio /admin/
Disallow: /admin/
2. Error de mayusculas/minusculas
Los nombres de directivas distinguen mayusculas de minusculas:
# Incorrecto
user-agent: *
disallow: /admin/
# Correcto
User-agent: *
Disallow: /admin/
3. Problemas de renderizado por bloquear CSS/JS
Desde 2015, Google renderiza las paginas para entender el contenido. Bloquear CSS y JavaScript puede impedir que Google entienda correctamente la pagina:
# Incorrecto - bloquea recursos de renderizado
Disallow: /css/
Disallow: /js/
Disallow: *.css$
Disallow: *.js$
# Correcto - permitir recursos estaticos
Allow: /css/
Allow: /js/
Allow: /images/
4. Bloquear accidentalmente todo el sitio
# ¡Muy peligroso! Bloquea todo el sitio
User-agent: *
Disallow: /
Si despliegas esta configuracion en produccion, puedes desaparecer de los resultados de busqueda.
robots.txt vs meta robots vs X-Robots-Tag
Los tres metodos tienen diferentes usos y prioridades:
| Metodo | Ubicacion | Uso | Rastreo | Indexacion |
|---|---|---|---|---|
| robots.txt | Directorio raiz | Control de rastreo | O | X |
| meta robots | HTML head | Control de indexacion | X | O |
| X-Robots-Tag | Cabecera HTTP | Recursos no-HTML | X | O |
Importante: Incluso si bloqueas con robots.txt, la pagina puede aparecer en resultados de busqueda. Si otros sitios enlazan a ella, Google conocera la URL y puede mostrarla solo con la URL sin contenido.
Para eliminar completamente de los resultados de busqueda:
<!-- Agregar al head de la pagina -->
<meta name="robots" content="noindex, nofollow">
Metodos de verificacion de robots.txt
Google Search Console
- Acceder a Search Console
- Menu izquierdo "Configuracion" -> "robots.txt"
- Usar funcion "Prueba en vivo" para verificar si URL esta bloqueada
Verificar desde linea de comandos
# Ver contenido actual de robots.txt
curl https://example.com/robots.txt
# Simular desde perspectiva de bot especifico (requiere Python)
pip install robotexclusionrulesparser
python -c "
import robotexclusionrulesparser as rerp
rp = rerp.RobotExclusionRulesParser()
rp.fetch('https://example.com/robots.txt')
print(rp.is_allowed('Googlebot', '/admin/'))
"
Optimizacion del presupuesto de rastreo
Para sitios grandes, el "presupuesto de rastreo" (Crawl Budget) es importante. Es la cantidad de recursos de rastreo que Google asigna a un sitio. Bloquear paginas innecesarias con robots.txt permite que las paginas importantes sean rastreadas con mas frecuencia.
Paginas que desperdician presupuesto de rastreo:
- Listas de productos filtradas/ordenadas
- URLs con ID de sesion
- Calendarios infinitos
- Resultados de busqueda interna
- Paginas de impresion
Generador de Robots.txt de Toolypet
Crea facilmente incluso robots.txt complejos:
- Selecciona patrones de rutas a bloquear
- Configura bloqueo de bots especificos
- Ingresa URL del sitemap
- Verifica con vista previa
- Descarga archivo completo
¡Usa correctamente robots.txt para utilizar eficientemente el presupuesto de rastreo y asegurar que tu contenido importante se muestre bien en los resultados de busqueda!