@php use App\Helpers\MetaTagsHelper; // Obtener valores de meta tags usando el helper centralizado $pageTitle = view()->yieldContent('title') ?: __('Mantenimiento') . ' | ' . config('site.name'); $pageDescription = view()->yieldContent('description') ?: __('Esta sección está en mantenimiento. Estaremos de vuelta pronto.'); $pageKeywords = view()->yieldContent('keywords') ?: config('site.seo.keywords', ''); $canonicalUrl = view()->yieldContent('canonical_url') ?: url()->current(); $robots = view()->yieldContent('robots') ?: 'noindex, nofollow'; // Open Graph $ogImageRaw = view()->yieldContent('og_image') ?: config('site.og.image'); $ogImage = (str_starts_with($ogImageRaw, 'http')) ? $ogImageRaw : asset($ogImageRaw); $ogUrl = view()->yieldContent('og_url') ?: url()->current(); $ogType = view()->yieldContent('og_type') ?: 'website'; $ogTitle = view()->yieldContent('og_title') ?: $pageTitle; $ogDescription = view()->yieldContent('og_description') ?: $pageDescription; // Twitter $twitterImageRaw = view()->yieldContent('twitter_image') ?: config('site.twitter.image'); $twitterImage = (str_starts_with($twitterImageRaw, 'http')) ? $twitterImageRaw : asset($twitterImageRaw); $twitterCard = view()->yieldContent('twitter_card') ?: config('site.twitter.card', 'summary_large_image'); $twitterTitle = view()->yieldContent('twitter_title') ?: config('site.name'); $twitterDescription = view()->yieldContent('twitter_description') ?: $pageDescription; @endphp {{ MetaTagsHelper::getTitle($pageTitle) }} @if(config('site.seo.canonical', true)) @endif @if(config('site.og.enabled', true)) @foreach(config('site.og.locale_alternate', []) as $locale) @endforeach @php $ogImageUrl = MetaTagsHelper::getOgImage($ogImage); // Asegurar que siempre sea HTTPS (WhatsApp requiere HTTPS) $ogImageUrl = str_replace('http://', 'https://', $ogImageUrl); @endphp @endif @if(config('site.twitter.enabled', true)) @php $twitterImageUrl = MetaTagsHelper::getTwitterImage($twitterImage); @endphp @if(config('site.twitter.site')) @endif @if(config('site.twitter.creator')) @endif @endif @include('layout.front.partials._styles') @php $gaEnabled = config('site.google_analytics.enabled', false); $isLocal = app()->environment('local'); $isAdmin = auth()->check(); // Excluir admins logueados del tracking $trackingId = null; if ($gaEnabled && !$isAdmin) { if (app()->environment('production')) { $trackingId = config('site.google_analytics.tracking_id'); } elseif ($isLocal && config('site.google_analytics.track_in_local', false)) { $trackingId = config('site.google_analytics.tracking_id_dev'); } elseif (!$isLocal && !app()->environment('production')) { // Staging/testing: solo si hay un ID de desarrollo dedicado (sin fallback a prod) $trackingId = config('site.google_analytics.tracking_id_dev'); } } @endphp @if ($trackingId) @endif @yield('css')
@yield('content')
@include('layout.front.partials._scripts') @yield('scripts')