llms.txt + AEO Schema voor WooCommerce: volledige handleiding
De plugin llms.txt + AEO Schema installeren en instellen: meertalig llms.txt-endpoint, antihallucinatie-verrijking van Schema.org en een FAQ gericht op AI-agents.
Overzicht
De plugin DataFirefly llms.txt + AEO Schema maakt uw WooCommerce-winkel zichtbaar en juist begrepen voor AI-agents (ChatGPT, Claude, Perplexity, Gemini). Ze combineert twee elkaar aanvullende mechanismen:
- Een dynamisch endpoint /llms.txt volgens de standaard van llmstxt.org, gegenereerd uit uw catalogus met een cache per taal.
- Een verrijking van het Product-schema van WooCommerce met de antihallucinatie-eigenschappen waar agents naar zoeken: merk, GTIN, materialen, compatibiliteit, retour- en verzendbeleid, plus een apart FAQPage-schema dat op agents is gericht.
Vereisten
- WordPress 6.2 of hoger
- WooCommerce 8.0 of hoger (getest tot 9.4)
- PHP 8.0 of hoger
- Optioneel: Polylang of WPML voor meertalige generatie
Installatie
- Download het archief
dfllmstxtaeo.zipvanuit uw DataFirefly-account. - Ga in het WordPress-beheer naar Plugins → Nieuwe plugin → Plugin uploaden, selecteer de ZIP en klik op Installeren.
- Activeer de plugin. De rewrite rule voor
/llms.txtwordt geregistreerd en de permalinks worden bij de activering automatisch ververst. - Controleer of
https://uwsite.tld/llms.txtantwoordt. Krijgt u een 404, ga dan naar Instellingen → Permalinks en klik op Wijzigingen opslaan om een flush van de regels af te dwingen.
Algemene instellingen
De configuratiepagina vindt u in WooCommerce → llms.txt + AEO. Boven aan de pagina staat de URL van uw llms.txt met een directe voorbeeldlink.
/llms.txt serveren
Vier schakelaars sturen de hoofdfuncties aan: het llms.txt-endpoint, de verrijking van het productschema, de uitvoer van het FAQPage-schema en de Speakable-specificatie. Alles staat standaard aan.
Inhoud van de llms.txt
- Producten, pagina’s of berichten opnemen: kies welke onderdelen worden gegenereerd.
- Maximaal aantal producten: van 1 tot 1000 (standaard 200). De meest recente producten staan bovenaan.
- Cacheduur: in minuten, 0 om uit te schakelen. De cache wordt sowieso automatisch geleegd bij elke wijziging van een product, een pagina of een instelling.
- Inleidende alinea: vrije tekst (platte tekst of markdown) die na de sitebeschrijving wordt ingevoegd.
Standaardwaarden van het schema
- Standaard merknaam: wordt gebruikt wanneer een product geen eigen merk heeft.
- Land van de handelaar (ISO-2): laat leeg om het basisland van WooCommerce over te nemen.
- Standaard retourtermijn: in dagen, voedt hasMerchantReturnPolicy.
- Retourkosten: gratis retour, klant betaalt de verzending, of klant betaalt alle kosten.
Het endpoint /llms.txt
Het bestand wordt geserveerd met de header Content-Type: text/markdown; charset=utf-8 en X-Robots-Tag: noindex (het richt zich op AI-crawlers, niet op de index van Google). De gegenereerde onderdelen zijn: productcategorieën, producten (titel, URL, prijs, korte beschrijving), pagina’s, berichten, en daarna de links naar de privacyverklaring en de algemene voorwaarden zoals ingesteld in WordPress en WooCommerce.
Hoe de cache werkt
De inhoud wordt gecachet in een transient met een bereik per taal (dfllmstxtaeo_llms_cache_{lang}). Die wordt automatisch ongeldig gemaakt bij de hooks save_post_product, save_post_page en deleted_post, en telkens wanneer de instellingen van de plugin worden opgeslagen.
Meertaligheid
Polylang en WPML worden automatisch herkend. Elke taal krijgt een eigen llms.txt op het bijbehorende URL-voorvoegsel (bijvoorbeeld /en/llms.txt, afhankelijk van uw Polylang-configuratie), met een eigen cache. Zonder meertalige plugin wordt de locale van WordPress gebruikt.
Tabblad AEO Schema op de producten
Elk product krijgt een tabblad AEO Schema in het WooCommerce-gegevenspaneel (Product → Bewerken).
Beschikbare velden
- Merk: vervangt het algemene merk voor dit product. Is dit leeg, dan zoekt de plugin naar een attribuut
pa_brandofbrand. - GTIN / EAN / UPC: 8, 12, 13 of 14 cijfers. De bijbehorende eigenschap
gtin8/12/13/14wordt automatisch toegevoegd op basis van de lengte. - MPN: de referentie van de fabrikant.
- Materialen: gescheiden door komma’s (bijvoorbeeld “leer, gerecycleerd katoen”). Eén materiaal levert een tekenreeks op, meerdere leveren een array op.
- Compatibel met: één item per regel. Elke regel wordt een
isRelatedTo-vermelding van het type Product.
FAQ gericht op AI-agents
Onder de velden staat het onderdeel FAQ gericht op agents, waarmee u korte, feitelijke vraag-en-antwoordparen toevoegt (exacte compatibiliteit, afmetingen, ingrediënten, certificeringen). Ze voeden een apart JSON-LD-schema FAQPage, dat alleen wordt uitgestuurd op productpagina’s met minstens één item. Deze FAQ is aan klantzijde onzichtbaar: ze verschijnt niet in het thema en bestaat uitsluitend voor de agents.
Schrijf de antwoorden als verifieerbare feiten, niet als verkoopargumenten. Een agent die leest “compatibel met de modellen X, Y en Z” noemt precies die modellen; een agent die leest “compatibel met de meeste apparaten” verzint de lijst zelf.
Toegevoegde Schema.org-velden
Op het object Product: brand, gtin (plus gtin8/12/13/14), mpn, material, color, size, weight, height, width, depth (QuantitativeValue met de eenheden van WooCommerce), isRelatedTo en speakable. Op elke Offer: seller (Organization met de naam en URL van de site), hasMerchantReturnPolicy (land, termijn in dagen, type kosten) en shippingDetails (bestemming, deliveryTime met een handlingTime van 0 tot 1 dag en een transitTime van 1 tot 5 dagen).
De velden color en size worden automatisch overgenomen van de attributen pa_color of color en pa_size of size, indien aanwezig. Het gewicht en de afmetingen komen uit de ingebouwde verzendvelden van het product.
Compatibiliteit met SEO-plugins
De plugin werkt uitsluitend via het ingebouwde filter woocommerce_structured_data_product, dat alleen de JSON-LD raakt die WooCommerce zelf genereert. Yoast SEO, RankMath en SEO Press sturen hun blokken los uit via wp_head, dus er is geen botsing. Waarden die al in het WooCommerce-schema staan, blijven behouden.
Hooks voor ontwikkelaars
dfllmstxtaeo_llms_output: filtert de uiteindelijke inhoud van de llms.txt. Argumenten: de inhoud (string) en de taalcode.dfllmstxtaeo_product_schema: filtert de verrijkte schema-array vóór de uitvoer. Argumenten: de markup-array en het WC_Product-object.
add_filter( 'dfllmstxtaeo_product_schema', function ( $markup, $product ) {
$markup['award'] = 'Designprijs 2026';
return $markup;
}, 10, 2 );
Probleemoplossing
- /llms.txt geeft een 404: sla de permalinks opnieuw op (Instellingen → Permalinks → Wijzigingen opslaan).
- Het bestand toont een recente wijziging niet: de cache wordt bij het bewerken geleegd, maar u kunt dat forceren door de cacheduur tijdelijk op 0 te zetten of door de instellingen opnieuw op te slaan.
- Het FAQPage verschijnt niet: controleer of het product minstens één volledig vraag-en-antwoordpaar heeft en of de optie “FAQPage-schema uitsturen” actief is.
- Het schema valideren: test een product-URL met de validator van schema.org of met de Rich Results Test van Google om de volledige JSON-LD te bekijken.