robots.txt: qué bloquear y qué no
Módulo 3: La base técnica de una página · Tiempo de lectura: 13 minutos
Objetivo de aprendizaje: Después de esta lección podrá leer y escribir un robots.txt y calcular usted mismo si Googlebot puede rastrear una dirección. También podrá explicar qué ocurre cuando el archivo falta o no se puede alcanzar, y sabrá por qué robots.txt no es una medida de seguridad ni equivale a noindex.
Conceptos clave: robots.txt (RFC 9309), rastreador, grupo, User-agent, Disallow, Allow, coincidencia más larga, misma longitud (gana Allow), * y $, Sitemap:, código de estado de robots.txt (4xx, 5xx), 500 KiB, 24 horas de caché, no es seguridad, no es noindex, rastreadores de IA (Google-Extended, GPTBot)
Un cartel en la puerta de entrada
Un robots.txt es un archivo de texto normal en la carpeta raíz de su sitio, siempre en la misma dirección: https://www.example.com/robots.txt. Un rastreador respetuoso (lección 1.2) solicita primero ese archivo y lee qué partes del sitio no debe visitar. Es un cartel en la puerta, no una cerradura: Googlebot y Bingbot lo respetan, pero un robot malintencionado simplemente lee el cartel y entra igualmente.
Desde 2022, el protocolo es un estándar oficial de internet: RFC 9309. Además, Google describe con precisión cómo lee Googlebot el archivo. En esta lección utilizamos ambas fuentes.
Algunas reglas fijas:
- El archivo está en la carpeta raíz del host. Un robots.txt en
/blog/robots.txtno se lee. - Solo es válido para ese host, ese protocolo y ese puerto.
https://www.example.com/robots.txtno se aplica ahttps://shop.example.com/, que necesita su propio archivo. - Es texto sin formato en UTF-8.
Cómo está estructurado el archivo
User-agent: *
Disallow: /winkelmand/
Disallow: /zoeken
Allow: /zoeken/tips
User-agent: Googlebot
Disallow: /concepten/
Sitemap: https://www.example.com/sitemap.xmlEl archivo se compone de grupos. Un grupo empieza con una o varias líneas User-agent:, seguidas de las reglas Disallow: (no visitar) y Allow: (sí visitar). La ruta que sigue a Disallow: es el comienzo de una dirección: Disallow: /zoeken bloquea /zoeken, /zoeken?q=rozen y también /zoekenmachine, porque todas empiezan por /zoeken.
La línea Sitemap: no pertenece a ningún grupo e indica dónde está su sitemap (lección 3.4). Google exige una dirección completa con https:// y nombre de host.
Un Disallow: sin ruta no bloquea nada. Disallow: / lo bloquea todo.
¿Qué grupo se aplica?
Un rastreador elige un solo grupo: el que tiene el nombre más específico que le corresponde. Por tanto, Googlebot sigue el grupo User-agent: Googlebot si existe, y entonces ignora por completo el grupo *. En el ejemplo anterior, Googlebot sí puede entrar en /winkelmand/: esa regla solo figura en el grupo *. Es uno de los errores más frecuentes: si crea un grupo propio para Googlebot, debe repetir en él todas las reglas que también deben aplicarse a Google.
El nombre no distingue mayúsculas de minúsculas (googlebot = Googlebot). Si hay dos grupos para el mismo rastreador, Google los combina.
¿Qué regla gana?
Dentro del grupo, una dirección puede coincidir con varias reglas. En ese caso:
- Gana la regla coincidente más larga (la ruta más específica).
- Si un
Allowy unDisallowtienen exactamente la misma longitud, ganaAllow. Google lo llama "la regla menos restrictiva".
Dos caracteres tienen un significado especial:
| Carácter | Significado | Ejemplo | Afecta a | No afecta a |
|---|---|---|---|---|
* | cero o más caracteres cualesquiera | Disallow: /*?sessie= | /rozen?sessie=12 | /rozen?kleur=rood |
$ | final de la dirección | Disallow: /*.pdf$ | /folder.pdf | /folder.pdf?v=2 |
Ejemplo de cálculo con el grupo * anterior, para el rastreador Bingbot (que no tiene grupo propio):
| Dirección | Reglas coincidentes | Resultado |
|---|---|---|
/winkelmand/ | Disallow: /winkelmand/ | no permitido |
/zoeken/tips | Disallow: /zoeken (7 caracteres) y Allow: /zoeken/tips (12) | permitido: gana la más larga |
/zoeken?q=rozen | Disallow: /zoeken | no permitido |
/bruidsboeketten | ninguna | permitido |
/robots.txt | (siempre) | permitido: el propio robots.txt siempre está permitido |
Si el archivo no existe o el servidor falla
Lo que hace Google depende del código de estado con el que su servidor responde a /robots.txt:
| Respuesta | Qué hace Google |
|---|---|
| 200 (encontrado) | Lee las reglas |
| Redirección (301, 302) | Sigue al menos cinco saltos; después Google lo trata como un 404 |
| 4xx, como 404 o 403 (excepto 429) | Como si no hubiera robots.txt: todo está permitido |
| 5xx o sin conexión | Durante las primeras 12 horas Google no rastrea el sitio y vuelve a intentarlo; después, hasta 30 días, usa la última versión correcta de la caché. Si el error persiste después y el resto del sitio funciona, Google actúa como si no hubiera robots.txt |
Por tanto, que falte el robots.txt no es un problema: entonces todo está permitido. Un robots.txt que devuelve un error del servidor sí es un problema: Google deja de rastrear temporalmente. RFC 9309 es aún más estricto: si el archivo no se puede alcanzar, el rastreador debe suponer que todo está prohibido.
Además:
- Google lee como máximo 500 KiB; lo que venga después se ignora.
- Google suele guardar robots.txt en caché hasta 24 horas. Por tanto, un cambio no surte efecto de inmediato. En Search Console encontrará en Configuración el informe de robots.txt: qué versión obtuvo Google por última vez, con errores y advertencias, y un botón para solicitar que se vuelva a obtener.
- Google solo reconoce
User-agent,Allow,DisallowySitemap. Googlebot ignora reglas comoCrawl-delayoNoindex.
Lo que robots.txt no hace
No es una medida de seguridad
Cualquiera puede leer su robots.txt, también quien tenga malas intenciones. Una regla Disallow: /beheer-oud/ señala precisamente dónde hay algo interesante. La propia RFC 9309 lo dice: las reglas no son una forma de control de acceso. Para proteger algo de verdad, use una contraseña o haga que el servidor deniegue el acceso, por ejemplo con .htaccess (consulte Para seguir leyendo).
No es noindex
Esta es la lección más importante. robots.txt regula el rastreo, no la indexación (lección 1.3). Google escribe literalmente que robots.txt no es una forma de mantener una página fuera de Google. Si otros sitios enlazan a una dirección bloqueada, esa dirección puede aparecer igualmente en los resultados de búsqueda, solo que sin descripción.
Si quiere mantener una página fuera de los resultados de búsqueda, use noindex (en una etiqueta <meta name="robots"> o en el encabezado X-Robots-Tag) o proteja la página con una contraseña. Y cuidado con la trampa clásica: si una página con noindex también tiene un Disallow en robots.txt, Google no puede visitarla y, por tanto, nunca leerá el noindex.
No bloquee recursos que Google necesita
No bloquee carpetas con hojas de estilo, scripts o imágenes que su página necesita para mostrarse correctamente. Google ve su página como lo hace un navegador; sin esos archivos, Google la entiende peor.
Rastreadores de IA
Cada vez más empresas recopilan páginas web para la inteligencia artificial. A algunas de ellas puede dirigirse con robots.txt:
Google-Extendedno es un robot independiente, sino un nombre en robots.txt con el que indica si Google puede usar su contenido para entrenar los modelos Gemini y para grounding. Google escribe que esto no influye en su inclusión ni en su posición en la Búsqueda de Google.GPTBot, de OpenAI, recopila páginas que pueden utilizarse para entrenar modelos.OAI-SearchBotsirve para la función de búsqueda de ChatGPT: si lo bloquea, su sitio no aparecerá en las respuestas de búsqueda de ChatGPT.
User-agent: GPTBot
Disallow: /Hacerlo o no es una decisión suya, no una necesidad técnica. Si bloquea por error un robot de búsqueda (Googlebot, Bingbot, OAI-SearchBot), le encontrarán peor en ese buscador.
En la práctica: ¿dónde está su robots.txt?
- El AI Builder de WebOké crea automáticamente al publicar un robots.txt con
User-agent: *,Allow: /y una líneaSitemap:. Si configura el sitio para que no se indexe, o si es una demo gratuita, contieneDisallow: /. - WordPress genera un robots.txt virtual con una referencia al sitemap. Si coloca usted mismo un archivo
robots.txten la carpeta web, ese tiene prioridad. - Un sitio propio en un plan de alojamiento: coloque
robots.txten la carpeta web (en DirectAdmin,public_html) mediante el Administrador de archivos o por FTP.
Con otros proveedores funciona de forma similar: el archivo siempre debe estar accesible en /robots.txt de su host.
Resumen
- robots.txt está en
/robots.txtde cada host e indica a los rastreadores respetuosos qué no deben visitar. - Un rastreador sigue un solo grupo (el nombre más específico o, si no lo hay,
*). Dentro del grupo gana la regla más larga; a igual longitud, ganaAllow. - Un 404 significa "todo permitido"; un error del servidor hace que Google deje de rastrear temporalmente. Google lee 500 KiB y guarda en caché hasta 24 horas.
- robots.txt no es seguridad ni noindex. No bloquee en robots.txt una página con
noindex. - Los rastreadores de IA como
GPTBoty el nombreGoogle-Extendedpueden regularse por separado, sin consecuencias para la Búsqueda de Google.
Cuestionario
Ejercicio
Ejercicio A3.3: Análisis de su robots.txt. Introduzca su dominio y, además, tres direcciones de su propio sitio (por ejemplo, la página de inicio, una página de producto y su carrito o su página de búsqueda), indicando para cada dirección lo que espera: ¿puede Googlebot rastrearla, sí o no? El programa obtiene su robots.txt, comprueba el código de estado, el tamaño, los grupos y la línea Sitemap:, y calcula para cada dirección qué puede rastrear Googlebot según las reglas de esta lección. ¿Acierta su previsión? ¿No tiene sitio propio? Utilice www.wikipedia.org.
Para seguir leyendo
Los pasos de estos artículos se refieren a los paneles de WebOké; con otros proveedores funciona de forma similar.
- Manual de DirectAdmin 11.1: Abrir el Administrador de archivos: las carpetas de su paquete
- Bloquear archivos mediante .htaccess, por ejemplo plugin-googlemap2-proxy.php
- Manual de DirectAdmin 11.4: Mostrar y editar archivos ocultos como .htaccess
- Google Search Central, Cómo interpreta Google robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Google Search Central, Introducción a robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/intro
- RFC 9309, Robots Exclusion Protocol: https://www.rfc-editor.org/rfc/rfc9309.html
- Google, Resumen de los rastreadores (Google-Extended): https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers
- OpenAI, Resumen de los rastreadores (GPTBot, OAI-SearchBot): https://developers.openai.com/api/docs/bots
