robots.txt y sitemap.xml: qué poner y qué errores evitar

Son dos archivos de texto que casi todas las webs tienen y casi nadie revisa, y los dos se equivocan con facilidad. El más malentendido es robots.txt: no sirve para esconder páginas de Google, y bloquear una página con él puede conseguir justo lo contrario de lo que buscas. Qué hace cada archivo, las reglas reales según la documentación de Google y los fallos que se repiten.

Revisado el 3 de octubre de 2026 · 5 min de lectura

Qué hace cada uno

robots.txt le dice a los rastreadores qué partes de tu web pueden pedir y cuáles no. sitemap.xml hace lo contrario: les enseña qué páginas quieres que descubran. Uno limita, el otro invita. Ninguno es obligatorio, pero un sitio pequeño sin ellos depende de que los enlaces internos basten para llegar a todo, y un robots.txt mal escrito puede dejar toda la web fuera del rastreo.

robots.txt: lo que hay que saber

Dónde va y cómo debe ser

El archivo se llama exactamente robots.txt, está en la raíz del sitio (https://tudominio.com/robots.txt, nunca en una carpeta) y solo hay uno por sitio. Sus reglas valen únicamente para el protocolo, el dominio y el puerto donde está: las de https://ejemplo.com no se aplican a https://m.ejemplo.com ni a http://ejemplo.com. Debe ser texto plano en UTF-8; si lo escribes en un procesador de textos, pueden colarse comillas tipográficas u otros caracteres que invaliden las reglas. Google aplica un límite de 500 KiB: lo que queda por encima se ignora.

La sintaxis mínima

User-agent: *
Disallow: /admin/
Disallow: /carrito/
Allow: /admin/ayuda.html

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

Cada grupo empieza con User-agent (a quién se aplica; el asterisco significa todos) y sigue con reglas Disallow (no rastrear) y Allow (excepción dentro de una carpeta prohibida). Los comentarios empiezan por #. Las rutas distinguen mayúsculas de minúsculas: /Admin/ y /admin/ son distintas. Google admite dos comodines: * (cualquier secuencia de caracteres) y $ (final de la dirección), de modo que Disallow: /*.pdf$ bloquea todas las direcciones que terminan en .pdf.

Cuando dos reglas chocan, gana la más específica, la de ruta más larga; y si siguen en conflicto, Google aplica la menos restrictiva. Por eso, en el ejemplo, /admin/ayuda.html se puede rastrear aunque /admin/ esté prohibido.

Google solo reconoce cuatro campos: user-agent, allow, disallow y sitemap. Otros, como crawl-delay, los ignora.

El error más repetido: usarlo para ocultar páginas

Google lo dice sin rodeos en su documentación: robots.txt sirve sobre todo para gestionar el tráfico de rastreo, no para mantener una página fuera de Google. Si otras páginas enlazan a la tuya, Google puede indexar la dirección sin visitarla, y aparecerá en los resultados sin descripción. Para que una página no salga, hay que usar noindex (en una etiqueta meta o una cabecera HTTP) o protegerla con contraseña.

Y aquí viene la trampa: si bloqueas la página en robots.txt, el rastreador nunca llega a ver el noindex, y la página puede seguir apareciendo. Las dos cosas se anulan entre sí. Para sacar una página de los resultados, déjala rastreable y márcala con noindex.

Además, robots.txt no es un candado: los rastreadores serios lo respetan, pero nada obliga a los demás. Si hay datos privados, la solución es la contraseña, no una línea de texto.

Otros fallos habituales

  • Dejar un Disallow: / olvidado. Es la regla que prohíbe todo el sitio y se copia a menudo desde la versión de pruebas. Comprueba tu robots.txt después de cada publicación importante.
  • Bloquear recursos que la página necesita. Si impides que Google cargue el CSS o el JavaScript sin los cuales la página no se entiende, la analizará peor. Google recomienda no bloquear esos archivos.
  • Escribir Sitemap: con una dirección relativa. Debe ser la dirección completa, con protocolo y dominio, tal como se visita (con o sin www).

Los rastreadores de IA

Además de los buscadores, hoy hay rastreadores que recogen contenido para entrenar modelos de IA, y robots.txt es la vía para decidir qué haces con ellos. Dos ejemplos documentados por las propias empresas: OpenAI usa GPTBot para contenido de entrenamiento y OAI-SearchBot para aparecer en las búsquedas de ChatGPT, y son independientes: puedes bloquear uno y permitir el otro. Google ofrece Google-Extended, un identificador de control para decidir si el contenido que rastrea puede usarse para entrenar sus modelos Gemini; según Google, no afecta a la inclusión ni al posicionamiento en la Búsqueda.

User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /

Como con todo robots.txt, es una petición que los rastreadores respetuosos siguen. Decide con calma antes de bloquear: dejar fuera a un rastreador de búsqueda también significa no aparecer en esos resultados.

sitemap.xml: lo que hay que saber

Un sitemap es una lista de direcciones en XML. La versión mínima tiene este aspecto:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://tudominio.com/pagina</loc>
    <lastmod>2026-10-03</lastmod>
  </url>
</urlset>
  • Límites: un sitemap admite hasta 50.000 direcciones o 50 MB sin comprimir. Si te pasas, se divide en varios y se enlazan desde un archivo índice.
  • Codificación y ubicación: UTF-8, y mejor en la raíz del sitio: un sitemap solo afecta a las direcciones de su carpeta y las de debajo, salvo que lo envíes por Search Console.
  • Direcciones completas: con protocolo y dominio, tal como se visitan. Google las rastreará exactamente como las escribas.
  • Solo lo que quieres que aparezca: direcciones canónicas, que respondan 200 y sin noindex. Meter redirecciones o páginas con error confunde más que ayuda (si dudas del código que devuelve una página, mira la guía de códigos HTTP).
  • lastmod solo si es verdad. Google lo usa cuando es coherente y verificable, y debe reflejar un cambio relevante en la página: el contenido, los datos estructurados o los enlaces, no el año del pie de página.
  • priority y changefreq no sirven para Google: los ignora. No pierdas tiempo ajustándolos.

Para avisar a los buscadores tienes dos vías, que se pueden combinar: la línea Sitemap: en robots.txt y el envío desde Search Console, que además te da un informe de cuántas direcciones se han leído.

Para generarlos sin equivocarte

El generador de robots.txt y sitemap.xml construye los dos archivos desde un formulario, con plantillas para los casos más comunes y las reglas para los rastreadores de IA en un clic. Revisa el resultado con calma, sobre todo los Disallow, y sube los archivos a la raíz de tu web. Después, abre tudominio.com/robots.txt en el navegador para comprobar que se ve. Y si estás cuidando el SEO de la página, mira también cómo se verá su título y descripción con el comprobador de longitud y su vista previa al compartirla con Open Graph.

Fuentes y más información

Datos comprobados el 3 de octubre de 2026.

Hazlo ahora, gratis y en tu navegador. Tus archivos no se suben.

Crea un robots.txt y un sitemap.xml para tu web y descárgalos.

Preguntas frecuentes

¿Sirve robots.txt para ocultar una página de Google?
No. Google indica que robots.txt es para gestionar el tráfico de rastreo, no para mantener páginas fuera de los resultados: si otras webs enlazan a la página, la dirección puede indexarse sin descripción. Para ocultarla usa noindex o una contraseña.
¿Por qué no debo bloquear en robots.txt una página con noindex?
Porque si la página está bloqueada, el rastreador nunca ve la etiqueta noindex y la página puede seguir apareciendo en los resultados.
¿Dónde debe estar el archivo robots.txt?
En la raíz del sitio (tudominio.com/robots.txt), con ese nombre exacto, en UTF-8 y uno solo por dominio, protocolo y puerto.
¿Cuántas direcciones admite un sitemap?
Hasta 50.000 direcciones o 50 MB sin comprimir. Si hay más, se dividen en varios sitemaps enlazados desde un índice.
¿Usa Google las etiquetas priority y changefreq?
No, Google las ignora. Sí usa lastmod, pero solo cuando sus fechas son coherentes y verificables.
¿Cómo bloqueo los rastreadores de entrenamiento de IA?
Con reglas en robots.txt para cada uno, por ejemplo User-agent: GPTBot y User-agent: Google-Extended, ambas con Disallow: /. Google-Extended no afecta a la Búsqueda de Google, según su documentación.