Saltar al contenido principal
← Todas las guías

robots.txt y sitemaps

Ambos archivos le dicen algo a un rastreador sobre tus URL, y ninguno hace lo que suele suponerse. Uno retira el permiso de descarga. El otro ofrece una lista para que la considere.

Permiso no es lo mismo que exclusión

robots.txt retira el permiso para descargar una URL, y nada más. Google dice sin rodeos que no es un mecanismo para mantener una página fuera de la búsqueda. Las dos ideas se confunden constantemente, y esa confusión produce un fallo concreto y muy visible.

Una URL bloqueada a la que otros sitios enlazan puede indexarse igualmente. Google sabe que la dirección existe porque alguien la enlazó; lo que no puede es ver qué contiene. Así que puede listarla sin descripción alguna — lo peor de ambos mundos, porque la página está pública en los resultados mientras tú no controlas cómo aparece.

Leer y escribir el archivo

El archivo vive en la raíz de un host y solo se aplica a ese host y a ese protocolo. Las reglas se agrupan por user-agent, y un rastreador obedece el único grupo más específico que le corresponde — no todos los grupos que podrían corresponderle. Dentro de un grupo, Google resuelve los conflictos por la regla más específica, no por el orden.

robots.txt
User-agent: *
Disallow: /admin/
Disallow: /*.pdf$
Allow: /admin/public/

User-agent: Googlebot
Disallow: /drafts/

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

Dos detalles de ese ejemplo concentran casi toda la confusión. La línea Allow es más específica que el Disallow anterior, así que /admin/public/ sigue siendo descargable. Y en cuanto existe un grupo Googlebot, Googlebot obedece solo ese grupo — el grupo comodín deja de aplicarle, de modo que aquí Googlebot sí puede descargar /admin/. Casi nunca es lo que pretendía quien lo escribió.

  • Bloquear una ruta no elimina las URL ya indexadas; solo detiene las descargas futuras.
  • La directiva Sitemap es independiente de cualquier grupo de user-agent y puede ir en cualquier parte del archivo.
  • Un 5xx en el propio robots.txt puede llevar a un rastreador a apartarse de todo el host, así que sírvelo desde algo fiable.

Donde una regla de robots hace daño lejos de sí misma

Los errores de robots.txt más caros no son las páginas que querías bloquear. Son los recursos que una página necesita para renderizarse. Los buscadores renderizan las páginas antes de indexarlas, y renderizar implica descargar scripts, estilos y respuestas de API.

Bloquea una ruta de scripts o una ruta de API y el rastreador seguirá descargando el HTML perfectamente. Luego renderiza una página casi vacía e indexa una página casi vacía. Ningún informe dirá que la página estaba bloqueada, porque la página no lo estaba: solo lo que necesitaba.

Un sitemap es una sugerencia, no una cola

Los sitemaps ayudan al descubrimiento justo donde el enlazado es más débil: sitios grandes, sitios recién nacidos con pocos enlaces entrantes y sitios cargados de medios que no tienen texto de enlace natural. Google afirma sin rodeos que listar una URL no garantiza ni el rastreo ni la indexación.

La propia guía de Google dice que un sitio pequeño y bien enlazado puede no necesitarlo en absoluto, porque el rastreador lo encuentra todo siguiendo enlaces. Vale la pena tomárselo en serio antes de montar infraestructura de sitemaps para resolver un problema que el enlazado interno resolvería mejor.

LímiteValor
URL por archivo de sitemap50.000
Tamaño sin comprimir por archivo50 MB
Por encima de cualquiera de los dosDivide y referencia las partes desde un índice de sitemaps

Qué etiquetas se leen, se ignoran o se ponen en duda

Aquí es donde se desperdicia la mayor parte del esfuerzo en sitemaps. Dos de las cuatro etiquetas habituales no hacen absolutamente nada, y una tercera puede volverse en tu contra.

EtiquetaQué hace Google con ella
locLa lee — es la URL en sí
lastmodSolo la usa cuando es coherente y verificablemente correcta
changefreqLa ignora
priorityLa ignora

La condición de lastmod es la que muerde. Si tu compilación sella cada URL con la fecha del despliegue, cada valor es a la vez falso y fácil de refutar: la página no cambió, y el buscador puede comprobarlo. En cuanto deja de fiarse del campo deja de usarlo, y eso te deja peor que no enviar ningún lastmod. Emítelo solo ante cambios reales del contenido principal, y omítelo antes que inventarlo.

sitemap.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/guides/indexing/</loc>
    <lastmod>2026-06-14</lastmod>
  </url>
</urlset>

Elegir el instrumento correcto

Casi toda pregunta de esta área se resuelve en cuanto separas tres trabajos que se parecen y no lo son.

ObjetivoInstrumentoPor qué
Dejar de gastar rastreo en URL basurarobots.txtImpide la descarga por completo
Mantener una página fuera de los resultadosnoindex, o autenticaciónExige la descarga para poder leer la directiva
Ayudar a que se descubran páginasEnlaces internos y luego un sitemapLos enlaces llevan contexto; las entradas del sitemap no

Preguntas y respuestas

¿Puedo combinar disallow y noindex?

No, y ese emparejamiento es el error clásico. Si robots.txt bloquea la URL, el rastreador nunca descarga la página ni ve el noindex. Permite el rastreo y sirve el noindex, o pon la página tras autenticación.

¿Necesito un sitemap?

No siempre. La guía de Google es que un sitio pequeño y bien enlazado se descubre siguiendo enlaces. Los sitemaps se ganan su sitio en sitios grandes, recién creados con pocos enlaces entrantes o con mucho contenido multimedia.

¿Por qué sigue apareciendo en Google una página que bloqueé?

Porque robots.txt detuvo la descarga, no la indexación. Otros sitios enlazan esa URL, así que Google sabe que existe pero no ve el contenido: de ahí un resultado sin descripción. Permite el rastreo y sirve un noindex para retirarla como corresponde.

¿Debería fijar priority y changefreq?

No. Google ignora ambas. Ese esfuerzo rinde más en hacer que lastmod sea exacto, o en el enlazado interno.

¿Qué pasa si robots.txt devuelve un error?

Un 5xx puede llevar a un rastreador a apartarse del host en lugar de suponer que todo está permitido. Sirve robots.txt desde una infraestructura al menos tan fiable como el propio sitio.