@props([ 'title' => null, 'description' => null, 'ogType' => 'website', 'jsonld' => null, // Dates de publication et de mise à jour (crédibilité pour les moteurs IA). 'publishedTime' => null, 'modifiedTime' => null, ]) @php // Zones privées ou à faible valeur d'index : jamais indexées. $noindex = request()->is('admin*', 'connexion', 'recherche', 'app*', 'partenaires/candidature'); $canonical = request()->url(); // sans query string : 3 niveaux = 1 URL canonique // Title cible 40-60 caractères : le suffixe de marque n'est ajouté que s'il tient // (og:site_name porte la marque dans tous les cas). $brandSuffix = ', SauverMonEntreprise.fr'; $pageTitle = $title ? (mb_strlen($title.$brandSuffix) <= 60 ? $title.$brandSuffix : mb_substr($title, 0, 60)) : 'SauverMonEntreprise.fr : Comprendre, anticiper, agir'; @endphp
{{-- Active les animations seulement si JS est disponible (contenu visible par défaut sinon). --}} {{-- Thème AVANT le premier rendu : sombre par défaut, choix mémorisé respecté. Posé ici et non dans app.js (chargé en différé) pour éviter l'éclair de page claire au chargement. Doit rester aligné sur les défauts d'app.js. --}}