diff --git a/create-og-image.html b/create-og-image.html new file mode 100644 index 0000000..5dc314c --- /dev/null +++ b/create-og-image.html @@ -0,0 +1,73 @@ + + + + + Generate OG Image + + + +

Générer l'image Open Graph

+

Cette page génère une image 1200x630px avec le logo Index pour les partages sociaux.

+ +
+ +
+
+ + + + diff --git a/site/snippets/seo.php b/site/snippets/seo.php index e810cdf..2959ace 100644 --- a/site/snippets/seo.php +++ b/site/snippets/seo.php @@ -3,16 +3,30 @@ * SEO meta tags */ +// Language +$lang = $kirby->language()->code(); + // Basic meta $title = $page->customTitle()->or($page->title())->value(); $siteName = 'Index.ngo'; $fullTitle = $title . ' | ' . $siteName; -$description = $page->metaDescription()->or($page->description())->excerpt(160); -$url = $page->url(); -$image = $page->image() ? $page->image()->url() : url('assets/og-image.jpg'); -// Language -$lang = $kirby->language()->code(); +// Default descriptions by language +$defaultDescriptionFr = 'Boutique de Index, ONG d\'investigation indépendante'; +$defaultDescriptionEn = 'Index shop, independent investigative NGO'; +$defaultDescription = $lang == 'en' ? $defaultDescriptionEn : $defaultDescriptionFr; + +$description = $page->metaDescription()->or($page->description())->value(); +if ($description) { + $description = excerpt($description, 160); +} else { + $description = $defaultDescription; +} + +$url = $page->url(); +// Use product image if available, otherwise use default OG image +// TODO: Create assets/og-logo.png (1200x630px) with Index logo + description +$image = $page->image() ? $page->image()->url() : url('assets/favicon.png'); ?>