Cómo funciona robots.txt y cuándo bloquear páginas de Google
Entiende qué controla realmente robots.txt, cuándo tiene sentido bloquear URLs y qué errores pueden perjudicar el rastreo de tu sitio.

El archivo robots.txt parece sencillo: unas pocas líneas que indican a los rastreadores qué partes de un sitio pueden o no solicitar. Aun así, una regla demasiado amplia puede impedir que Google rastree páginas importantes, bloquear recursos necesarios para renderizar el sitio o crear la falsa impresión de que una URL ha desaparecido del buscador.
La idea más importante es esta: robots.txt controla el rastreo, no la indexación. El archivo indica a Googlebot qué URLs puede solicitar. Eso es diferente de decidir si una URL puede aparecer en los resultados de Google.
Entender esa diferencia evita muchos errores de SEO.
Qué es robots.txt
robots.txt es un archivo de texto publicado en la raíz de un sitio. En un dominio como https://example.com, normalmente se encuentra en:
https://example.com/robots.txt
Los rastreadores compatibles pueden consultar ese archivo antes de recorrer el sitio y utilizar sus reglas para decidir qué rutas tienen permitido solicitar.
Las reglas se aplican al protocolo, host y puerto donde se publica el archivo. El robots.txt de https://example.com, por ejemplo, no controla automáticamente https://tienda.example.com.
Tampoco es una barrera de seguridad. El contenido privado debe protegerse con autenticación, autorización u otro mecanismo real de control de acceso.
Rastreo e indexación no son lo mismo
Esta es la diferencia que más confusión genera.
Rastrear significa que Googlebot solicita una URL y lee su contenido.
Indexar significa que Google procesa información sobre esa URL y decide si puede guardarla y mostrarla en los resultados.
robots.txt actúa principalmente sobre el rastreo.
Por ejemplo:
User-agent: * Disallow: /informes/
La regla indica a los rastreadores compatibles que no deben solicitar URLs bajo /informes/.
Pero eso no garantiza que una dirección como:
https://example.com/informes/ventas
nunca aparezca en Google.
Si otras páginas enlazan a esa URL, Google puede descubrirla aunque no pueda rastrear su contenido. En algunos casos, una URL bloqueada puede aparecer en los resultados sin un fragmento normal de texto.
Por eso, bloquear una página en robots.txt no equivale a eliminarla del índice.
Cuándo usar noindex en lugar de robots.txt
Si quieres permitir que Google acceda a una página pero impedir que aparezca en los resultados, normalmente noindex es la opción adecuada.
Un ejemplo habitual en HTML es:
<meta name="robots" content="noindex">
Google necesita rastrear la página para leer esa instrucción.
Por eso, esta combinación puede ser problemática:
User-agent: * Disallow: /pagina-interna/
mientras la página contiene:
<meta name="robots" content="noindex">
Si Googlebot no puede acceder por culpa de robots.txt, puede no llegar a leer el noindex.
Si quieres que Google procese noindex, no bloquees esa misma página del rastreo.
Y si el contenido es realmente privado, ni robots.txt ni noindex sustituyen un control de acceso real.
Cómo funcionan las directivas básicas
Un archivo robots.txt se organiza en grupos. Cada grupo empieza con User-agent y contiene reglas para ese rastreador.
Un ejemplo simple:
User-agent: * Disallow: /admin/ Disallow: /busqueda-interna/ Sitemap: https://example.com/sitemap.xml
User-agent
User-agent identifica a qué rastreador se aplica el grupo.
El asterisco representa a los rastreadores de forma general:
User-agent: *
También puedes crear reglas para un crawler concreto:
User-agent: Googlebot
Los grupos específicos solo deberían existir cuando hay un motivo real para tratar a ese rastreador de otra manera.
Disallow
Disallow indica qué rutas no debe solicitar el crawler.
Por ejemplo:
Disallow: /admin/
impide el rastreo de esa ruta para el grupo correspondiente.
Las reglas amplias requieren cuidado porque un patrón corto puede afectar más URLs de las que esperabas.
Allow
Allow permite crear una excepción dentro de una zona bloqueada.
Por ejemplo:
User-agent: * Disallow: /archivos/ Allow: /archivos/publicos/
La ruta general /archivos/ queda bloqueada, mientras /archivos/publicos/ se permite de forma explícita.
Para Google, prevalece la regla coincidente más específica. Si dos reglas en conflicto tienen la misma especificidad, se prefiere la menos restrictiva.
Sitemap
También puedes indicar la ubicación de un sitemap:
Sitemap: https://example.com/sitemap.xml
Se pueden declarar varios:
Sitemap: https://example.com/sitemap-posts.xml Sitemap: https://example.com/sitemap-productos.xml
Esto ayuda a los rastreadores a localizar los sitemaps, pero no garantiza que todas sus URLs sean indexadas.
Cuándo tiene sentido bloquear URLs
El mejor uso de robots.txt suele ser reducir rastreo innecesario, no ocultar contenido.
Zonas sin valor para buscadores
Algunos sitios generan rutas técnicas, resultados de búsqueda interna o URLs creadas solo para operaciones del sistema.
Si bloquearlas no impide acceder a contenido importante ni a recursos necesarios, una regla en robots.txt puede ser adecuada.
Muchas combinaciones de filtros y parámetros
Tiendas y directorios pueden generar miles de combinaciones:
/productos?color=azul&talla=m /productos?color=azul&talla=l /productos?orden=precio
Bloquear parámetros no es automáticamente la mejor solución. También influyen las URLs canónicas, los enlaces internos, la navegación por filtros y la arquitectura del sitio.
En sitios muy grandes, sin embargo, limitar el rastreo de espacios de URL con poco valor puede formar parte de una estrategia de gestión del crawl.
Endpoints costosos o repetitivos
Algunas URLs ejecutan consultas pesadas, generan informes o realizan operaciones que un rastreador no necesita.
Reducir el acceso de bots puede tener sentido en esos casos.
Si el endpoint es sensible, debe estar protegido igualmente con controles reales.
Cuándo no conviene bloquear una ruta
Algunos usos de robots.txt parecen cómodos, pero resuelven el problema equivocado.
Páginas que quieres sacar de Google
Si la intención es eliminar una página de los resultados, bloquear el rastreo no es la solución directa.
Según el caso, utiliza noindex, elimina la página, exige autenticación o aplica otra estrategia de indexación.
CSS y JavaScript importantes
Google necesita acceder a recursos esenciales para renderizar una página correctamente.
Bloquear CSS o JavaScript utilizado por páginas que quieres indexar puede dificultar que Google entienda lo que ve el usuario.
Antes de bloquear una carpeta de assets, comprueba qué páginas dependen de ella.
Contenido privado
El archivo robots.txt es público. Cualquiera puede abrir /robots.txt y leer sus rutas.
Escribir:
Disallow: /documentos-secretos/
no convierte ese directorio en secreto.
Si un recurso no debe ser público, utiliza autenticación y autorización.
Cómo funcionan los grupos específicos para bots
Puedes definir grupos diferentes:
User-agent: * Disallow: /temporal/ User-agent: Googlebot Disallow: /experimento/
Un detalle importante es que Google busca el grupo de User-agent más específico que corresponda al rastreador.
El grupo de Googlebot no se mezcla simplemente con el grupo general *.
En este ejemplo, Googlebot evalúa las reglas del grupo específico. Los rastreadores sin un grupo propio utilizan el grupo general.
Google también puede combinar grupos repetidos para el mismo user-agent específico.
Por eso conviene mantener el archivo sencillo y fácil de revisar.
Cómo funcionan * y $ en las reglas
Google admite dos caracteres útiles para hacer coincidencias.
El asterisco * representa cero o más caracteres.
Por ejemplo:
Disallow: /*.pdf
puede coincidir con rutas que contienen .pdf después de la barra inicial.
El signo $ representa el final de la URL.
Por ejemplo:
Disallow: /*.pdf$
coincide con una URL que termina exactamente en .pdf.
Una URL como:
/documento.pdf?download=1
no termina en .pdf, así que el $ cambia el resultado.
Los comodines son útiles, pero aumentan el riesgo de bloquear URLs inesperadas. Cuanto más compleja sea la regla, más importante es probarla.
Errores frecuentes en robots.txt
Una de las reglas más peligrosas es:
User-agent: * Disallow: /
La barra representa todo el sitio para ese grupo.
Puede ser correcta en un entorno que realmente no debe rastrearse, pero es peligrosa en producción.
Otros errores comunes son:
- usar
robots.txtpara intentar eliminar páginas del índice; - bloquear una página que contiene
noindex; - bloquear CSS o JavaScript necesarios para renderizar;
- olvidar que las rutas distinguen mayúsculas y minúsculas;
- copiar reglas de otro sitio sin entender su estructura;
- crear demasiadas excepciones difíciles de mantener;
- asumir que todos los crawlers interpretan igual extensiones no estándar.
Un archivo corto y legible suele ser más seguro que uno complicado que nadie quiere modificar.
Cómo probar las reglas antes de publicar
Antes de cambiar el archivo en producción, prepara varias URLs reales:
- una que debe seguir permitida;
- una que debe quedar bloqueada;
- una excepción con
Allow; - una URL con parámetros;
- una URL parecida que no debería coincidir.
Después compara cada ruta con tus reglas.
Si prefieres probar el comportamiento de forma visual, puedes usar un generador y probador de robots.txt para experimentar con grupos y rutas antes de publicar el archivo.
La prueba no termina cuando consigues bloquear una URL. También tienes que comprobar que ninguna página importante ha quedado bloqueada por accidente.
Después de publicar, abre:
https://tusitio.com/robots.txt
y confirma que el servidor está entregando el archivo esperado.
Un robots.txt sencillo suele ser suficiente
Muchos sitios necesitan muy pocas reglas.
Un archivo mínimo puede ser:
User-agent: * Disallow: Sitemap: https://example.com/sitemap.xml
Un Disallow vacío significa que no hay rutas bloqueadas en ese grupo.
Si existe una zona claramente innecesaria para el rastreo:
User-agent: * Disallow: /buscar/ Sitemap: https://example.com/sitemap.xml
La mejor configuración no es la que tiene más directivas, sino la que representa con claridad la estructura real del sitio.
Lista de comprobación antes de bloquear una URL
Antes de añadir una regla, pregúntate:
- ¿Quiero controlar rastreo o indexación?
- ¿La URL podría seguir apareciendo en Google aunque bloquee el rastreo?
- ¿Existe un
noindexque Google necesita leer? - ¿Hay páginas importantes que dependen de CSS, JavaScript o imágenes dentro de esa ruta?
- ¿El patrón puede afectar URLs parecidas por accidente?
- ¿Es contenido privado que debería usar autenticación?
- ¿Hay una razón real para crear un grupo específico para Googlebot?
- ¿He probado URLs permitidas y bloqueadas?
- ¿El sitemap sigue incluyendo URLs que espero que sean rastreadas?
- ¿Otra persona entendería este archivo dentro de seis meses?
Si la primera pregunta no está clara, todavía no conviene escribir la regla.
Preguntas frecuentes
¿robots.txt impide que una página aparezca en Google?
No necesariamente. Controla el acceso del rastreador, pero la URL todavía puede descubrirse mediante enlaces y aparecer en los resultados.
¿Cuál es la diferencia entre Disallow y noindex?
Disallow controla el rastreo. noindex indica al buscador que no mantenga la página en su índice, siempre que pueda acceder a ella y leer la directiva.
¿Puedo bloquear el área de administración con robots.txt?
Puedes impedir el rastreo, pero eso no protege la zona. Un panel administrativo debe exigir autenticación y permisos adecuados.
¿Necesito tener robots.txt?
No todos los sitios necesitan restricciones especiales. Si todas las páginas públicas pueden rastrearse, un archivo muy simple —o la ausencia de reglas restrictivas— puede ser suficiente.
¿Puedo añadir comentarios?
Sí. El carácter # inicia un comentario que los rastreadores compatibles ignoran.
Piensa en robots.txt como control de rastreo, no como invisibilidad
La forma más segura de trabajar con robots.txt es definir primero el objetivo.
Si quieres reducir el rastreo de espacios de URL sin valor, puede ser la herramienta adecuada. Si quieres retirar una página de los resultados, probablemente necesitas noindex u otra estrategia de indexación. Si quieres proteger contenido privado, necesitas un control de acceso real.
Antes de añadir una regla, identifica qué URLs están implicadas, por qué no deberían rastrearse y qué debe seguir accesible. Un robots.txt pequeño, probado y comprensible suele funcionar mejor que una colección de reglas copiadas sin contexto.