Guías de robots.txt

Comodines en robots.txt y prioridad de reglas: *, $ y coincidencia más larga

Aprende cómo funcionan * y $ en robots.txt, por qué la prioridad no depende del orden visual y cómo se resuelven conflictos entre Allow y Disallow.

Por Robots.txt Tools Editorial TeamÚltima verificación 2026-09-133 min de lectura
Comodines en robots.txt y prioridad de reglas: *, $ y coincidencia más larga

La coincidencia de reglas en robots.txt no funciona como “gana la última línea”. Entre reglas Allow y Disallow aplicables, importa la coincidencia más específica. RFC 9309 define la regla más específica según la longitud de la ruta que coincide y recomienda Allow cuando dos reglas equivalentes entran en conflicto.

Google aplica la misma idea práctica y soporta dos caracteres especiales útiles: * y $.

Qué significan * y $

  • * coincide con cero o más caracteres válidos;
  • $ marca el final de la URL.
User-agent: *
Disallow: /*.pdf$

Este patrón busca rutas que terminan en .pdf. Sin $ el patrón es más amplio:

Disallow: /*.pdf

Un * al final suele ser innecesario

Para Google, estas reglas tienen un alcance práctico muy parecido:

Disallow: /private
Disallow: /private*

Si quieres referirte claramente a un directorio, usa /private/. Eso evita confundirlo con rutas como /private.html.

La coincidencia más larga gana al orden visual

User-agent: *
Disallow: /products/
Allow: /products/public/

Para /products/public/widget, ambas coinciden, pero /products/public/ es más específica y por tanto se permite.

Cambiar el orden de las líneas no debería ser tu estrategia para modificar el resultado.

Empates entre Allow y Disallow

RFC 9309 indica que, ante reglas equivalentes, debe preferirse Allow. Google también documenta un resultado menos restrictivo en conflictos de la misma especificidad.

Es mejor evitar diseños que dependan de un empate: expresa la política con rutas claramente distintas.

Las rutas distinguen mayúsculas y minúsculas

Disallow: /Admin/

no equivale necesariamente a:

Disallow: /admin/

Los nombres de campo son insensibles a mayúsculas, pero los valores de ruta pueden ser sensibles. Prueba ambas variantes si tu aplicación las sirve.

Parámetros y ecommerce

Es habitual encontrar reglas como:

User-agent: *
Disallow: /*?sort=

Pero el orden de varios parámetros puede cambiar el patrón real. En navegación facetada, simplifica primero la arquitectura y los enlaces internos; no conviertas robots.txt en la única defensa frente a combinaciones ilimitadas.

Prefiere reglas simples

Disallow: /busqueda-interna/

es más fácil de mantener que una colección de patrones complejos. Usa comodines cuando exista una forma repetible que realmente no pueda expresarse con un prefijo estable.

Prueba URLs, no solo el texto

Con estas reglas:

User-agent: *
Disallow: /reports/
Allow: /reports/public/
Disallow: /*.csv$

prueba como mínimo:

  • /reports/private/quarterly
  • /reports/public/overview
  • /downloads/data.csv
  • /downloads/data.csv?preview=1
  • /REPORTS/private/quarterly

Así detectas errores de prefijo, mayúsculas, anclaje final y solapamiento.

Flujo recomendado

  1. Escribe la política en lenguaje normal.
  2. Elige el prefijo más simple.
  3. Añade * o $ solo si hacen falta.
  4. Prepara URLs que deben permitirse y bloquearse.
  5. Valida la sintaxis.
  6. Prueba cada URL para el User-agent correcto.
  7. Comprueba el /robots.txt publicado.
  8. Revisa logs después del cambio.

La idea clave es que la especificidad importa más que la posición de la línea. Usa comodines con moderación y prueba siempre las URLs donde varias reglas puedan coincidir.

Guías relacionadas