Saltar al contenido
SEO y crawlers

llms.txt en WordPress: qué es, cómo añadirlo y si sirve de algo

Publica un archivo llms.txt en WordPress de tres formas distintas y entérate de lo que dicen las pruebas sobre si alguna empresa de IA lo lee realmente.

Publicada

llms.txt es un archivo markdown sencillo que colocas en la raíz de tu dominio —https://example.com/llms.txt— con tus mejores páginas y una descripción de una línea para cada una, para que un modelo de lenguaje encuentre tu contenido útil sin rastrear todo tu menú de navegación. Es una propuesta, no un estándar, y ningún proveedor grande de IA ha confirmado públicamente que lea el archivo ni actúe en consecuencia.

Las dos mitades de esa frase importan. El formato es real, está bien especificado y se publica en unos veinte minutos. El beneficio no está demostrado, y buena parte de lo que se vende hoy alrededor de esto no es sincero al respecto.

Qué aspecto tiene el archivo

El formato propuesto es markdown con una forma definida: un H1 con el nombre de tu sitio, un resumen opcional en cita, y después secciones H2 con listas de enlaces, cada uno con una descripción breve tras dos puntos. Una sección llamada “Optional” indica contenido que se puede omitir cuando el contexto va justo.

# Odie Themes

> Free WordPress tools and technically honest guides for theme
> and image configuration problems.

## Guides

- [Why WordPress images look blurry after upload](https://example.com/guides/wordpress-image-blurry-after-upload): Why the 2560px cap creates a -scaled file and how to raise or disable it.
- [WordPress llms.txt](https://example.com/guides/wordpress-llms-txt): What the file is, how to add one, and what it does not do.

## Tools

- [Robots.txt generator](https://example.com/tools/wordpress-robots-txt-generator): Build a robots.txt with correct AI crawler rules.

## Optional

- [About](https://example.com/about): Who runs the site.

Eso es toda la especificación que merece la pena conocer. Los enlaces deben ser absolutos. Las descripciones, de una sola frase y objetivas, nada de texto publicitario: la premisa entera es que quien lo lee es una máquina, y los adjetivos de relleno gastan justo los tokens que intentabas ahorrar.

También verás llms-full.txt, una convención hermana que guarda el texto markdown completo de tu contenido en un único archivo. Es mucho más pesada y está aún menos respaldada que llms.txt. Sáltatela salvo que tengas un motivo concreto.

La parte honesta

Ninguna documentación pública de OpenAI, Anthropic, Google o Perplexity afirma que sus rastreadores o sus sistemas de recuperación consuman llms.txt. Google ha indicado públicamente que no lo usa para su buscador. Los dueños de sitios sí ven peticiones del archivo en los registros del servidor, pero una descarga no demuestra que ese contenido haya moldeado ninguna respuesta: hay muchos bots que sondean archivos a ver si suena la flauta.

Así que ojo con las afirmaciones que aceptas:

Afirmación que te vas a encontrarRealidad
”llms.txt es el nuevo robots.txt para la IA”Falso. robots.txt está documentado y se respeta; llms.txt es una propuesta.
”Añadir llms.txt mejora tu posicionamiento en Google”Sin pruebas. Google no ha dicho que use el archivo.
”ChatGPT lee tu llms.txt”Sin confirmar por OpenAI.
”Es un archivo barato de publicar”Cierto, y es el único argumento sólido a favor.

La postura razonable es la de dejar la puerta abierta por poco dinero. Un archivo de texto estático te cuesta una subida, cero tiempo de carga y ningún riesgo. Si la convención cuaja, ya lo tienes. Si nunca cuaja, has perdido veinte minutos. Es un trato justo; lo que no vale es que alguien te lo cobre como estrategia de visibilidad en IA.

Cómo añadirlo a WordPress

Opción 1: archivo estático en la raíz (recomendada)

Escribe el archivo en tu ordenador y súbelo por SFTP al mismo directorio donde están tu wp-config.php y tu index.php.

WordPress no lo intercepta, porque el bloque de reescritura por defecto de .htaccess solo redirige las peticiones que no coinciden ya con un archivo o directorio real:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Un llms.txt real en disco no cumple la condición !-f, así que Apache lo sirve directamente y PHP ni se ejecuta. Las configuraciones de Nginx con try_files $uri $uri/ /index.php se comportan igual.

Un aviso: algunos hostings gestionados de WordPress bloquean la escritura por SFTP en la raíz web, o ejecutan el sitio desde una imagen de contenedor de solo lectura. Si ese es tu caso, tu camino son las opciones 2 y 3.

Opción 2: un plugin

Busca “llms.txt” en el directorio de plugins de WordPress: ya hay varios que generan el archivo a partir de tus entradas y páginas publicadas, y algunos plugins de SEO lo han añadido como función. Es realmente útil si publicas a menudo, porque una lista escrita a mano se queda obsoleta.

Pero la contrapartida es real. Estás añadiendo un plugin, una pantalla de ajustes y una superficie más que actualizar a cambio de automatizar un archivo que nadie ha confirmado leer. Las listas autogeneradas además suelen volcar todas las entradas con el extracto como descripción, lo que produce un archivo largo e indiferenciado: justo lo contrario del mapa curado para el que se diseñó el formato. Si usas un plugin, poda lo que genere.

Opción 3: servirlo desde tu tema con un filtro

Si no puedes escribir en la raíz web pero sí editar código, deja un mu-plugin pequeño en wp-content/mu-plugins/llms-txt.php que intercepte la petición y sirva un archivo guardado dentro de tu tema:

<?php
// wp-content/mu-plugins/llms-txt.php

add_action( 'init', function () {
	$path = parse_url( $_SERVER['REQUEST_URI'] ?? '', PHP_URL_PATH );

	if ( '/llms.txt' !== $path ) {
		return;
	}

	$file = get_stylesheet_directory() . '/llms.txt';

	if ( ! is_readable( $file ) ) {
		return;
	}

	header( 'Content-Type: text/plain; charset=utf-8' );
	readfile( $file );
	exit;
} );

Se usa un mu-plugin en lugar de functions.php para que el archivo sobreviva a un cambio de tema y a una actualización del tema. Si aun así lo pones en functions.php, hazlo en un tema hijo.

Comprueba que se sirve de verdad

No lo des por hecho. Revisa el código de estado y el tipo de contenido:

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

Quieres un 200 y Content-Type: text/plain. Hay dos fallos habituales:

  • Recibes un 200 pero el cuerpo es tu página 404. WordPress se ha tragado la petición. El archivo no está donde crees, o un plugin está secuestrando la ruta.
  • Recibes Content-Type: text/html. Algo lo está renderizando a través del tema. Arregla la cabecera antes de preocuparte por el contenido.

Después abre la URL en un navegador y léela. Si algún enlace da 404 o apunta a http:// cuando tu sitio va por HTTPS, corrígelo: un mapa roto es peor que no tener mapa.

Qué controla hoy a los rastreadores de IA

Si tu objetivo real es influir en cómo tratan tu sitio los sistemas de IA, robots.txt es el archivo documentado, respetado y en vigor ahora mismo. GPTBot, ClaudeBot, PerplexityBot, CCBot y Google-Extended son agentes de usuario con nombre y comportamiento publicado, y robots.txt decide si pueden descargar tus páginas siquiera.

Esa es la palanca que tiene un mecanismo real detrás. Monta la tuya con el generador de robots.txt, que te deja permitir o bloquear cada rastreador de IA de forma explícita en vez de adivinar la sintaxis. Deja eso bien primero y luego añade llms.txt como el extra barato y especulativo que es.

Qué no hacer

No bloquees los rastreadores de IA en robots.txt y publiques a la vez un llms.txt. Pasa por descuido: un archivo invita al modelo a entrar y el otro le da con la puerta en las narices. Gana la puerta.

No pongas un llms.txt en una subcarpeta. La convención es solo a nivel de raíz. Un archivo en /blog/llms.txt es un archivo que nadie va a buscar.

No pegues dentro tu sitemap entero. Cuatrocientos enlaces con extractos genéricos son un volcado de rastreo, no un mapa curado, y eso echa por tierra el único propósito declarado del formato. De veinte a cincuenta páginas realmente útiles es el tamaño adecuado para la mayoría de sitios.

No retrases trabajo de verdad por esto. La velocidad de carga, el HTML limpio, los datos estructurados correctos y el contenido que la gente cita de verdad sí se sabe que importan. De llms.txt no se sabe. Reparte tu esfuerzo en consecuencia.

FAQ

Preguntas

¿Qué es llms.txt en WordPress?

Es un archivo markdown sencillo que se coloca en la raíz de tu sitio, accesible en tusitio.com/llms.txt, y que lista tus páginas más útiles con una descripción de una línea para cada una. La idea es que un modelo de lenguaje que lo lea obtenga un mapa limpio de tu contenido en vez de rastrear tu menú, tus anuncios y tus avisos de cookies.

¿Las empresas de IA leen realmente llms.txt?

No hay confirmación pública de OpenAI, Anthropic, Google ni Perplexity de que descarguen o usen llms.txt. Algunos registros de servidor muestran peticiones del archivo, pero una petición no equivale a que su contenido influya en una respuesta. Trata cualquier promesa de beneficio demostrado en posicionamiento como marketing sin respaldo.

¿Dónde va llms.txt en un sitio WordPress?

En la raíz de tu dominio, el mismo sitio donde vive robots.txt, de modo que la URL sea tusitio.com/llms.txt sin ninguna subcarpeta. Súbelo por SFTP junto a tu archivo index.php de WordPress. WordPress sirve los archivos reales directamente porque sus reglas de reescritura solo procesan las peticiones que no coinciden con un archivo existente.

¿Es llms.txt lo mismo que robots.txt?

No. robots.txt es una convención asentada que rastreadores de IA como GPTBot, ClaudeBot y PerplexityBot documentan y respetan, y controla si pueden descargar tus páginas siquiera. llms.txt es una propuesta sin aprobar que sugiere qué leer. Uno se aplica hoy, el otro es especulativo.

¿Añadir llms.txt ayuda al SEO o al posicionamiento?

No hay pruebas de que afecte al posicionamiento en Google, y Google no ha dicho que use el archivo. Publicarlo cuesta casi nada, así que el argumento razonable para añadirlo es tener la puerta abierta por si acaso, no un beneficio medible. No dejes de lado la velocidad de carga, los datos estructurados ni la calidad del contenido por esto.

¿Mejor un plugin o un archivo estático para llms.txt?

Usa un archivo estático si tus mejores páginas cambian poco, porque no añade ejecución de PHP y no se puede romper. Usa un plugin si publicas a menudo y quieres la lista regenerada automáticamente. Un plugin añade una dependencia y algo de carga a cambio de automatizar un archivo que nadie ha confirmado leer, así que empieza por lo estático.