{{-- @intent Componente de SEO elegível para inclusão em formulários administrativos. @description Input amigável, integrado via Bootstrap 5 e Bootstrap Icons. @compliance eMAG 3.1, WCAG 2.1 AA, CSS Grid + Subgrid. @param Model $model Registro contendo a coluna 'metadata' (Opcional). @param string $name Prefixo do input (Padrão: metadata[seo]). --}} @php $prefix = $name ?? 'metadata[seo]'; $seoData = (isset($model) && isset($model->metadata['seo'])) ? $model->metadata['seo'] : []; $uuid = str_random(8); @endphp

Otimização para Motores de Busca (SEO)

{{-- ==================== PREVIEW DO SNIPPET (full width) ==================== --}}

Pré-visualização do Resultado de Busca

https://www.site.gov.br/pagina-exemplo
{{ $seoData['title'] ?? 'Título da Página — Exemplo' }}
{{ \Illuminate\Support\Str::limit($seoData['description'] ?? 'Descrição da página que aparece nos resultados de busca. Recomenda-se entre 120 e 160 caracteres para uma boa exibição.', 160) }}
{{-- ==================== GRID 2 COLUNAS PRINCIPAIS ==================== --}}
{{-- COLUNA 1: Meta Title + Keywords --}}

Recomendado: até 60 caracteres. 0/70

{{-- COLUNA 2: Meta Description + Imagem --}}

Recomendado: entre 120 e 160 caracteres. 0/160

@php $mediaUrl = $seoData['image_url'] ?? ''; $mediaId = $seoData['image_id'] ?? ''; if (empty($mediaId) && !empty($mediaUrl)) { $relativePath = str_replace('/storage/', '', parse_url($mediaUrl, PHP_URL_PATH)); $mediaId = \Illuminate\Support\Facades\DB::table('v2_gallery_media') ->where('file_path', $relativePath) ->value('id') ?? ''; } @endphp @include('v2-service-media::components.media-input', [ 'name' => 'seo_image_id', 'label' => 'Imagem de Compartilhamento (Card)', 'accept' => 'image/*', 'currentId' => $mediaId, 'currentUrl' => $mediaUrl, 'ownerModule' => 'seo', 'help' => '1200×630px (2:1). Se vazio, usa a logo padrão do site.', ])
{{-- ==================== JSON-LD (Avançado) ==================== --}}
JSON-LD para dados estruturados do schema.org. Preencha apenas se precisar de marcação customizada.
@push('css') @endpush @push('scripts') @endpush