# /seo-content-optimization - Structured Data e Meta Tags ## Meta Tags Essenciais 2026 ```html Keyword Principal | Nome Marca 2026 ``` --- ## Structured Data (Schema.org) 2026 ### Organization (Homepage) ```json { "@context": "https://schema.org", "@type": "Organization", "name": "Nome Empresa", "url": "https://site.pt", "logo": "https://site.pt/logo.png", "sameAs": [ "https://linkedin.com/company/...", "https://facebook.com/...", "https://instagram.com/..." ], "contactPoint": { "@type": "ContactPoint", "telephone": "+351-XXX-XXX-XXX", "contactType": "Customer Service", "areaServed": "PT", "availableLanguage": ["pt", "en"] } } ``` ### Article/BlogPosting (E-E-A-T compliant) ```json { "@context": "https://schema.org", "@type": "Article", "headline": "Título do Artigo", "author": { "@type": "Person", "name": "Nome Autor", "url": "https://site.pt/autor/nome", "jobTitle": "Especialista em...", "knowsAbout": ["Área 1", "Área 2"] }, "publisher": { "@type": "Organization", "name": "Nome Empresa", "logo": { "@type": "ImageObject", "url": "https://site.pt/logo.png" } }, "datePublished": "2026-02-03", "dateModified": "2026-02-03", "image": "https://site.pt/imagem.jpg", "wordCount": 1500, "inLanguage": "pt-PT" } ``` ### FAQPage (featured snippets) ```json { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Pergunta completa?", "acceptedAnswer": { "@type": "Answer", "text": "Resposta completa e detalhada (min 40 palavras para snippets)." } } ] } ``` ### HowTo Schema (rich results 2026) ```json { "@context": "https://schema.org", "@type": "HowTo", "name": "Como fazer X", "description": "Guia completo passo a passo", "totalTime": "PT30M", "step": [ { "@type": "HowToStep", "name": "Passo 1", "text": "Descrição detalhada passo 1", "image": "https://site.pt/passo1.jpg" } ] } ``` ### Review/Rating Schema (produtos) ```json { "@context": "https://schema.org", "@type": "Product", "name": "Nome Produto", "brand": { "@type": "Brand", "name": "Nome Marca" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.8", "reviewCount": "127" }, "offers": { "@type": "Offer", "price": "95.00", "priceCurrency": "EUR", "availability": "https://schema.org/InStock" } } ``` --- ## Core Web Vitals 2026 | Métrica | Bom | Necessita Melhoria | Mau | Mudança 2026 | |---------|-----|-------------------|-----|--------------| | **LCP** | < 2.5s | 2.5-4s | > 4s | Threshold < 2.0s Q2 | | **INP** | < 200ms | 200-500ms | > 500ms | Substituiu FID em Jan 2026 | | **CLS** | < 0.1 | 0.1-0.25 | > 0.25 | Sem mudanças | ### Optimizações LCP ```html Descrição Descrição Descrição ``` ### Optimizações INP (novo 2026) ```javascript // Debounce event handlers function debounce(func, wait) { let timeout; return function executedFunction(...args) { clearTimeout(timeout); timeout = setTimeout(() => func(...args), wait); }; } // Code splitting const component = () => import('./HeavyComponent.js'); // Web Workers para tarefas pesadas const worker = new Worker('worker.js'); worker.postMessage({ task: 'heavy-computation', data }); ``` ### Optimizações CLS ```css /* Definir width/height em imagens */ img { width: 800px; height: 600px; aspect-ratio: 4 / 3; } /* Reservar espaço para ads */ .ad-container { min-height: 250px; } /* Font loading */ @font-face { font-family: 'Custom Font'; src: url('/font.woff2') format('woff2'); font-display: swap; } ``` --- ## URL Structure Best Practices ``` CORRECTO: https://site.pt/categoria/keyword-principal/ https://site.pt/blog/como-fazer-energia-solar-2026/ ERRADO: https://site.pt/p?id=123&cat=5&lang=pt https://site.pt/este-url-e-muito-longo-com-muitas-palavras-desnecessarias/ ``` **Regras 2026:** - Máximo 60 caracteres - Hífens (não underscores) - Lowercase - Keyword no início se possível - Sem stop words quando possível --- ## Keyword Research ### Ferramentas | Ferramenta | Uso | Métricas | |------------|-----|----------| | Google Keyword Planner | Volume, CPC | Volume mensal, competição | | Ahrefs | KD, SERP analysis | Keyword Difficulty, DR necessário | | Semrush | Concorrência | Gap analysis, trending | | AnswerThePublic | Long-tail questions | Questões reais utilizadores | | Google Trends | Sazonalidade | Tendência temporal | ### Keyword Difficulty Benchmarks | KD | Dificuldade | DR Necessário | |----|-------------|---------------| | 0-20 | Muito Fácil | < 20 | | 21-40 | Fácil | 20-35 | | 41-60 | Médio | 35-50 | | 61-80 | Difícil | 50-70 | | 81-100 | Muito Difícil | > 70 | **Estratégia:** Começar por KD 0-40, escalar para 41-60 após DR > 35.