@php $currentLocale = app()->getLocale(); $supportedLocales = config('locales.supported'); $baseRoute = current_base_route(); // SEO copy is looked up straight from the current route name (e.g. "about"), // so every page automatically gets its own localized /description // without needing a @section() in each page view. $seoAll = __('seo'); $seoPage = ($baseRoute && isset($seoAll[$baseRoute])) ? $seoAll[$baseRoute] : $seoAll['default']; $pageMetaTitle = $seoPage['title'] ?? $seoAll['default']['title']; $pageMetaDescription = $seoPage['description'] ?? $seoAll['default']['description']; $pageMetaKeywords = $seoAll['default']['keywords']; @endphp <html lang="{{ $currentLocale }}"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>{{ $pageMetaTitle }} {{-- Canonical + hreflang alternates: auto-derived from the current locale route --}} @if($baseRoute) @foreach($supportedLocales as $loc) @endforeach @else @endif @if($baseRoute) @foreach($supportedLocales as $loc) @continue($loc === $currentLocale) @endforeach @endif @php $localBusinessSchema = [ '@context' => 'https://schema.org', '@type' => 'LocalBusiness', 'name' => 'Cortex Clean', 'alternateName' => 'Cortex Facility', 'description' => $pageMetaDescription, 'image' => asset('/images/resources/share.png'), 'url' => $baseRoute ? route($baseRoute . '.' . $currentLocale) : url()->current(), 'telephone' => '+32470954203', 'email' => 'contact@cortexclean.be', 'priceRange' => '€€', 'address' => [ '@type' => 'PostalAddress', 'streetAddress' => 'Chaussée Romaine 464/2', 'postalCode' => '1853', 'addressLocality' => 'Strombeek-Bever', 'addressCountry' => 'BE', ], 'areaServed' => [ ['@type' => 'Country', 'name' => 'Belgium'], ], 'openingHoursSpecification' => [ '@type' => 'OpeningHoursSpecification', 'dayOfWeek' => ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], 'opens' => '00:00', 'closes' => '23:59', ], 'inLanguage' => $currentLocale, ]; @endphp {{-- Consent Mode v2 — DOIT rester au-dessus du script GTM ci-dessous. --}} @include('cortexclean.partials.consent-mode')
x
C O R T E X
C L E A N
@yield('header') @yield('content') @yield('footer')
{{-- Événement de conversion : poussé uniquement après un envoi de formulaire réussi. Déclencheur GTM à créer : « Événement personnalisé » = generate_lead. --}} @if (session('success')) @endif @include('cortexclean.partials.cookie-banner')