À compléter avant l'envoi
[adresse du site][thématique][2 à 6 noms de catégories][sujets ou textes de brouillon][emplacement, ou "aucune"][propriété Search Console, ou "aucune"]
Je veux que tu crées un blog et un hub de connaissances sur mon site [adresse du site] sur mon serveur Opus Growth. Thématique : [thématique]. Catégories : [2 à 6 noms de catégories]. Auteur : [nom réel de l'auteur et courte bio ; à défaut, "publier sous le nom de l'entreprise"]. Sujets ou brouillons des premiers articles : [sujets ou textes de brouillon]. Vraies photos de couverture : [emplacement, ou "aucune"].
1. Préparation. Lis la section blog de site_seo_guide. Liste les fichiers avec site_list_files et note la version de restauration avec site_versions. Si le site fonctionne encore avec le Tailwind Play CDN et des polices tierces, passe d'abord à un CSS compilé et à des polices auto-hébergées, car blog-build.mjs copie le `<head>` de index.html dans chaque page du blog. Pour la même raison, ne laisse dans le `<head>` de index.html aucun JSON-LD propre à la page d'accueil ni aucun preload d'image ; déplace le schema de la page d'accueil à la fin du body.
2. Configuration. Dans le bloc `blog` de site.config.js, renseigne le titre, une description de 110 à 165 caractères, une introduction d'au moins trois phrases pour la page de liste, et pour chaque catégorie un nom, une description de 110 à 165 caractères et une introduction originale d'au moins deux paragraphes, et pour l'auteur un nom, une fonction, une bio et une meta description de 110 à 165 caractères. Ajoute la page des articles et les catégories au menu. Si aucun nom d'auteur réel n'est fourni, n'en invente pas ; publie sous le nom de l'entreprise et ne génère pas de page d'auteur.
3. Articles. Rédige chaque article dans `blog/_posts/YYYY-MM-DD-slug.md`. Front matter : title (moins de 65 caractères, suffixe de marque compris), description (110 à 165 caractères), date, updated uniquement si tu as réellement mis à jour l'article, image, author, category (la clé de la catégorie) et tags. Corps : le premier paragraphe répond à la question, puis des intertitres, des étapes numérotées là où c'est pertinent, 3 à 6 liens internes et une FAQ de clôture de deux ou trois questions. IMPORTANT : blog-build.mjs augmente d'un niveau les titres markdown ; `#` devient H2 et `##` devient H3. Si tu commences par `##` comme l'indique le guide, la page saute de h1 à h3 et le score d'accessibilité baisse. Pas d'accroches toutes faites ("De nos jours..."), pas de statistiques ni de sources inventées, et ne présente pas comme une règle ce qui dépend du cas.
4. Images. Produis les images de couverture en WebP et AVIF en 480, 800, 1200 et 1600 pixels avec la méthode du pack performance, et inscris `/assets/img/<nom>-1200.webp` dans le champ image du front matter.
5. Génération. Exécute `node seo-stamp.mjs` puis `node blog-build.mjs` avec site_run_command. blog-build laisse les lacunes suivantes, alors écris un script `blog-extras.mjs` qui s'exécute juste après :
1. Sur les pages d'article et de liste : `<!DOCTYPE html>` en majuscules, un seul charset et un seul viewport (blog-build les ajoute une seconde fois en plus de ceux qu'il copie de index.html), des classes plutôt que des styles en ligne, `<main id="main">`.
2. Image de couverture : blog-build écrit `src` sous forme d'adresse absolue incluant le domaine et ne donne aucune dimension ; remplace-la par un `<picture>` relatif à la racine avec srcset AVIF et WebP, width, height et `fetchpriority="high"`.
3. Supprime les balises script site.config.js, chrome.js et motion.js que blog-build ajoute (une fois passé au menu statique, ces fichiers n'existent plus et la console affiche des erreurs 404).
4. Ajoute à chaque article un fil d'Ariane visible Accueil › Articles › Catégorie › Article, les dates de publication et de mise à jour, un lien vers la catégorie, un encadré auteur avec un lien vers la page d'auteur, l'article précédent et suivant, et deux articles associés, de préférence de la même catégorie. Ajoute au schema BlogPosting articleSection, dateModified et un nœud auteur Person avec une url ; étends BreadcrumbList à quatre niveaux.
5. Ajoute à la page de liste og:image, le texte d'introduction et les liens vers les catégories.
6. Génère une page `/blog/kategori/<slug>/` pour chaque catégorie : CollectionPage, un ItemList avec numberOfItems et BreadcrumbList ; n'affiche que la date et le titre sur les cartes, car répéter les descriptions des articles de la page de liste déclenche l'avertissement de contenu dupliqué de seo-check.
7. Génère une page `/blog/yazar/<slug>/` pour l'auteur : ProfilePage et Person, avec la bio et la liste des articles.
8. Ajoute les nouvelles pages à sitemap.xml avec lastmod. blog-build produit le flux RSS ; ajoute-en le lien depuis la page d'accueil.
6. Menu et CSS. Transforme les balises vides `<site-nav>` et `<site-footer>` des pages du blog en menu statique avec `node chrome-stamp.mjs`, puis reconstruis Tailwind, car blog-extras ajoute de nouvelles classes. Chaque fois que tu ajoutes ou modifies un article, exécute cette séquence depuis le début : seo-stamp, blog-build, blog-extras, chrome-stamp, build du CSS.
7. Contrôles. `node seo-check.mjs` avec 0 erreur et 0 avertissement (au moins 150 mots sur chaque page et part de contenu dupliqué entre pages inférieure à 50 %), `node design-check.mjs` avec 0 erreur, `npx --yes html-validate "**/*.html"` avec 0 erreur. Ajoute les catégories, les articles et l'adresse du RSS à llms.txt. Lance core_web_vitals sur mobile et desktop pour la page d'accueil, la liste, un article, une catégorie et la page d'auteur ; seo_audit pour un article. Ouvre la liste et un article avec site_preview en 360, 390, 768 et 1440 pixels de large. Si la performance mobile est inférieure à 95, trouve la cause ; si les titres utilisent une police distincte, fais aussi un preload de celle-ci.
8. Après publication. Soumets sitemap.xml avec gsc_submit_sitemap et vérifie les articles et les pages de catégories avec gsc_inspect_urls. Ma propriété Search Console : [propriété Search Console, ou "aucune"].
Sortie : la liste des adresses générées (articles, liste, catégories, auteur, RSS, sitemap), un tableau des schémas par type de page, une carte du maillage interne (quelle page renvoie vers quelle page), un tableau des scores par page et par appareil, et la séquence de cinq commandes à suivre pour ajouter un nouvel article.
Exemple de résultat
Un exemple du résultat de ce prompt. Sa structure provient de la sortie réelle des outils ; les chiffres et les noms sont fictifs.
Exemple de résultat (sur un site de démonstration fictif ; le site et l'auteur sont fictifs, les scores ont bien été mesurés sur cette démo)
Trois articles, deux catégories et une page auteur ont été générés sur un hub fictif de connaissances sur l'entretien des plantes, Saksı Defteri.
| Adresse | Type | Schema |
|---|
| /blog/ | Liste | Blog, BreadcrumbList |
| /blog/saksi-bitkisi-ne-siklikla-sulanir/ | Article | BlogPosting (articleSection, dateModified, auteur Person), BreadcrumbList à 4 niveaux |
| /blog/kategori/sulama/ | Catégorie | CollectionPage, ItemList (numberOfItems 1), BreadcrumbList |
| /blog/kategori/saksi-ve-toprak/ | Catégorie | CollectionPage, ItemList (numberOfItems 2), BreadcrumbList |
| /blog/yazar/ece-kaya/ | Auteur | ProfilePage, Person, BreadcrumbList |
| /blog/rss.xml, /sitemap.xml | Flux et plan du site | 9 adresses avec lastmod |
| Page | Mobile | Desktop |
|---|
| Accueil | 98 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
| /blog/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
| Article (le plus lent) | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
| Pages de catégorie | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
| Page auteur | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
Sur la sortie brute de blog-build, seo-check a signalé 8 erreurs et 4 avertissements, et html-validate 43 erreurs (39 styles inline, 4 DOCTYPE en minuscules) ; après blog-extras, tout était à zéro. La page d'accueil restait d'abord à 95 sur mobile (CLS de 0,126 à cause de la police des titres) ; précharger aussi la police des titres l'a fait passer à 98.
Carte du maillage interne : chaque article renvoie vers sa catégorie, la page auteur, l'article précédent et le suivant, ainsi que deux articles associés ; les pages de catégorie et d'auteur renvoient vers les articles, la page d'accueil vers les catégories et le flux RSS.
Pour ajouter un article : seo-stamp, blog-build, blog-extras, chrome-stamp, build Tailwind ; puis seo-check, design-check, html-validate.