# llms.txt + AEO Schema para WooCommerce — Guía completa

> Descripción general El plugin DataFirefly llms.txt + AEO Schema hace que tu tienda WooCommerce sea visible y correctamente comprendida por los agentes de IA (ChatGPT, Claude, Perplexity, Gemini). Combina dos…

- Página: <https://www.datafirefly.com/es/documentation/llms-txt-aeo-schema-woocommerce/>
- Idioma: es
- Actualizado el: 2026-08-06
- Otros idiomas: [fr](https://www.datafirefly.com/documentation/llms-txt-aeo-schema-woocommerce/index.md), [en](https://www.datafirefly.com/en/documentation/llms-txt-aeo-schema-woocommerce/index.md), [de](https://www.datafirefly.com/de/documentation/llms-txt-aeo-schema-woocommerce/index.md), [it](https://www.datafirefly.com/it/documentation/llms-txt-aeo-schema-woocommerce/index.md), [pl](https://www.datafirefly.com/pl/documentation/llms-txt-aeo-schema-woocommerce/index.md), [nl](https://www.datafirefly.com/nl/documentation/llms-txt-aeo-schema-woocommerce/index.md), [pt](https://www.datafirefly.com/pt/documentation/llms-txt-aeo-schema-woocommerce/index.md)
- Índice: <https://www.datafirefly.com/es/documentation/llms.txt>

## Descripción general

El plugin **DataFirefly llms.txt + AEO Schema** hace que tu tienda WooCommerce sea visible y correctamente comprendida por los agentes de IA (ChatGPT, Claude, Perplexity, Gemini). Combina dos mecanismos complementarios:

- Un **endpoint /llms.txt dinámico** conforme al estándar llmstxt.org, generado desde tu catálogo con caché por idioma.
- Un **enriquecimiento del esquema Product** de WooCommerce con los atributos anti-alucinaciones que buscan los agentes: marca, GTIN, materiales, compatibilidad, políticas de devolución y envío, más un esquema FAQPage separado orientado a agentes.

## Requisitos

- WordPress 6.2 o superior
- WooCommerce 8.0 o superior (probado hasta 9.4)
- PHP 8.0 o superior
- Opcional: Polylang o WPML para la generación multilingüe

## Instalación

1. Descarga el archivo `dfllmstxtaeo.zip` desde tu cuenta DataFirefly.
2. En el admin de WordPress, ve a **Plugins → Añadir nuevo → Subir plugin**, selecciona el ZIP y haz clic en **Instalar ahora**.
3. Activa el plugin. La regla de reescritura para `/llms.txt` se registra y los enlaces permanentes se refrescan automáticamente al activar.
4. Comprueba que `https://tusitio.tld/llms.txt` responde. Si obtienes un 404, ve a **Ajustes → Enlaces permanentes** y haz clic en **Guardar cambios** para forzar un refresco de las reglas.

## Ajustes generales

La página de configuración está en **WooCommerce → llms.txt + AEO**. Muestra arriba la URL de tu llms.txt con un enlace directo de previsualización.

### Servir /llms.txt

Cuatro interruptores controlan las funciones principales: el endpoint llms.txt, el enriquecimiento del esquema de producto, la salida del esquema FAQPage y la especificación Speakable. Todo está activado por defecto.

### Contenido del llms.txt

- **Incluir productos / páginas / entradas**: elige qué secciones se generan.
- **Máximo de productos**: de 1 a 1000 (200 por defecto). Los productos más recientes aparecen primero.
- **Duración de la caché**: en minutos, 0 para desactivarla. La caché se vacía automáticamente de todos modos en cada edición de producto, página o ajuste.
- **Párrafo de introducción**: texto libre (texto plano o markdown) insertado tras la descripción del sitio.

### Valores por defecto del esquema

- **Nombre de marca por defecto**: se usa cuando un producto no tiene marca propia.
- **País del comercio (ISO-2)**: déjalo vacío para usar el país base de WooCommerce.
- **Plazo de devolución por defecto**: en días, alimenta hasMerchantReturnPolicy.
- **Costes de devolución**: devolución gratuita, el cliente paga el envío, o el cliente paga todos los costes.

## El endpoint /llms.txt

El archivo se sirve con las cabeceras `Content-Type: text/markdown; charset=utf-8` y `X-Robots-Tag: noindex` (apunta a los crawlers de IA, no al índice de Google). Secciones generadas: categorías de productos, productos (título, URL, precio, descripción corta), páginas, entradas, y los enlaces a la política de privacidad y los términos configurados en WordPress y WooCommerce.

### Cómo funciona la caché

El contenido se almacena en un transient por idioma (`dfllmstxtaeo_llms_cache_{lang}`). Se invalida automáticamente en los hooks `save_post_product`, `save_post_page`, `deleted_post` y cada vez que se guardan los ajustes del plugin.

### Multilingüe

Polylang y WPML se detectan automáticamente. Cada idioma obtiene su propio llms.txt servido bajo su prefijo de URL (por ejemplo `/es/llms.txt` según tu configuración de Polylang), con caché independiente. Sin plugin multilingüe, se usa la locale de WordPress.

## La pestaña AEO Schema en los productos

Cada producto gana una pestaña **AEO Schema** en el panel de datos de WooCommerce (Producto → Editar).

### Campos disponibles

- **Marca**: sustituye la marca global para este producto. Como alternativa, el plugin busca un atributo `pa_brand` o `brand`.
- **GTIN / EAN / UPC**: 8, 12, 13 o 14 dígitos. La propiedad `gtin8/12/13/14` correspondiente se añade automáticamente según la longitud.
- **MPN**: referencia del fabricante.
- **Materiales**: separados por comas (ej. «cuero, algodón reciclado»). Un solo material produce una cadena, varios producen un array.
- **Compatible con**: un elemento por línea. Cada línea se convierte en una entrada `isRelatedTo` de tipo Product.

### FAQ orientada a agentes de IA

Bajo los campos, la sección **FAQ orientada a agentes** permite añadir pares pregunta/respuesta cortos y factuales (compatibilidad exacta, dimensiones, ingredientes, certificaciones). Alimentan un esquema `FAQPage` JSON-LD separado, emitido solo en las páginas de producto que tienen al menos una entrada. Esta FAQ es invisible en el front: no se muestra en el tema, existe únicamente para los agentes.

Redacta las respuestas como hechos verificables, no como argumentos de venta. Un agente que lee «compatible con los modelos X, Y y Z» citará exactamente esos modelos; un agente que lee «compatible con la mayoría de los dispositivos» inventará la lista.

## Campos Schema.org añadidos

En el objeto **Product**: brand, gtin (+ gtin8/12/13/14), mpn, material, color, size, weight, height, width, depth (QuantitativeValue con las unidades de WooCommerce), isRelatedTo, speakable. En cada **Offer**: seller (Organization con el nombre y la URL del sitio), hasMerchantReturnPolicy (país, plazo en días, tipo de tarifa), shippingDetails (destino, deliveryTime con handlingTime de 0-1 día y transitTime de 1-5 días).

Los campos color y size se toman automáticamente de los atributos `pa_color` / `color` y `pa_size` / `size` cuando existen. El peso y las dimensiones vienen de los campos de envío nativos del producto.

## Compatibilidad con plugins SEO

El plugin actúa exclusivamente mediante el filtro nativo `woocommerce_structured_data_product`, que solo toca el JSON-LD generado por el propio WooCommerce. Yoast SEO, RankMath y SEO Press emiten sus bloques de forma independiente mediante `wp_head`: sin colisiones. Los valores ya presentes en el esquema de WooCommerce se conservan.

## Hooks para desarrolladores

- `dfllmstxtaeo_llms_output`: filtra el contenido final del llms.txt. Argumentos: el contenido (string) y el código de idioma.
- `dfllmstxtaeo_product_schema`: filtra el array de esquema enriquecido antes de la salida. Argumentos: el array de markup y el objeto WC_Product.

```
add_filter( 'dfllmstxtaeo_product_schema', function ( $markup, $product ) {
    $markup['award'] = 'Premio de diseño 2026';
    return $markup;
}, 10, 2 );
```

## Solución de problemas

- **/llms.txt devuelve un 404**: vuelve a guardar los enlaces permanentes (Ajustes → Enlaces permanentes → Guardar cambios).
- **El archivo no refleja un cambio reciente**: la caché se vacía al editar, pero puedes forzarlo poniendo temporalmente la duración de la caché a 0, o volviendo a guardar los ajustes.
- **El FAQPage no aparece**: comprueba que el producto tiene al menos un par pregunta/respuesta completo y que la opción «Generar esquema FAQPage» está activa.
- **Validar el esquema**: prueba una URL de producto con el validador de schema.org o la herramienta de resultados enriquecidos de Google para inspeccionar el JSON-LD completo.
