Blog IA generativa

llms.txt en WordPress: por qué tu archivo devuelve la plantilla del tema

WordPress intercepta la ruta antes que el disco, así que un archivo bien subido puede no verse. Cómo ponerlo sin plugin y cómo comprobarlo de verdad.

Alexander González 16 de septiembre de 2026 2.230 palabras

Subir el archivo es la parte fácil y casi nunca es la que falla. Lo que falla en WordPress es que la URL tudominio.com/llms.txt acabe devolviendo la página de inicio, un 404 maquetado con tu tema o, lo peor de los tres, la plantilla del tema con estado 200, que para un rastreador significa que el archivo existe y dice eso. El motivo es que WordPress no sirve archivos: intercepta la petición antes de que el servidor mire si hay algo en el disco. Entender ese detalle resuelve el problema entero y ahorra un plugin.

Respuesta rápida

Qué devuelve la URLQué significaGravedad
El archivo en texto planoCorrectoninguna
404 con la plantilla del temaWordPress lo capturó y no lo encontróSe arregla
La página de inicioRegla de reescritura demasiado ampliaSe arregla
200 con HTML dentroUn rastreador lo lee como si fuera el archivoLa peor

¿Cómo se pone llms.txt en WordPress?

Subiendo el archivo a la carpeta raíz del sitio por FTP o por el administrador de archivos del hosting, no a la carpeta del tema. Si WordPress sigue interceptando la ruta, se añade una excepción en .htaccess para que el servidor sirva el archivo directamente. No hace falta ningún plugin.

Qué tipo de problema es este

El modelo mental que falla es pensar en WordPress como una carpeta de archivos, igual que un sitio estático. En un sitio estático, tudominio.com/llms.txt busca un archivo con ese nombre y lo devuelve.

WordPress no funciona así. Su .htaccess redirige todo lo que no coincide con un archivo existente hacia index.php, y a partir de ahí decide PHP. La consecuencia práctica es que la ruta se resuelve según reglas de reescritura y no según el disco, y hay más de una forma de que el archivo quede tapado: subirlo a la carpeta del tema en vez de a la raíz, un plugin de caché que sirve su propia versión, o un plugin de redirecciones con una regla comodín.

Por eso el diagnóstico no es "¿lo subí?" sino "¿qué contesta el servidor cuando alguien lo pide?".

Los tres sitios donde suele acabar mal

En la carpeta del tema. Es el error más común porque el editor de archivos del panel de WordPress abre ahí por defecto. Un archivo en /wp-content/themes/tu-tema/llms.txt existe y es inalcanzable desde la raíz, que es el único sitio donde se busca.

Dentro de una entrada o una página. Crear una página titulada "llms" y pegar el contenido dentro produce una URL parecida y un HTML completo alrededor: menú, pie, scripts. No es un archivo de texto, es una página web con texto dentro.

Servido por un plugin que lo genera al vuelo. Funciona hasta que el plugin se desactiva, se actualiza o entra en conflicto con la caché. Un archivo de texto plano no necesita código ejecutándose para existir.

Los tres comparten la misma raíz y por eso conviene nombrarla: en WordPress es fácil confundir "publicar algo en una URL" con "poner un archivo en el servidor", porque el panel sirve para lo primero y no para lo segundo. Es el mismo malentendido que hace que un robots.txt editado desde un plugin no coincida con el que se sirve, y que explica por qué tantos diagnósticos de por qué Google no indexa una página terminan en un archivo que estaba donde no era. La comprobación que ahorra la tarde entera es pedir el archivo con una herramienta que no ejecute JavaScript y mirar la primera línea de la respuesta: si empieza por <!DOCTYPE, lo que hay ahí es una página, no un archivo de texto, por mucho que el navegador lo enseñe bien.

Cómo se hace sin plugin

1. Escribir el archivo

El contenido y su estructura están en la guía sobre qué es llms.txt. Lo que va dentro no cambia por estar en WordPress: un título, un resumen de una línea y secciones con los enlaces que de verdad representan el sitio, no el sitemap entero volcado.

Si prefieres rellenar campos en vez de escribir Markdown a mano, el generador de llms.txt lo arma en el navegador y lo deja listo para descargar.

2. Subirlo a la raíz de verdad

La raíz es la carpeta que contiene wp-config.php, wp-admin y wp-content. En un hosting compartido suele llamarse public_html, httpdocs o www, y el nombre importa menos que la comprobación: si en esa carpeta ves wp-config.php, es la buena.

Se sube por FTP o por el administrador de archivos del panel. El editor de temas de WordPress no sirve para esto.

3. Si WordPress lo sigue interceptando

En la mayoría de instalaciones no hace falta nada más, porque la regla de reescritura de WordPress ya excluye los archivos que existen. Cuando sí hace falta, la excepción va en .htaccess, por encima del bloque de WordPress:

<Files "llms.txt">
  Require all granted
</Files>

En Nginx el equivalente es un location = /llms.txt que apunte al archivo. Si el hosting no da acceso a la configuración, el atajo aceptable es un plugin de archivos estáticos, sabiendo lo que se acepta.

4. Comprobar el estado, no el aspecto

Este es el paso que casi nadie hace y el que evita el fallo silencioso:

curl -sI https://tudominio.com/llms.txt

Tiene que responder 200 y un Content-Type de texto. Si responde 200 pero el tipo es text/html, lo que se está sirviendo es una página, y en el navegador puede verse perfectamente bien.

Que se sirva no garantiza que esté bien escrito, que son dos fallos distintos. Un archivo con enlaces relativos o secciones vacías se sube igual y no protesta nadie: eso lo revisa el validador de llms.txt.

Cuándo no merece la pena

Cuando el sitio tiene menos de treinta páginas. Un modelo lo recorre entero sin ayuda y el archivo no filtra nada, así que el trabajo es real y el efecto medible, cero.

Cuando lo que se busca es posicionar en Google. Google no lo usa, y ninguna cantidad de configuración cambia eso.

Cuando el sitio bloquea a los rastreadores de IA en robots.txt. Un llms.txt perfecto en un sitio que no deja entrar a nadie es un cartel dentro de una habitación cerrada, y cuál es cada rastreador y qué implica bloquearlo está en cómo aparecer en las respuestas de ChatGPT. Conviene revisar los dos archivos el mismo día, porque se contradicen con facilidad.

Los plugins lo generan desde el sitemap, que es justo lo contrario

Los primeros resultados para esta consulta son, casi sin excepción, listas de plugins. Y todos resuelven el problema igual: generan el archivo a partir del sitemap, con una casilla para elegir qué tipos de contenido entran y cada cuánto se regenera.

Eso produce un volcado de URL ordenado por tipo de contenido. Es exactamente lo que este archivo fue pensado para no ser.

El sitemap ya existe y ya enumera todo. Si llms.txt repite esa lista no aporta nada que no estuviera antes, porque su único valor posible es la curaduría: decir qué es lo importante de un sitio y por qué, que es la información que ningún rastreador puede deducir solo. Un archivo generado automáticamente desde el sitemap no contiene esa información por construcción, y no hay ajuste que la añada.

Es el mismo reflejo que convierte a robots.txt en una plantilla que nadie revisa: un archivo de texto en la raíz, escrito una vez y no vuelto a abrir nunca. Parece configuración, y los dos son en realidad declaraciones editoriales que envejecen con el sitio. La diferencia es que uno decide quién entra y el otro decide qué mirar primero, y esa segunda decisión es editorial de arriba abajo: es la misma que ordena una página pilar y su clúster, solo que escrita para que la lea una máquina en diez segundos.

Hay además una distinción que ninguna de esas páginas hace y que cambia lo que estás publicando.

llms.txt es un índice comentado. Enlaces con una frase que explica cada uno. Se lee en segundos y cabe entero en cualquier ventana de contexto.

llms-full.txt es el contenido completo del sitio en un solo archivo. Varios plugins ofrecen los dos en la misma casilla, como si fueran versiones de lo mismo. No lo son: el segundo publica en texto plano todo lo que has escrito, en un formato pensado para consumirse sin visitar tu sitio. Puede ser justo lo que quieres. Conviene que sea una decisión y no una casilla que venía marcada.

Errores que se repiten

Datos y transparencia

Que los plugins de WordPress para este archivo lo generan a partir del sitemap, y que varios ofrecen llms-full.txt en la misma casilla, se comprobó el 12 de agosto de 2026 revisando las páginas de los plugins que ocupan los primeros resultados para esta consulta. Se describen por su comportamiento y no se recomienda ni se desaconseja ninguno en concreto, porque cambian de versión a versión. La preferencia por la curaduría frente al volcado es criterio propio, aplicado en el llms.txt de este sitio, que se genera solo con artículos publicados y pasa su propio validador.

El comportamiento descrito, que WordPress redirige a index.php todo lo que no coincide con un archivo existente mediante las reglas de su .htaccess, es el funcionamiento estándar documentado del sistema. La sintaxis de .htaccess para Apache y la de location para Nginx son las de sus respectivas documentaciones. Que Google no utiliza llms.txt es lo que se desprende de que no lo haya declarado en ninguna documentación ni comunicación pública, no de una negativa expresa. El umbral de treinta páginas por debajo del cual el archivo no filtra nada es juicio operativo, no una cifra publicada por nadie. No aparece aquí ninguna estadística sobre cuántos sitios en WordPress lo implementan mal: no la he medido y las que circulan no se pueden trazar. Verificado en agosto de 2026.

Lo que esto cambia

Hay un patrón en cómo se rompe esto, y no es técnico.

El archivo se sube, se abre en el navegador, se ve texto y se da por hecho. Nadie mira la cabecera de la respuesta, que es donde está la diferencia entre un archivo de texto y una página web que contiene texto. Es el mismo hábito que hace que un noindex heredado sobreviva meses: se comprueba lo que se ve en vez de lo que se sirve. Diez segundos de curl valen más que el plugin.

Preguntas frecuentes

¿Necesito un plugin para poner llms.txt en WordPress?

No. Es un archivo de texto plano en la raíz del sitio, y se sube por FTP o por el administrador de archivos del hosting. Un plugin añade una dependencia que puede desactivarse, actualizarse mal o entrar en conflicto con la caché, y lo que genera es lo mismo que un archivo subido a mano.

¿Por qué mi llms.txt devuelve la página de inicio?

Porque WordPress está interceptando la ruta antes de que el servidor mire el disco. Suele pasar cuando el archivo no está en la carpeta raíz de verdad, la que contiene wp-config.php, o cuando un plugin de redirecciones tiene una regla comodín. La comprobación que lo aclara es curl -sI sobre la URL, mirando el estado y el tipo de contenido.

¿Dónde está la carpeta raíz de un WordPress?

Es la que contiene wp-config.php, wp-admin y wp-content. Según el hosting se llama public_html, httpdocs, www o el nombre del dominio. El nombre importa poco: si al abrirla ves wp-config.php, es esa. La carpeta del tema, que es donde abre el editor del panel, no sirve para esto.

¿Hay que actualizar el llms.txt cada vez que publico?

No cada vez, y sí de tanto en tanto. El archivo es un índice curado de lo que merece la pena leer, no un sitemap: si lleva todo, no filtra nada. Revisarlo cuando cambie la estructura del sitio o cuando se publique algo que redefina de qué va el sitio es suficiente para la mayoría.

¿Sirve de algo llms.txt si uso un plugin de SEO?

Son cosas distintas y no se pisan. Un plugin de SEO se ocupa de títulos, descripciones, sitemap y datos estructurados, que es lo que lee Google. El llms.txt se dirige a motores generativos que sí lo leen, como Claude o Perplexity, y ninguno de los dos sustituye al otro.

La mayoría de sitios no tienen un problema de posicionamiento

Tienen un problema de qué pasa cuando alguien llega. Se puede estar primero en Google y no vender nada. El diagnóstico mira las dos cosas y te dice cuál de ellas te está costando dinero.

Ver el diagnóstico