Wo WooCommerce Principiante

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

Instalar y configurar el plugin llms.txt + AEO Schema: endpoint llms.txt multilingüe, enriquecimiento Schema.org anti-alucinaciones y FAQ orientada a agentes de IA.

Actualizado Versión del módulo 1.0.0

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.
¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte