Como escribir un archivo robots.txt que realmente funcione

robots.txt es uno de los archivos mas malentendidos de la web. Aprenda la sintaxis correcta, los errores comunes, que respetan realmente los motores de busqueda y que ignoran.

Que hace robots.txt y que no hace

El archivo robots.txt se coloca en la raiz del sitio (https://ejemplo.com/robots.txt) y comunica a los rastreadores de motores de busqueda que URLs deben o no deben visitar. Es el primer archivo que bots como Googlebot o Bingbot solicitan al llegar a un dominio.

Lo que robots.txt no hace:

  • No es una medida de seguridad. Los rastreadores maliciosos ignoran el protocolo.
  • No impide que Google indexe una URL si otros sitios la enlazan y el rastreador la descubre.
  • No protege contenido privado. Para eso se necesita autenticacion.
  • Los errores de sintaxis no generan mensajes de error visibles: simplemente hacen que las reglas fallen en silencio.

Este comportamiento es especialmente relevante en sitios espanoles y latinoamericanos con entornos de staging accesibles desde Internet: bloquear /staging/ en robots.txt no basta si las paginas tienen backlinks o si el sitemap las incluye.

La sintaxis basica de robots.txt

Un archivo robots.txt se compone de registros, cada uno con un agente de usuario y sus directivas:

User-agent: *
Disallow: /privado/
Allow: /publico/

User-agent: Googlebot
Disallow: /staging/

Sitemap: https://ejemplo.com/sitemap.xml

Las directivas disponibles son:

User-agent: A que rastreador se aplican las reglas siguientes. El asterisco * representa a todos los bots.

Disallow: Rutas que el rastreador no debe visitar. Un valor vacio (Disallow:) significa "no denegar nada", es decir, permitir todo el acceso.

Allow: Permite explicitamente una ruta que de otra forma quedaria bloqueada por una regla Disallow: mas amplia.

Sitemap: Opcional. Apunta al rastreador hacia el sitemap XML del sitio.

-> Generador de robots.txt

Reglas de coincidencia que debe conocer

La coincidencia es por prefijo

Disallow: /privado/ bloquea cualquier URL que empiece por /privado/, incluidas /privado/pagina.html y /privado/imagenes/foto.jpg.

Disallow: / bloquea la totalidad del sitio para el agente de usuario especificado. Es la forma correcta de bloquear todo el rastreo de un bot concreto, pero se aplica a absolutamente todo.

Comodines

El asterisco * dentro de una ruta Disallow: coincide con cualquier secuencia de caracteres:

  • Disallow: /*.pdf$ bloquea todas las URLs que terminen en .pdf (el signo $ ancla el final)
  • Disallow: /buscar? bloquea todas las URLs de resultados de busqueda interna

Google y Bing soportan comodines. Otros rastreadores pueden no hacerlo.

Errores comunes en robots.txt

Bloquear archivos CSS y JavaScript

Disallow: /assets/

Si sus estilos y scripts estan en /assets/, bloquear esa ruta impide que Googlebot renderice la pagina correctamente. Google penaliza los sitios que bloquean los recursos necesarios para la renderizacion.

Confundir Disallow: con noindex

Son conceptos distintos que se complementan pero no se sustituyen:

  • Disallow: impide el rastreo de la URL
  • noindex (en etiqueta meta o cabecera HTTP) impide la indexacion

Una URL bloqueada en robots.txt puede seguir apareciendo en Google si otros sitios la enlazan; Google la indexara sin rastrearla. Para evitar que aparezca en los resultados, se necesita noindex, y para que Google lo lea, primero debe poder rastrear la pagina.

Disallow vacio es igual a permitir todo

User-agent: *
Disallow:

Esta es la configuracion correcta para un sitio sin restricciones de rastreo. Un error frecuente es dejar el archivo completamente vacio, lo que tiene el mismo efecto pero puede generar advertencias en algunas herramientas SEO.

Diferencia entre mayusculas y minusculas

Las rutas en robots.txt distinguen mayusculas de minusculas en servidores Linux. Disallow: /Privado/ no bloquea /privado/. Este es un error especialmente comun al migrar sitios entre servidores Windows (insensibles a mayusculas) y Linux (sensibles).

Configuraciones de referencia para sitios espanoles y latinoamericanos

Sitio publico estandar sin restricciones:

User-agent: *
Disallow:

Sitemap: https://ejemplo.com/sitemap.xml

Sitio con area de administracion:

User-agent: *
Disallow: /admin/
Disallow: /login/
Disallow: /dashboard/
Allow: /

Sitemap: https://ejemplo.com/sitemap.xml

Bloquear un bot especifico (por ejemplo, scrapers agresivos):

User-agent: AhrefsBot
Disallow: /

User-agent: SemrushBot
Disallow: /

User-agent: *
Disallow:

Sitemap: https://ejemplo.com/sitemap.xml

Los sitios de comercio electronico en Espana con tiendas Prestashop o Magento frecuentemente necesitan bloquear rutas como /admin/, /pdf/, y /modulos/ para evitar que el rastreo de URLs no canonicas genere contenido duplicado en los indices de busqueda.

-> Generador de robots.txt

Como validar su robots.txt antes de publicarlo

Google Search Console incluye un inspector de robots.txt que muestra como Googlebot interpreta el archivo y permite probar URLs especificas contra las reglas. El verificador detecta errores de sintaxis y advertencias que no son visibles en el archivo de texto.

Para sitios en entornos de desarrollo, la herramienta de este sitio genera un archivo robots.txt valido a partir de una interfaz visual y lo descarga listo para subir al servidor.

-> robots.txt Tester