Saltar al contenido
SEO Toolkit

· 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 noindex para 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-agentA quién afecta
*Todos los bots
GooglebotSolo el bot de Google
BingbotSolo el bot de Bing
GPTBotBot de OpenAI (entrenamiento ChatGPT)
anthropic-aiBot de Anthropic (Claude)
Google-ExtendedBot 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.html y /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-Extended no 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

  1. Genera tu robots.txt con nuestro Generador — soporta 9 plantillas por CMS.
  2. Súbelo a la raíz de tu dominio.
  3. Verifica abriéndolo en el navegador.
  4. Pruébalo en Search Console.
  5. 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.