Checklist SEO/GEO
Toutes les optimisations implémentées sur ce site, documentées et vérifiables. Chaque point est un lien vers la source officielle.
SEO Technique 18 items
Composant SEO.astro avec props typées, title suffixé automatiquement.
Chaque page a un <link rel="canonical"> avec URL complète.
og:title, og:description, og:image, og:locale, twitter:card sur toutes les pages.
@astrojs/sitemap génère sitemap-index.xml au build.
Allow global + crawlers IA explicitement autorisés + URL sitemap.
Un seul bloc JSON-LD par page avec WebSite, WebPage, Organization, BreadcrumbList, Article, FAQPage liés par @id.
headline, datePublished, dateModified, author, publisher, wordCount, articleSection, keywords, isPartOf, speakable.
Fil d'Ariane structuré fusionné dans le @graph principal (pas de script séparé).
FAQ structurées injectées automatiquement depuis le frontmatter YAML.
Indique aux assistants vocaux et LLMs les zones clés : TLDR, FAQ, titre, description.
Navigation hiérarchique visible sur toutes les pages sauf l'accueil.
Nginx gzip level 6 sur HTML, CSS, JS, JSON, XML, SVG, markdown.
Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options via Traefik.
Middleware Traefik regex — redirige /blog vers /blog/ (sans matcher les fichiers).
Cache-Control: public, immutable, max-age=1y sur /_astro/ (fichiers hashés).
compressHTML: true dans astro.config.mjs.
La page /blog/ utilise le type CollectionPage au lieu de WebSite.
Les pages internes utilisent WebPage avec isPartOf lié au WebSite.
SEO Contenu 8 items
Schema avec title, description, date, modified, author, tags, faq, tldr, canonical, related.
Chaque H2 est une question que les utilisateurs poseraient — optimise featured snippets.
Résumé direct de 1-2 phrases — correspond aux 200 premiers mots recommandés pour le GEO.
Questions/réponses dans le frontmatter, rendues en HTML <details> + schema FAQPage.
Statistiques, benchmarks et pourcentages dans chaque section — renforce la crédibilité.
Champ modified visible en haut d'article + dateModified en JSON-LD.
@astrojs/rss avec tags comme catégories + balise <language>fr</language>.
Chaque article lie vers 2-3 articles connexes via le champ related du frontmatter.
GEO (Generative Engine Optimization) 6 items
Fichier structuré en markdown à la racine, avec descriptions enrichies et liens vers le contenu.
Contenu intégral du site en markdown pur, généré automatiquement au build.
Chaque article est disponible en markdown brut via /blog/[slug].md avec X-Robots-Tag: noindex.
GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot explicitement autorisés.
Headers questions, TLDR, FAQ — le format le plus facilement parsable par les LLMs.
Le TLDR fournit une réponse complète dans les 200 premiers mots de l'article.
Performance 4 items
Astro n'envoie aucun JavaScript sauf pour les composants avec directive client:.
Toutes les pages sont pré-générées au build — temps de réponse < 50ms.
Script prebuild génère og-default.png + une image par article via sharp.
Pas de Google Fonts — utilise system-ui pour un rendu instantané sans requête réseau.
Accessibilité 4 items
<header>, <nav>, <main>, <article>, <footer>, <aside> — structure lisible par les lecteurs d'écran.
Langue de la page déclarée sur <html> — aide les lecteurs d'écran et les moteurs.
Texte clair sur fond sombre — ratio de contraste > 4.5:1 sur tout le contenu.
Tous les liens et éléments interactifs sont accessibles au clavier.