Plugin core-seo

Le plugin ajoute des meta tags SEO de base à chaque page publiée que les thèmes ne couvrent pas déjà par défaut. C'est intentionnellement minimaliste — les préoccupations SEO plus importantes

Le plugin core-seo ajoute des meta tags SEO de base à chaque page publiée que les thèmes ne couvrent pas déjà par défaut. C'est intentionnellement minimaliste — les préoccupations SEO plus importantes (sitemaps, structured data, robots.txt) vivent dans leurs propres plugins.

Ce qu'il fait

Sur chaque page publiée, core-seo injecte :

  • Un set de meta Twitter Card configuré pour summary_large_image :

    • <meta name="twitter:card" content="summary_large_image">
    • <meta name="twitter:title" content="<titre de page>">
    • <meta name="twitter:description" content="<description de page>"> (quand définie)
    • <meta name="twitter:image" content="<url image og>"> (quand le post a un hero ou une image OG)
  • Une <meta name="generator" content="Flexweg CMS"> identifiant le site comme construit avec Flexweg CMS

Le plugin n'écrase pas les tags standards que les thèmes émettent déjà :

  • <title> (depuis le BaseLayout du thème)
  • <meta name="description"> (idem)
  • og:title, og:description, og:image (idem, sur les thèmes qui les émettent)

core-seo ajoute uniquement Twitter Card et generator. Les thèmes restent responsables des Open Graph et balises essentielles.

Pourquoi seulement ça

Trois raisons :

  1. Open Graph est déjà couvert par les thèmes — chaque thème intégré émet og:title, og:description, og:image dans son BaseLayout. Les dupliquer via core-seo causerait des warnings de validation.

  2. Twitter Card n'est pas couvert par les thèmes — Twitter parse twitter:* en plus des og:* quand le tag twitter:card est présent. core-seo comble cette lacune.

  3. generator est utile pour les statistiques — pas pour le SEO, mais c'est l'usage standard. Aide les outils comme BuiltWith / Wappalyzer à reconnaître Flexweg CMS.

Pas de config

Pas de page de réglages. Le plugin tourne ou ne tourne pas — c'est tout. Active / désactive via la page Plugins.

Comment ça marche techniquement

Le plugin enregistre un seul filtre sur page.head.extra qui ajoute les Twitter meta tags + le generator à la chaîne de retour. Pas d'action, pas de bloc, pas de carte dashboard.

Le filtre lit les props du BaseLayout (pageTitle, pageDescription, ogImage) — ces props sont déjà calculées par le publisher avec les fallbacks (post.seo → post.title, post.seo.description → post.excerpt → ctx.settings.description, etc.) donc core-seo n'a pas à dupliquer cette logique.

Désactivation

Désactiver core-seo retire les Twitter Card et generator du HTML public au prochain re-render. Les Open Graph (gérés par les thèmes) restent.

Pour purger les balises des pages déjà publiées : Regenerate site → All HTML pages après désactivation.

Si vous avez besoin de plus

Pour un SEO plus poussé (structured data JSON-LD, robots avancés, hreflang) :

  • JSON-LD : écrivez un plugin externe qui s'accroche à page.head.extra et émet <script type="application/ld+json">{...}</script> avec votre schéma
  • robots.txt : flexweg-sitemaps génère un robots.txt standard pointant vers le sitemap index
  • hreflang : flexweg-multilang injecte les <link rel="alternate" hreflang> automatiquement

Voir Hooks pour la liste complète des points d'accroche.