@php
$canonical = $page->is_home ? url('/') : url('/' . $page->slug);
$seoTitle = $page->meta_title ?: $page->title . ' — Atelier Funfrock';
$seoDesc = trim((string) $page->meta_description) ?: config('seo.default_description');
$ogLocale = (($pageLang ?? 'fr') === 'fr') ? 'fr_FR' : 'en_US';
$ogImage = url(config('seo.og_image'));
$sameAs = collect([setting('social.facebook'), setting('social.instagram'), setting('social.linkedin')])
->map(fn ($u) => trim((string) $u))
->filter(fn ($u) => $u !== '' && $u !== '#')
->values();
$ld = [
'@context' => 'https://schema.org',
'@type' => 'Organization',
'name' => config('seo.org_name'),
'url' => url('/'),
'logo' => url('assets/favicon/favicon-512.png'),
'description' => $seoDesc,
];
if ($sameAs->isNotEmpty()) {
$ld['sameAs'] = $sameAs->all();
}
@endphp
{{-- JSON_HEX_TAG escapes < and > so client-entered text (e.g. a meta description
containing "") can never break out of this script element. --}}