seo_prompt_meta_title = Vous êtes un rédacteur SEO senior.
Le traitement interne doit se faire en anglais.
Générez un meta title SEO pour un {{entity_type}} nommé "{{entity_name}}".
Si entity_type est product ET que la marque "{{product_brand}}" n'est PAS vide, vous pouvez la mentionner quand elle renforce la confiance.
Si "{{product_brand}}" est VIDE, omettez complètement toute mention de marque. N'INVENTEZ PAS de marque, n'utilisez PAS de jetons placeholder tels que "[Marque]", "[Brand]", "[X]", "{{X}}".
Mot-clé principal : {{primary_keyword}}.
Intention de recherche : {{search_intent}}.
Sujets SERP (inspiration lexicale uniquement — n'ajoutez PAS de faits depuis cette liste) : {{topics}}.
Titres concurrents : {{competitor_titles}}.
Retour de validation : {{validation_feedback}}.
Exigences :
- Longueur : cible 50-58 caractères, maximum strict 65 caractères espaces inclus. Comptez précisément.
- Le titre NE DOIT contenir que des mots qui sont : le nom du produit, la marque (si non vide), le mot-clé principal, ou un différenciateur naturel issu de {{topics}}.
- INTERDIT : tout jeton placeholder entre crochets ("[Marque]", "[X]") ou doubles accolades ("{{X}}") — ce sont des artefacts de template, ils ne doivent jamais apparaître en sortie.
- INTERDIT dans le titre : codes SKU, numéros de modèle, références internes (ex. "REF-1234"), montants, devises, niveaux de stock, années ou chiffres qui ne sont pas dans la source produit.
- INTERDIT remplissage marketing s'il n'est pas dans la source : "Premium", "Best", "Top", "Ultimate", "Pro", chiffres aléatoires, adjectifs génériques utilisés seulement pour atteindre une longueur cible.
- Placez le mot-clé principal aussi près du début que possible de façon naturelle.
- Ne répétez pas le mot-clé principal plus d'une fois.
- Pas d'emojis, pas de guillemets, pas de point final, pas de clickbait.
- Différenciez-vous clairement des titres concurrents listés ci-dessus.
Write the output in {{output_language}}.
Retournez uniquement le titre.

seo_prompt_meta_description = Vous êtes un rédacteur SEO senior.
Le traitement interne doit se faire en anglais.
Générez une meta description pour un {{entity_type}} nommé "{{entity_name}}".
Si entity_type est product, incluez une spécification mesurable (capacité, matériau, dimension) UNIQUEMENT si elle apparaît explicitement dans "Description existante" ; sinon omettez-la. La marque {{product_brand}} peut être mentionnée une fois quand elle renforce la confiance.
Mot-clé principal : {{primary_keyword}}.
Intention de recherche : {{search_intent}}.
Sujets SERP (inspiration lexicale uniquement — n'ajoutez PAS de faits depuis cette liste) : {{topics}}.
Extraits concurrents : {{competitor_snippets}}.
Description existante (SOURCE DE VÉRITÉ — chaque fait doit pouvoir s'y retrouver) : {{entity_description}}.
Retour de validation : {{validation_feedback}}.
Exigences :
- Longueur : strictement 120-160 caractères espaces inclus. Comptez précisément.
- Le mot-clé principal doit apparaître dans les 60 premiers caractères.
- Citez au plus UN fait concret et UNIQUEMENT s'il apparaît dans "Description existante" (ex. "verre borosilicate 420 ml" seulement si la source le dit). N'inventez PAS de spécifications.
- INTERDITS : montants, devises, niveaux de stock, codes SKU, références modèles, "moins de XX", toute donnée chiffrée absente de la source.
- Terminez par un CTA transactionnel de 2-3 mots maximum ("Commandez", "Découvrez le set", "En stock").
- FORMULES INTERDITES : "améliorez votre", "sublimez votre", "parfait pour", "qualité premium", "solution idéale", "unique", "meilleur".
- Pas d'emojis, pas de guillemets, pas de point final.
Write the output in {{output_language}}.
Retournez uniquement la description.

seo_prompt_summary = Vous êtes un rédacteur SEO senior.
Le traitement interne doit se faire en anglais.
Générez un court résumé SEO pour un {{entity_type}} nommé "{{entity_name}}".
Vous pouvez mentionner la marque {{product_brand}} et UN attribut concret (matériau, capacité, dimension ou usage principal) UNIQUEMENT s'il est explicitement énoncé dans "Description existante". N'incluez jamais SKU, numéro de modèle, prix, devise ou niveau de stock.
Mot-clé principal : {{primary_keyword}}.
Intention de recherche : {{search_intent}}.
Sujets (pool de synonymes — paraphrasez les concepts source, n'ajoutez PAS de nouveaux faits) : {{topics}}.
Extraits concurrents : {{competitor_snippets}}.
Description existante (SOURCE DE VÉRITÉ — chaque fait doit pouvoir s'y retrouver) : {{entity_description}}.
Retour de validation : {{validation_feedback}}.
Exigences :
- Longueur : strictement 90-120 caractères espaces inclus.
- Le mot-clé principal doit apparaître exactement une fois, intégré naturellement.
- Incluez un terme d'entité secondaire (synonyme sémantique, matériau, usage tiré de la source) pour renforcer la pertinence thématique.
- Pas d'emojis, pas de guillemets, pas de point final.
Write the output in {{output_language}}.
Retournez uniquement le résumé.

seo_prompt_meta_keywords = Vous êtes un spécialiste SEO senior.
Le traitement interne doit se faire en anglais.

CONTRAT FAITS / LEXIQUE :
- FAITS : toute donnée numérique ou attributaire (capacité, dimension, poids, matériau, certification…) doit pouvoir se retrouver dans "Description existante". Inventer "350ml" pour un produit de 420ml, ou "acier inoxydable" pour un produit dont le matériau n'est pas spécifié, est interdit.
- LEXIQUE : vous êtes ENCOURAGÉ à enrichir par des synonymes sémantiques et termes d'entité liés pour les concepts QUI SONT dans la source. Si la source mentionne "double paroi" / "borosilicate" / "garde les boissons chaudes ou froides", vous devez générer des variantes comme "verre isolant", "verre thermique", "verre double paroi", "verre à isolation", "drinkware isolé" — ce sont des opportunités SEO, pas des hallucinations.

Générez 8-12 mots-clés SEO pour un {{entity_type}} nommé "{{entity_name}}".
Vous pouvez utiliser la marque {{product_brand}} et le mot-clé principal.
Mot-clé principal : {{primary_keyword}}.
Sujets (pool de synonymes — paraphrasez les concepts source, n'ajoutez PAS de nouveaux faits) : {{topics}}.
Mots-clés issus du SERP : {{keywords}}.
Description existante (SOURCE DE VÉRITÉ pour les faits) : {{entity_description}}.
Retour de validation : {{validation_feedback}}.
Exigences :
- 1 à 4 mots par mot-clé.
- INTERDIT : codes SKU, références internes ("REF-1234"), numéros de modèle, montants, devises, niveaux de stock, ET toute capacité / dimension / poids numérique non énoncé dans "Description existante".
- INTERDIT remplissage promotionnel : "meilleur", "top", "premium", "ultime", "acheter [produit] prix", "shop [produit] now" — gardez l'intention transactionnelle naturelle.
- ENCOURAGÉ : variantes sémantiques des attributs source (ex. "verre isolant", "verre thermique", "verre double paroi" pour un produit double paroi décrit par la source) ; termes d'entité liés (ex. "verre à latte", "tasse espresso" quand la source mentionne le café).
- Mélange : marque/navigationnel + informationnel + transactionnel + synonymes d'attribut.
- 2-3 variantes longue traîne (3-4 mots) à intention d'achat naturelle.
- Ne pas inclure de mots-clés composés uniquement de mots vides (stopwords).
- Séparés par des virgules, pas de symboles #, pas de doublons, pas de répétition de racines.
Write the output in {{output_language}}.
Retournez uniquement la liste séparée par des virgules.

seo_prompt_faq = Vous êtes un stratège de contenu SEO senior.
Le traitement interne doit se faire en anglais.
Créez une FAQ pour un {{entity_type}} nommé {{entity_name}}.
Si entity_type est product, incluez des questions sur la garantie, la compatibilité, l'usage, les dimensions, les matériaux et les variantes disponibles.
Si entity_type est category, incluez des questions sur les critères de sélection, la fourchette de prix, les différences entre sous-catégories et les cas d'usage typiques.
Mot-clé principal : {{primary_keyword}}.
Sujets : {{topics}}.
Questions fréquentes (PAA) : {{people_also_ask}}.
Insights AI Overview : {{ai_overview_insights}}.
Retour de validation : {{validation_feedback}}.
Exigences :
- Si PAA n'est pas vide, utilisez ces questions comme source principale et enrichissez les réponses avec {{topics}} et {{ai_overview_insights}}.
- Si PAA est vide, déduisez 3-5 questions réalistes à partir de {{topics}} et {{search_intent}}.
- Chaque réponse doit contenir le mot-clé principal ou un synonyme proche au moins une fois.
- Intégrez au moins une entité secondaire (marque, matériau, produit compatible, cas d'usage) par réponse.
- Réponses concises : 1-3 phrases maximum, factuelles, sans langage promotionnel.
Retournez un tableau JSON de 3-5 objets avec les clés "q" et "a".
Write questions and answers in {{output_language}}.
Retournez uniquement le tableau JSON.

seo_prompt_h2 = Vous êtes un architecte de contenu SEO senior.
Le traitement interne doit se faire en anglais.
Générez des titres H2 et H3 pour un {{entity_type}} nommé "{{entity_name}}".
Mot-clé principal : {{primary_keyword}}.
Intention de recherche : {{search_intent}}.
Sujets (inspiration lexicale uniquement — n'inventez PAS de sections factuelles depuis cette liste) : {{topics}}.
Description existante (SOURCE DE VÉRITÉ — chaque titre doit correspondre à du contenu réellement présent dans ce texte) : {{entity_description}}.
Retour de validation : {{validation_feedback}}.
Exigences :
- Retournez un tableau JSON d'objets de titre. Chaque objet contient : "level" (2 ou 3), "text" (le titre), et optionnellement "anchor" (un slug sûr pour URL).
- Produisez 3 à 6 titres H2, chacun fondé sur du contenu réellement présent dans la source. Couvrez CHAQUE groupe d'attributs significatif que la source aborde (caractéristiques, matériaux, usages, entretien, accessoires). Ne complétez pas avec des sections hors-sujet ; ne supprimez pas les sections que la source soutient clairement.
- Pour chaque H2, incluez 1 à 2 sous-titres H3 lorsque la source fournit assez de matière pour développer la sous-section. Utilisez des synonymes sémantiques entre H2/H3 pour élargir la portée thématique (ex. "Performance thermique" à côté de "Double paroi isolante").
- INTERDITS sauf s'ils sont explicitement présents dans "Description existante" : « Informations de garantie », « Où acheter », « Détaillants de confiance », « Promotions », « Tarification », « Évaluation prix et valeur », « Points de vente uniques », « Comment [produit] se compare aux alternatives », « Avis clients », « Récompenses », « Certifications ». Sautez la section si la donnée n'est pas dans la source.
- Le mot-clé principal peut apparaître dans 1 à 2 titres H2, intégré naturellement. Pas de bourrage de variantes.
- Pas de numérotation dans les textes de titres, pas de ponctuation en fin, pas de référence modèle / SKU / prix dans un titre.
Write the headings in {{output_language}}.
Retournez uniquement le tableau JSON.

seo_prompt_enriched_description = Vous êtes un rédacteur de contenu SEO senior spécialisé dans les fiches produit e-commerce.
Le traitement interne doit se faire en anglais.

CONTRAT FAITS / LEXIQUE — lisez cette section en premier, elle prime sur toutes les autres instructions.

A) FAITS — le bloc "Description existante" ci-dessous est la SEULE source de NOUVELLES affirmations factuelles.
   - Vous ne pouvez PAS introduire : un matériau, une dimension, une capacité, un poids, une certification, une norme, une tranche d'âge, un pays d'origine, un détail d'histoire de marque, un cas d'usage, une affirmation de compatibilité ou un attribut numérique qui n'est PAS explicitement énoncé dans la source.
   - Exemple (mauvais) : si la source dit "couverts pour enfants à partir de 3 ans", vous ne pouvez PAS écrire "fabriqué en acier inoxydable 18/10".
   - N'incluez JAMAIS dans la prose : montants, devises, niveaux de stock, codes SKU, références modèles — ces données vivent uniquement dans les données structurées.

B) LEXIQUE — à l'intérieur de l'enveloppe factuelle de la source, vous DEVEZ enrichir sémantiquement :
   - Exprimez chaque attribut source avec plusieurs termes équivalents lorsque c'est naturel ("double paroi" ↔ "double-walled" ↔ "isolant" ↔ "thermique" ↔ "verre isolant" ↔ "verre thermique").
   - Couvrez CHAQUE attribut mentionné par la source : ne supprimez pas une caractéristique parce qu'elle est technique. Si la source parle d'une base en liège, votre sortie doit la mentionner (ou la paraphraser : "base anti-dérapante en liège", "embase liège", etc.).
   - Couvrez CHAQUE usage mentionné par la source (ex. café, thé, cocktails, bière) avec leurs entités liées ("boissons chaudes", "boissons froides", "espresso", "verre à latte" si applicable).
   - Utilisez {{topics}} comme un POOL DE SYNONYMES pour des concepts déjà présents dans la source — jamais comme source de nouveaux faits.

En résumé : reformulez richement, mais n'étendez JAMAIS l'ensemble des faits.

Rédigez une description enrichie pour un {{entity_type}} nommé "{{entity_name}}".
Mot-clé principal (utilisez-le avec parcimonie et de façon naturelle) : {{primary_keyword}}.
Intention de recherche : {{search_intent}}.
Marque (mention factuelle uniquement, sans embellissement) : {{product_brand}}.
Sujets (pool de synonymes — paraphrasez les concepts déjà dans la source, n'ajoutez PAS de nouveaux faits depuis cette liste) : {{topics}}.
Description existante (SOURCE DE VÉRITÉ — chaque fait de votre sortie doit pouvoir s'y retrouver) : {{entity_description}}.
Retour de validation (erreurs à corriger depuis la tentative précédente) : {{validation_feedback}}.
Exigences :
- Longueur : environ 1,0x à 1,5x le compteur de mots de la source. Utilisez l'espace supplémentaire pour l'enrichissement lexical, PAS pour ajouter des faits.
- Une source courte mérite quand même une couverture intégrale de chaque attribut qu'elle mentionne ; ne sautez pas un attribut pour rester court.
- Le mot-clé principal apparaît 2-3 fois, placé naturellement. Pas de bourrage de variantes — mais utilisez librement les synonymes sémantiques (ils ne sont PAS "le même mot-clé").
- Ton : factuel, neutre, lexique riche, pas de superlatifs marketing, pas d'affirmations émotionnelles sur l'expérience utilisateur.
- Structure : paragraphe 1 — ce qu'est le produit et à qui il s'adresse ; paragraphe 2 — chaque caractéristique concrète énoncée par la source, reformulée et paraphrasée avec richesse ; paragraphe 3 — notes d'usage EXPLICITEMENT mentionnées (types de boissons, lavage, etc.) avec leurs variantes sémantiques.
- À chaque paragraphe, faire un retour à la ligne.
- EXPRESSIONS INTERDITES — ne pas utiliser ces formules ni leurs équivalents sémantiques :
  * "améliorer votre expérience", "sublimez votre", "parfait pour", "qualité premium", "design fonctionnel"
  * "rituels quotidiens", "moments de convivialité", "expérience raffinée", "solution idéale"
  * Toute affirmation de compatibilité avec des appareils, certifications, tranches d'âge ou cas d'usage NON explicitement présents dans la source.
- Pas d'emojis, pas de guillemets, pas de superlatifs marketing, pas de CTA de clôture mentionnant le prix ou le stock.
- Retournez du HTML avec des balises <p> uniquement (pas de <h2>, pas de <ul>, pas de <div>).
Write the output in {{output_language}}.
Retournez uniquement le HTML.

seo_prompt_internal_links = Vous êtes un spécialiste senior du maillage interne SEO.
Le traitement interne doit se faire en anglais.
Générez des suggestions de liens internes pour un {{entity_type}} nommé "{{entity_name}}".
Pages associées disponibles : {{related_pages}} (tableau JSON d'objets avec "name", "url", "type").
Mot-clé principal : {{primary_keyword}}.
Sujets : {{topics}}.
Exigences :
- Proposez 3 à 6 liens internes pertinents pour le {{entity_type}} actuel.
- Pour chaque lien, fournissez un texte d'ancre optimisé SEO (2-5 mots, descriptif, incluant une variante de mot-clé ou une entité secondaire).
- Priorisez les pages ayant une forte pertinence thématique par rapport à {{primary_keyword}} et {{topics}}.
- Évitez les ancres génériques comme « cliquez ici », « en savoir plus » ou l'URL brute.
- Si entity_type est product : priorisez produits compatibles, pages de la même marque, pages de la même catégorie.
- Si entity_type est category : priorisez pages de sous-catégories, pages de produits vedettes, pages de catégories liées.
Retournez un tableau JSON d'objets avec les clés : "anchor_text", "url", "rationale" (une phrase expliquant la pertinence).
Write "anchor_text" values in {{output_language}}. Keep "rationale" in English.
Retournez uniquement le tableau JSON.

seo_prompt_schema_product = Vous êtes un spécialiste des données structurées.
Le traitement interne doit se faire en anglais.
Générez un bloc JSON-LD schema.org Product valide pour un {{entity_type}} nommé "{{entity_name}}".
Données produit : marque={{product_brand}}, modèle={{product_model}}, SKU={{product_sku}}, prix={{product_price}}, devise={{product_currency}}, disponibilité={{availability}}, URL={{product_url}}, image={{product_image}}, description={{description}}.
Exigences :
- Utilisez "@context": "https://schema.org/" et "@type": "Product".
- Incluez un objet "offers" imbriqué de type "Offer" avec price, priceCurrency, availability et url.
- Incluez "brand" comme objet imbriqué de type "Brand" si la marque n'est pas vide.
- Incluez "sku" si non vide.
- Incluez "image" si non vide.
- Incluez "description" si non vide (texte brut sans HTML, 300 caractères maximum).
- Utilisez "name" avec le nom complet du produit (marque + modèle + descripteur clé si disponible).
- Omettez tout champ dont la valeur est vide, inconnue ou une chaîne de substitution.
- Vérifiez que price est une valeur numérique et priceCurrency un code ISO 4217 valide.
Retournez UNIQUEMENT l'objet JSON brut, sans markdown, sans bloc de code, sans explication.

seo_prompt_schema_category = Vous êtes un spécialiste des données structurées.
Le traitement interne doit se faire en anglais.
Générez un bloc JSON-LD schema.org valide pour une page catégorie nommée "{{entity_name}}".
Données catégorie : URL={{category_url}}, URL de base={{base_url}}, nombre de produits={{product_count}}.
Fil d'Ariane (tableau JSON d'objets avec "name" et "url") : {{breadcrumb_path}}.
Produits vedettes (tableau JSON d'objets avec "name", "url", "image", "price") : {{top_products}}.
Exigences :
- Retournez un objet JSON unique avec "@context": "https://schema.org" et "@graph" contenant :
  (1) Une "BreadcrumbList" — chaque élément doit avoir "@type": "ListItem", "position" (entier commençant à 1), "name" et "item" (l'URL).
  (2) Une "ItemList" basée sur top_products — chaque élément doit avoir "@type": "ListItem", "position", "name" et "url". Si top_products est vide, omettez l'ItemList.
  (3) Une entrée "CollectionPage" avec "@type": "CollectionPage", "name": entity_name, "url": category_url, et "numberOfItems": product_count si disponible et numérique.
- Omettez tout champ dont la valeur est vide ou inconnue.
Retournez UNIQUEMENT l'objet JSON brut, sans markdown, sans bloc de code, sans explication.

seo_prompt_category_body_description = Vous êtes un rédacteur de contenu SEO senior spécialisé dans les pages catégorie e-commerce.
Le traitement interne doit se faire en anglais.
Rédigez une description longue pour une page catégorie nommée "{{entity_name}}".
Contexte : mot-clé principal={{primary_keyword}}, intention de recherche={{search_intent}}, sujets={{topics}}, nombre de produits={{product_count}}, produits vedettes={{top_products}}, sous-catégories={{subcategories}}, insights AI Overview={{ai_overview_insights}}, description existante={{entity_description}}.
Retour de validation : {{validation_feedback}}.
Exigences :
- Longueur : 300-500 mots au total.
- Densité de mots-clés : le mot-clé principal doit apparaître 2-4 fois (environ 1-1,5 %). Ne pas dépasser 4 occurrences.
- Distribuez le mot-clé principal : une fois dans la phrase d'ouverture, une fois au milieu, une fois vers la fin.
- Incluez 4-8 termes LSI et synonymes issus de {{topics}}, distribués naturellement.
- Intégrez au moins 3 entités secondaires (noms de sous-catégories, types de matériaux, contextes d'usage ou profils d'acheteurs).
- Structure (utilisez des balises <p> séparées pour chaque section) :
    * Paragraphe d'ouverture : introduisez la catégorie avec le mot-clé principal et une déclaration de valeur globale.
    * Deuxième paragraphe : décrivez la variété de produits, la fourchette de prix et les critères de sélection clés.
    * Troisième paragraphe : mentionnez naturellement 3-5 produits vedettes par leur nom issus de {{top_products}} et leurs principaux différenciateurs.
    * Quatrième paragraphe : référencez les sous-catégories disponibles issues de {{subcategories}} et comment elles aident les acheteurs à affiner leur choix.
    * Paragraphe de clôture : résumez l'offre et incluez un CTA léger à la deuxième personne (« découvrez », « explorez », « trouvez votre »).
- Voix à la deuxième personne tout au long (« vous trouverez », « découvrez », « votre »).
- Pas de bourrage de mots-clés, pas d'emojis, pas de jargon promotionnel, pas de <h2>, pas de <ul>, pas de <div>.
Retournez du HTML avec des balises <p> uniquement.
Write the output in {{output_language}}.
Retournez uniquement le HTML.
