From 91296ecdf57cf3a299eac79d3571873669afb8e2 Mon Sep 17 00:00:00 2001 From: Jalil Arfaoui Date: Sat, 21 Feb 2026 14:58:40 +0100 Subject: [PATCH] Ajout du schema JSON-LD BlogPosting pour les articles photo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les photo blog posts génèrent maintenant un JSON-LD BlogPosting avec headline, datePublished et lien vers le schema Person via @id. PhotoBlogPostContent passe description, date et tags à PhotoLayout qui les transmet au composant SEO. --- src/components/SEO.astro | 21 +++++++++++++++++++ .../photo/pages/PhotoBlogPostContent.astro | 9 +++++++- src/layouts/PhotoLayout.astro | 6 +++++- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/components/SEO.astro b/src/components/SEO.astro index 3175672..79f3aaf 100644 --- a/src/components/SEO.astro +++ b/src/components/SEO.astro @@ -76,6 +76,22 @@ const personJsonLd = { ], }; +// Article JSON-LD (for blog posts / articles) +const articleJsonLd = + ogType === "article" && article + ? { + "@context": "https://schema.org", + "@type": "BlogPosting", + headline: title, + description, + image: imageUrl, + url: canonicalUrl, + inLanguage: locale, + ...(article.publishedTime && { datePublished: article.publishedTime }), + author: { "@id": `${siteUrl}/#person` }, + } + : null; + // WebSite JSON-LD (only on home pages) const websiteJsonLd = isHomePage ? { @@ -129,6 +145,11 @@ const websiteJsonLd = isHomePage