# llms.txt + AEO Schema pour WooCommerce — Guide complet

> Aperçu Le plugin DataFirefly llms.txt + AEO Schema rend votre boutique WooCommerce visible et correctement comprise par les agents IA (ChatGPT, Claude, Perplexity, Gemini). Il combine deux mécanismes complémentaires :…

- Page: <https://www.datafirefly.com/documentation/llms-txt-aeo-schema-woocommerce/>
- Langue: fr
- Mis à jour le: 2026-08-06
- Autres langues: [en](https://www.datafirefly.com/en/documentation/llms-txt-aeo-schema-woocommerce/index.md), [es](https://www.datafirefly.com/es/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)
- Index: <https://www.datafirefly.com/documentation/llms.txt>

## Aperçu

Le plugin **DataFirefly llms.txt + AEO Schema** rend votre boutique WooCommerce visible et correctement comprise par les agents IA (ChatGPT, Claude, Perplexity, Gemini). Il combine deux mécanismes complémentaires :

- Un **endpoint /llms.txt dynamique** conforme au standard llmstxt.org, généré depuis votre catalogue avec cache par langue.
- Un **enrichissement du schéma Product** de WooCommerce avec les attributs anti-hallucination que les agents recherchent : marque, GTIN, matériaux, compatibilité, politiques de retour et d'expédition, plus un schéma FAQPage séparé ciblé agents.

## Prérequis

- WordPress 6.2 ou supérieur
- WooCommerce 8.0 ou supérieur (testé jusqu'à 9.4)
- PHP 8.0 ou supérieur
- Facultatif : Polylang ou WPML pour la génération multilingue

## Installation

1. Téléchargez l'archive `dfllmstxtaeo.zip` depuis votre compte DataFirefly.
2. Dans l'admin WordPress, allez dans **Extensions → Ajouter → Téléverser une extension**, sélectionnez le ZIP et cliquez sur **Installer**.
3. Activez le plugin. La règle de réécriture pour `/llms.txt` est enregistrée et les permaliens sont rafraîchis automatiquement à l'activation.
4. Vérifiez que `https://votresite.tld/llms.txt` répond. Si vous obtenez une 404, allez dans **Réglages → Permaliens** et cliquez sur **Enregistrer** pour forcer un flush des règles.

## Réglages généraux

La page de configuration se trouve dans **WooCommerce → llms.txt + AEO**. Elle affiche en haut l'URL de votre llms.txt avec un lien direct de prévisualisation.

### Servir /llms.txt

Quatre interrupteurs contrôlent les grandes fonctions : l'endpoint llms.txt, l'enrichissement du schéma produit, la sortie du schéma FAQPage et la spécification Speakable. Tout est activé par défaut.

### Contenu du llms.txt

- **Inclure les produits / pages / articles** : choisissez les sections générées.
- **Nombre maximal de produits** : de 1 à 1000 (200 par défaut). Les produits les plus récents sont listés en premier.
- **Durée du cache** : en minutes, 0 pour désactiver. Le cache est de toute façon vidé automatiquement à chaque édition de produit, de page ou de réglage.
- **Paragraphe d'introduction** : texte libre (plaintext ou markdown) inséré après la description du site.

### Valeurs par défaut du schéma

- **Nom de marque par défaut** : utilisé quand un produit n'a pas de marque propre.
- **Pays du marchand (ISO-2)** : laissez vide pour reprendre le pays de base WooCommerce.
- **Fenêtre de retour par défaut** : en jours, alimente hasMerchantReturnPolicy.
- **Frais de retour** : retour gratuit, client paie l'expédition, ou client paie tous les frais.

## L'endpoint /llms.txt

Le fichier est servi avec l'en-tête `Content-Type: text/markdown; charset=utf-8` et `X-Robots-Tag: noindex` (il cible les crawlers IA, pas l'index Google). Les sections générées : catégories de produits, produits (titre, URL, prix, description courte), pages, articles, puis les liens vers la politique de confidentialité et les CGV configurées dans WordPress et WooCommerce.

### Fonctionnement du cache

Le contenu est mis en cache dans un transient scopé par langue (`dfllmstxtaeo_llms_cache_{lang}`). Il est invalidé automatiquement sur les hooks `save_post_product`, `save_post_page`, `deleted_post` et à chaque enregistrement des réglages du plugin.

### Multilingue

Polylang et WPML sont détectés automatiquement. Chaque langue obtient son propre llms.txt servi sur son préfixe d'URL (par exemple `/en/llms.txt` selon votre configuration Polylang), avec cache indépendant. Sans plugin multilingue, la locale WordPress est utilisée.

## Onglet AEO Schema sur les produits

Chaque produit gagne un onglet **AEO Schema** dans le panneau de données WooCommerce (Produit → Modifier).

### Champs disponibles

- **Marque** : remplace la marque globale pour ce produit. À défaut, le plugin cherche un attribut `pa_brand` ou `brand`.
- **GTIN / EAN / UPC** : 8, 12, 13 ou 14 chiffres. La propriété `gtin8/12/13/14` correspondante est ajoutée automatiquement selon la longueur.
- **MPN** : référence fabricant.
- **Matériaux** : séparés par des virgules (ex. « cuir, coton recyclé »). Un seul matériau produit une chaîne, plusieurs produisent un tableau.
- **Compatible avec** : un élément par ligne. Chaque ligne devient une entrée `isRelatedTo` de type Product.

### FAQ ciblée agents IA

Sous les champs, la section **FAQ ciblée agents** permet d'ajouter des paires question/réponse courtes et factuelles (compatibilité exacte, dimensions, ingrédients, certifications). Elles alimentent un schéma `FAQPage` JSON-LD séparé, émis uniquement sur les pages produit qui ont au moins une entrée. Cette FAQ est invisible côté client : elle ne s'affiche pas dans le thème, elle existe uniquement pour les agents.

Rédigez les réponses comme des faits vérifiables, pas comme des arguments de vente. Un agent qui lit « compatible avec les modèles X, Y et Z » citera exactement ces modèles ; un agent qui lit « compatible avec la plupart des appareils » inventera la liste.

## Champs Schema.org ajoutés

Sur l'objet **Product** : brand, gtin (+ gtin8/12/13/14), mpn, material, color, size, weight, height, width, depth (QuantitativeValue avec les unités WooCommerce), isRelatedTo, speakable. Sur chaque **Offer** : seller (Organization avec le nom et l'URL du site), hasMerchantReturnPolicy (pays, fenêtre en jours, type de frais), shippingDetails (destination, deliveryTime avec handlingTime 0-1 jour et transitTime 1-5 jours).

Les champs color et size sont repris automatiquement des attributs `pa_color` / `color` et `pa_size` / `size` si présents. Le poids et les dimensions viennent des champs d'expédition natifs du produit.

## Compatibilité avec les plugins SEO

Le plugin agit exclusivement via le filtre natif `woocommerce_structured_data_product`, qui ne touche que le JSON-LD généré par WooCommerce lui-même. Yoast SEO, RankMath et SEO Press émettent leurs blocs indépendamment via `wp_head` : aucune collision. Les valeurs déjà présentes dans le schéma WooCommerce sont préservées.

## Hooks développeur

- `dfllmstxtaeo_llms_output` : filtre le contenu final du llms.txt. Arguments : le contenu (string) et le code langue.
- `dfllmstxtaeo_product_schema` : filtre le tableau de schéma enrichi avant sortie. Arguments : le tableau de markup et l'objet WC_Product.

```
add_filter( 'dfllmstxtaeo_product_schema', function ( $markup, $product ) {
    $markup['award'] = 'Prix du design 2026';
    return $markup;
}, 10, 2 );
```

## Dépannage

- **/llms.txt renvoie une 404** : réenregistrez les permaliens (Réglages → Permaliens → Enregistrer).
- **Le fichier ne reflète pas une modification récente** : le cache se vide à l'édition, mais vous pouvez forcer en mettant la durée du cache à 0 temporairement, ou en réenregistrant les réglages.
- **Le FAQPage n'apparaît pas** : vérifiez que le produit a au moins une paire question/réponse complète et que l'option « Émettre le schéma FAQPage » est active.
- **Valider le schéma** : testez une URL produit avec le validateur schema.org ou l'outil de résultats enrichis de Google pour visualiser le JSON-LD complet.
