SEO & Référencement

JSON-LD et balises Open Graph

Balises Open Graph

La classe OpenGraphBuilder génère automatiquement les balises Open Graph nécessaires au partage sur les réseaux sociaux (Facebook, LinkedIn, WhatsApp…). Elle est invoquée dans layout.php via OpenGraphBuilder::render($settings, $page).

Les balises produites sont les suivantes :

  • og:title — titre SEO de la page/article
  • og:description — méta-description
  • og:image — image à la une ou image par défaut issue des réglages
  • og:typearticle pour les posts, website pour les pages
  • og:url — URL canonique absolue
  • og:site_name — nom du site depuis les réglages
  • og:locale — langue du contenu (ex. fr_FR)

Twitter Card

En parallèle des balises OG, QuietCMS génère les balises Twitter Card :

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Titre de l'article">
<meta name="twitter:description" content="Méta-description.">
<meta name="twitter:image" content="https://example.com/uploads/image.webp">

Données structurées JSON-LD

La classe JsonLD génère les blocs <script type="application/ld+json"> adaptés au type de contenu :

Article (posts de blog)

{
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "JSON-LD et Open Graph par article",
    "datePublished": "2026-05-21T14:00:00+00:00",
    "dateModified": "2026-05-21T14:00:00+00:00",
    "author": {
        "@type": "Person",
        "name": "QuietCMS Contributors"
    },
    "description": "QuietCMS génère automatiquement JSON-LD...",
    "image": "https://example.com/uploads/og-image.webp"
}

WebPage (pages statiques)

Pour les pages statiques, le schéma WebPage est utilisé avec name, description et url.

Pour les pages avec une page parente, un schéma BreadcrumbList est généré automatiquement, permettant l'affichage de fils d'Ariane enrichis dans les résultats Google :

{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Accueil", "item": "https://example.com/"},
        {"@type": "ListItem", "position": 2, "name": "Documentation", "item": "https://example.com/documentation/"},
        {"@type": "ListItem", "position": 3, "name": "JSON-LD et Open Graph", "item": "https://example.com/json-ld-open-graph/"}
    ]
}

JSON-LD personnalisé par page

Chaque page et article dispose d'un champ JSON-LD custom dans le back-office. Vous pouvez y coller un objet JSON-LD supplémentaire (ex. Product, Event, FAQPage…) qui sera injecté dans le <head> en complément du JSON-LD automatique.

URL canonique

L'URL canonique est auto-générée depuis le slug de la page et l'URL de base du site. Elle peut être personnalisée dans le champ URL canonique de chaque contenu — utile pour les pages dupliquées ou les contenus syndiqués.

Format du titre et séparateur

Le format de la balise <title> est configurable dans Admin → Réglages → SEO :

  • Séparateur — ex. , |, ·
  • Position du nom du sitebefore (Nom du site — Titre) ou after (Titre — Nom du site)

Exemple avec after et séparateur :

<title>JSON-LD et Open Graph par article — QuietCMS</title>

Articles similaires