· SEO Toolkit
Robots.txt: la guía completa con ejemplos para WordPress, Shopify y otros CMS
Aprende qué es el archivo robots.txt, cómo configurarlo correctamente para cada CMS y los errores que pueden hacerte perder todo el tráfico orgánico.
Hay un archivo de una página que puede destruir el SEO de tu web entera en cuestión de horas. Y otro idéntico que puede mejorar la indexación de tu contenido importante. La diferencia: una sola línea.
Ese archivo es el robots.txt. En esta guía te explico exactamente qué es, cómo configurarlo bien para tu CMS y los errores típicos que ves en webs reales (y que probablemente estés cometiendo).
Qué es el robots.txt y por qué importa
El robots.txt es un archivo de texto plano que se coloca en la raíz de tu dominio (https://tuweb.com/robots.txt). Su función: decirle a los bots de los buscadores qué URLs pueden y no pueden rastrear.
Cuando Googlebot visita tu web, lo primero que hace es descargar tu robots.txt y leerlo. Solo después decide qué páginas rastrear. Por eso es tan crítico: una mala instrucción aquí afecta a toda tu web.
Crawling vs indexación: la confusión más común
Antes de seguir, una distinción clave:
- Crawling (rastreo): el bot visita una URL y descarga su contenido.
- Indexación: el bot añade esa URL a su base de datos para mostrarla en SERP.
robots.txt controla el rastreo, no la indexación. ¿Qué significa esto en la práctica?
Si tienes una URL bloqueada por robots.txt pero con enlaces externos apuntándola, Google puede mostrarla en SERP sin descripción (porque no la ha rastreado pero sabe que existe). Para que NO aparezca en absoluto, necesitas la etiqueta noindex en el HTML de la página.
La regla de oro
- Usa robots.txt para evitar que los bots desperdicien crawl budget en URLs sin valor SEO (carrito, búsqueda interna, área privada).
- Usa
noindexpara que las URLs no aparezcan en los resultados (gracias por la compra, páginas duplicadas).
Anatomía del robots.txt
Un robots.txt típico tiene esta estructura:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://miweb.com/sitemap.xml
Vamos pieza por pieza.
User-agent
Define para qué bot aplica el bloque siguiente. Algunos valores comunes:
| User-agent | A quién afecta |
|---|---|
* | Todos los bots |
Googlebot | Solo el bot de Google |
Bingbot | Solo el bot de Bing |
GPTBot | Bot de OpenAI (entrenamiento ChatGPT) |
anthropic-ai | Bot de Anthropic (Claude) |
Google-Extended | Bot de Google para AI (Gemini, AI Overviews) |
Disallow
Bloquea el rastreo de una ruta. Soporta wildcards (* y $).
Disallow: /admin/ → Bloquea todo lo que cuelgue de /admin/
Disallow: /privado.html → Bloquea solo esa URL específica
Disallow: /*.pdf$ → Bloquea todos los PDFs
Disallow: /*?utm_* → Bloquea URLs con parámetros UTM
Disallow: → Vacío = no bloquea nada
Allow
Crea excepciones dentro de un Disallow más amplio.
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php ← Bloqueas wp-admin pero permites admin-ajax
Sitemap
Indica dónde encontrar tu sitemap. Puedes declarar varios:
Sitemap: https://miweb.com/sitemap.xml
Sitemap: https://miweb.com/sitemap-blog.xml
Sitemap: https://miweb.com/sitemap-productos.xml
Crawl-delay (legacy)
Pide al bot que espere N segundos entre peticiones. Google lo ignora, pero Bing y Yandex sí lo respetan.
Crawl-delay: 5
Ejemplos por CMS (con explicaciones)
WordPress
WordPress no genera un robots.txt físico por defecto (es virtual y muy básico). Lo recomendado es crear uno custom:
User-agent: *
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /readme.html
Disallow: /license.txt
Disallow: /xmlrpc.php
Disallow: /?s=
Disallow: /search/
Disallow: /trackback/
Disallow: /comments/feed/
Disallow: /*?replytocom=
Sitemap: https://tuweb.com/sitemap.xml
Por qué cada línea:
Allow: /wp-admin/admin-ajax.php— necesario para que muchos plugins funcionen bien (carrito de e-commerce, formularios, sliders).Allow: /wp-content/uploads/— CRÍTICO: tus imágenes deben indexarse para aparecer en Google Images.Disallow: /wp-admin/— no aporta SEO y puede revelar información sensible.Disallow: /wp-includes/— archivos del core de WordPress.Disallow: /wp-content/plugins/— evita que se indexen archivos de plugins (algunos exponen versiones, riesgo de seguridad).Disallow: /readme.htmly/license.txt— archivos del core que revelan tu versión de WordPress (vector de ataque).Disallow: /xmlrpc.php— endpoint legacy usado para ataques de fuerza bruta.Disallow: /?s=y/search/— resultados de búsqueda interna = contenido duplicado.Disallow: /*?replytocom=— URLs duplicadas que generan los comentarios.
Shopify
Shopify tiene su propio robots.txt automático. Desde 2021 puedes personalizarlo creando templates/robots.txt.liquid en tu tema. Configuración recomendada:
User-agent: *
Disallow: /admin
Disallow: /cart
Disallow: /orders
Disallow: /checkout
Disallow: /checkouts/
Disallow: /account
Disallow: /account/
Disallow: /search
Disallow: /policies/
Disallow: /a/
Disallow: /9.json
Disallow: /recommendations/products
Disallow: /*?q=
Disallow: /*?sort_by=
Disallow: /*?filter=
Sitemap: https://tutienda.com/sitemap.xml
Claves específicas de Shopify:
Disallow: /a/— rutas de apps de Shopify, generan ruido.Disallow: /policies/— políticas (envíos, devoluciones) suelen ser duplicadas y poco útiles.Disallow: /*?q=— búsquedas internas.Disallow: /*?sort_by=y/*?filter=— filtros de catálogo (clave para evitar contenido duplicado masivo).
PrestaShop
PrestaShop genera un robots.txt automático desde el backoffice (Tráfico → SEO y URL → Generar archivo robots.txt). Pero suele necesitar ajustes para evitar duplicados por filtros:
User-agent: *
Disallow: /classes/
Disallow: /config/
Disallow: /controllers/
Disallow: /css/
Disallow: /js/
Disallow: /modules/
Disallow: /override/
Disallow: /tools/
Disallow: /upload/
Disallow: /var/
Disallow: /vendor/
Disallow: /webservice/
Disallow: /cart
Disallow: /order
Disallow: /search
Disallow: /password-recovery
Disallow: /authentication
Disallow: /addresses
Disallow: /*?orderby=
Disallow: /*?orderway=
Disallow: /*?id_currency=
Disallow: /*?search_query=
Sitemap: https://tutienda.com/1_index_sitemap.xml
Las reglas con ?orderby=, ?orderway=, ?id_currency= son críticas porque PrestaShop genera decenas de URLs duplicadas por cada producto cuando se aplican filtros y ordenaciones.
Magento 2
Magento es uno de los CMS más complejos en cuanto a URLs duplicadas. Mínimo recomendado:
User-agent: *
Disallow: /admin/
Disallow: /app/
Disallow: /bin/
Disallow: /dev/
Disallow: /lib/
Disallow: /pkginfo/
Disallow: /var/
Disallow: /vendor/
Disallow: /catalog/product_compare/
Disallow: /catalogsearch/
Disallow: /checkout/
Disallow: /customer/
Disallow: /sendfriend/
Disallow: /review/product/
Disallow: /wishlist/
Disallow: /*?SID=
Disallow: /*?p=
Disallow: /*?dir=
Disallow: /*?order=
Disallow: /*?limit=
Sitemap: https://tutienda.com/sitemap.xml
Joomla, Drupal, Wix, Squarespace
Cada CMS tiene sus particularidades de carpetas y URLs. Si usas alguno de estos, te ahorras el trabajo manual usando nuestro Generador de robots.txt — selecciona tu CMS y obtienes la configuración óptima al instante.
Bloquear bots de IA: ¿sí o no?
Desde 2023, decenas de bots rastrean la web para entrenar modelos de IA generativa. Los principales:
- GPTBot (OpenAI / ChatGPT)
- ChatGPT-User (cuando ChatGPT navega en tiempo real)
- anthropic-ai y Claude-Web (Anthropic)
- Google-Extended (Gemini y AI Overviews)
- PerplexityBot (Perplexity)
- Bytespider (TikTok / ByteDance)
- CCBot (Common Crawl, usado por muchos modelos)
- Applebot-Extended (Apple Intelligence)
- Amazonbot (Alexa+ y modelos de Amazon)
Si quieres bloquearlos
User-agent: GPTBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Claude-Web
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Bytespider
Disallow: /
A favor de bloquear
- Tu contenido no se usa para entrenar modelos sin tu consentimiento.
- Defiendes tu propiedad intelectual.
- Reduces consumo de ancho de banda.
En contra de bloquear
- No aparecerás citado en respuestas de ChatGPT, Claude, Perplexity, AI Overviews de Google.
- En el futuro, el tráfico desde asistentes de IA puede ser una fuente importante de visitantes.
Google-Extendedno es Googlebot — bloquearlo NO afecta a tu SEO en Google búsqueda. Solo a si Google te incluye en respuestas con IA.
Mi recomendación: depende de tu modelo de negocio.
- ¿Vives de tráfico orgánico, AdSense, afiliación? → No bloquees. El tráfico de IA es marginal hoy pero puede crecer.
- ¿Eres editor con contenido premium, banco de imágenes, autor cuya obra es el producto? → Bloquea. Defiende tu IP.
Bloquear bots de SEO scrapers
Hay otro grupo de bots que rastrean tu web para vender datos a tu competencia: Ahrefs, Semrush, MJ12, Majestic, etc.
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Disallow: /
User-agent: MJ12bot
Disallow: /
User-agent: DotBot
Disallow: /
A favor de bloquear
- Reduces consumo de servidor (estos bots son agresivos, hacen muchas peticiones).
- Tu competencia no ve tu estructura interna ni tus enlaces.
En contra de bloquear
- TÚ tampoco verás datos de tu propia web en esas plataformas si las usas para auditar.
- No mejoran ni perjudican tu SEO en Google (son herramientas terceras).
Mi recomendación: bloquéalos solo si tu servidor sufre con su tráfico. Si tienes un hosting decente, déjalos pasar.
Los 7 errores más graves del robots.txt
1. Disallow: / (bloquear toda la web)
❌ User-agent: *
Disallow: /
Una sola barra de más y acabas de pedir a Google que no rastree absolutamente nada. He visto webs perder el 100% del tráfico orgánico por esto.
✅ User-agent: *
Disallow: ← (vacío, permite todo)
Cuidado especial si usas un staging y subes el robots.txt a producción por error.
2. Bloquear CSS y JavaScript
❌ Disallow: /assets/
❌ Disallow: /js/
❌ Disallow: /css/
Si Google no puede leer tus CSS y JS, no puede renderizar tu web correctamente. Y desde 2015 esto afecta directamente al ranking. Permite siempre el acceso a estos archivos.
3. Bloquear /uploads/ en WordPress
❌ Disallow: /wp-content/uploads/
Tus imágenes son contenido SEO. Bloquearlas elimina tu presencia en Google Images y reduce la calidad percibida de tus páginas.
✅ Allow: /wp-content/uploads/
4. Confiar en robots.txt para “ocultar” datos sensibles
❌ User-agent: *
Disallow: /backup-secreto-2026/
robots.txt es público. Cualquiera puede leerlo en tuweb.com/robots.txt. Estás revelando dónde está tu contenido sensible.
Para datos sensibles: autenticación HTTP, firewall, o .htaccess.
5. Olvidar declarar el sitemap
❌ (sin línea Sitemap:)
Aunque envíes el sitemap por Search Console, declararlo en robots.txt es importante porque:
- Bing, Yandex, DuckDuckGo no tienen tu Search Console.
- Es la forma estándar y universal de descubrirlo.
6. Usar Crawl-delay para Google
❌ User-agent: Googlebot
Crawl-delay: 10
Google ignora completamente la directiva Crawl-delay. Si quieres que rastree menos tu web, ve a Search Console → Configuración → Frecuencia de rastreo.
7. Reglas contradictorias
❌ User-agent: *
Allow: /privado/
Disallow: /privado/
Cuando hay conflicto, Google sigue la regla más específica (la más larga). Pero el comportamiento de otros bots es impredecible. Mejor evitar contradicciones.
Cómo validar tu robots.txt
1. Comprueba que es accesible
Abre en el navegador https://tuweb.com/robots.txt. Debes ver el contenido en texto plano. Si ves un 404 o un HTML de error, no está bien subido.
2. Probador de Google
Search Console → Configuración → Probador de robots.txt. Puedes:
- Ver el robots.txt que Google está leyendo.
- Probar URLs específicas para ver si están permitidas o bloqueadas.
- Detectar errores de sintaxis.
3. Audita tu home con nuestro Analizador SEO
Pasa nuestro Analizador SEO sobre tu home. Detecta si el robots.txt bloquea recursos críticos como CSS/JS que afectan al renderizado.
4. Revisa Search Console regularmente
En Search Console → Cobertura → Excluidas, busca el motivo “Bloqueada por robots.txt”. Si ves URLs que deberían estar indexadas, tu robots.txt está mal configurado.
Cuánto tarda en aplicarse un cambio
Google revisa el robots.txt aproximadamente una vez cada 24 horas. Cuando cambias el archivo:
- Mínimo: 24 horas para que Google lo lea.
- Habitual: 1-3 días para que el cambio se aplique al rastreo.
- Cambios en URLs ya indexadas: hasta 2-4 semanas para reflejarse en SERP.
Para forzar la actualización, ve a Search Console → Probador de robots.txt → “Enviar”.
Buenas prácticas finales
- Mantén el archivo limpio: comenta tus reglas con
#para que tu yo del futuro entienda por qué bloqueaste cada cosa. - Versiona en Git: ten el robots.txt en tu repo junto al resto del código. Si rompes algo, puedes revertir.
- Audita cada 6 meses: rutas que tenían sentido bloquear hace un año pueden no tenerlo ahora (o viceversa).
- No copies el robots.txt de otra web sin entenderlo. Cada web tiene necesidades distintas.
- Combínalo con sitemap.xml: robots.txt dice qué NO rastrear; sitemap dice qué SÍ priorizar.
Próximos pasos
- Genera tu robots.txt con nuestro Generador — soporta 9 plantillas por CMS.
- Súbelo a la raíz de tu dominio.
- Verifica abriéndolo en el navegador.
- Pruébalo en Search Console.
- Audita el resto con el Analizador SEO.
Y si quieres entender el siguiente nivel del SEO técnico (los datos estructurados que activan rich snippets), lee nuestra guía completa de Schema Markup.