@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. --}}