Descriptions SEO spécifiques pour les pages photo
Chaque page photo a maintenant sa propre meta description au lieu du texte générique : la galerie principale utilise une description trilingue détaillée, les catégories utilisent leur subtitle, et l'index du blog photo utilise la traduction feedDescription.
This commit is contained in:
parent
a12f0880bf
commit
575f67665b
3 changed files with 15 additions and 3 deletions
|
|
@ -16,10 +16,12 @@ const entryId = getCategoryEntryId(category, lang);
|
||||||
const categoryData = await getEntry('photoCategories', entryId)
|
const categoryData = await getEntry('photoCategories', entryId)
|
||||||
?? await getEntry('photoCategories', category);
|
?? await getEntry('photoCategories', category);
|
||||||
const categoryLabel = categoryData?.data.title || category;
|
const categoryLabel = categoryData?.data.title || category;
|
||||||
|
const categorySubtitle = categoryData?.data.subtitle || "";
|
||||||
|
|
||||||
const title = `${categoryLabel} - Jalil Arfaoui`;
|
const title = `${categoryLabel} - Jalil Arfaoui`;
|
||||||
|
const description = `${categoryLabel} — ${categorySubtitle}. Photos par Jalil Arfaoui.`;
|
||||||
---
|
---
|
||||||
|
|
||||||
<PhotoLayout title={title} enableScroll={true} lang={lang}>
|
<PhotoLayout title={title} description={description} enableScroll={true} lang={lang}>
|
||||||
<CategoryGrid category={category} lang={lang} />
|
<CategoryGrid category={category} lang={lang} />
|
||||||
</PhotoLayout>
|
</PhotoLayout>
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,12 @@ const featuredPosts = postsWithImages.filter(post => post.data.featured);
|
||||||
const regularPosts = postsWithImages.filter(post => !post.data.featured);
|
const regularPosts = postsWithImages.filter(post => !post.data.featured);
|
||||||
---
|
---
|
||||||
|
|
||||||
<PhotoLayout title={`${t('photo', 'blogTitle', lang)} - Jalil Arfaoui`} enableScroll={true} lang={lang}>
|
<PhotoLayout
|
||||||
|
title={`${t('photo', 'blogTitle', lang)} - Jalil Arfaoui`}
|
||||||
|
description={`${t('photo', 'feedDescription', lang)} — Jalil Arfaoui.`}
|
||||||
|
enableScroll={true}
|
||||||
|
lang={lang}
|
||||||
|
>
|
||||||
<div class="blog-container">
|
<div class="blog-container">
|
||||||
<CategoryNav currentCategory="blog" opaque={false} lang={lang} />
|
<CategoryNav currentCategory="blog" opaque={false} lang={lang} />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,14 @@ interface Props {
|
||||||
const { lang = 'fr' } = Astro.props;
|
const { lang = 'fr' } = Astro.props;
|
||||||
|
|
||||||
const title = `${t('photo', 'galleryTitle', lang)} - Jalil Arfaoui`;
|
const title = `${t('photo', 'galleryTitle', lang)} - Jalil Arfaoui`;
|
||||||
|
const descriptions: Record<Locale, string> = {
|
||||||
|
fr: "Portfolio photo de Jalil Arfaoui. Portraits, paysages, cultures, musique, nature, sports, moteurs, quotidien.",
|
||||||
|
en: "Jalil Arfaoui's photo portfolio. Portraits, landscapes, cultures, music, nature, sports, engines, everyday life.",
|
||||||
|
ar: "معرض صور جليل عرفاوي. بورتريهات، مناظر طبيعية، ثقافات، موسيقى، طبيعة، رياضة، محرّكات، حياة يومية.",
|
||||||
|
};
|
||||||
---
|
---
|
||||||
|
|
||||||
<PhotoLayout title={title} enableScroll={true} lang={lang}>
|
<PhotoLayout title={title} description={descriptions[lang]} enableScroll={true} lang={lang}>
|
||||||
<PhotoGallery category="all" lang={lang} />
|
<PhotoGallery category="all" lang={lang} />
|
||||||
<HeroViewport targetSelector="#explore-section" transparent />
|
<HeroViewport targetSelector="#explore-section" transparent />
|
||||||
<ExploreSection lang={lang} />
|
<ExploreSection lang={lang} />
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue