--- name: seo-content-optimization description: Content optimization for search engines. Improves existing content with keywords, structure, and readability. Use when user mentions "seo content", "optimize content", "content optimization", "improve seo", "keyword optimization". author: Descomplicar® Crescimento Digital version: 2.0.0 quality_score: 75 user_invocable: true desk_task: 1482 allowed-tools: Task --- # SEO Content Optimization Skill para optimização SEO técnico e de conteúdo com standards Google 2026. --- ## 🎯 Quando Usar - Optimizar páginas para motores de busca - Implementar meta tags e structured data - Melhorar Core Web Vitals - Fazer keyword research - Auditar SEO on-page - Implementar E-E-A-T (Experience, Expertise, Authoritativeness, Trust) --- ## 📖 Google Updates 2026 - Novos Standards ### E-E-A-T Evolution | Factor | 2024-2025 | **2026 Standards** | |--------|-----------|-----| | **Experience** | Sugerido | **OBRIGATÓRIO** - Demonstração de experiência real | | **Expertise** | Credenciais | Credenciais **VERIFICÁVEIS** (LinkedIn, certificações) | | **Authoritativeness** | Backlinks | Backlinks + **menções media** + **citações académicas** | | **Trust** | HTTPS | HTTPS + **About page completo** + **Contactos reais** | **Impacto:** Sites sem E-E-A-T perderam -15% a -40% tráfego orgânico Q1 2026. ### Helpful Content Update Q1 2026 **Penalizações Automáticas:** - Conteúdo AI sem edição humana: -30% rankings - Keyword stuffing (densidade > 3%): -50% rankings - Thin content (< 300 palavras): Desindexação - Conteúdo duplicado: Canibalização severa **Boas Práticas:** - Conteúdo original, profundo (> 1200 palavras para topics competitivos) - Múltiplos formatos (texto + imagem + vídeo) - Actualização regular (timestamp visível) --- ## ✅ Regras Core ### Meta Tags Essenciais 2026 ```html Keyword Principal | Nome Marca 2026 ``` ### Structured Data (Schema.org) 2026 ```json // ✅ Organization (Homepage) { "@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 (EEAT compliant) { "@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", "articleBody": "Conteúdo completo...", "wordCount": 1500, "inLanguage": "pt-PT" } // ✅ FAQPage (featured snippets) { "@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)." } }, { "@type": "Question", "name": "Segunda pergunta?", "acceptedAnswer": { "@type": "Answer", "text": "Resposta detalhada..." } } ] } // 🆕 2026: HowTo Schema (aparece em rich results) { "@context": "https://schema.org", "@type": "HowTo", "name": "Como fazer X", "description": "Guia completo passo a passo", "totalTime": "PT30M", "estimatedCost": { "@type": "MonetaryAmount", "currency": "EUR", "value": "50" }, "step": [ { "@type": "HowToStep", "name": "Passo 1", "text": "Descrição detalhada passo 1", "image": "https://site.pt/passo1.jpg" }, { "@type": "HowToStep", "name": "Passo 2", "text": "Descrição detalhada passo 2", "image": "https://site.pt/passo2.jpg" } ] } // 🆕 2026: Review/Rating Schema (produtos/serviços) { "@context": "https://schema.org", "@type": "Product", "name": "Nome Produto", "image": "https://site.pt/produto.jpg", "description": "Descrição 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" } } ``` --- ## 🏗️ Heading Structure (Hierarquia Correcta) ```html

Título Principal da Página (1 por página, keyword principal)

Secção 1 (keyword secundária)

Sub-secção 1.1

Sub-secção 1.2

Secção 2 (keyword secundária)

Sub-secção 2.1

Detalhe 2.1.1

Sub-secção 2.2

Secção 3 (keyword secundária)

Título

Sub-título

Título 1

Título 2

``` **Boas Práticas 2026:** - H1: Única, 60-70 chars, keyword principal - H2: Keywords secundárias, variações LSI - H3-H6: Long-tail keywords, questões específicas - Incluir números quando possível ("7 Formas de...", "Top 10...") --- ## ⚡ Core Web Vitals 2026 | Métrica | Bom | Necessita Melhoria | Mau | **2026 Change** | |---------|-----|-------------------|-----|-----------------| | **LCP** | < 2.5s | 2.5-4s | > 4s | Threshold mais rigoroso Q2 (< 2.0s) | | **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 2026 ```html Descrição Descrição Descrição Hero Secondary ``` ### Optimizações INP 2026 (Novo) ```javascript // ✅ Debounce event handlers function debounce(func, wait) { let timeout; return function executedFunction(...args) { clearTimeout(timeout); timeout = setTimeout(() => func(...args), wait); }; } const handleInput = debounce((e) => { // Processar input }, 300); // ✅ Code splitting (carregar só necessário) // Webpack/Vite config const component = () => import('./HeavyComponent.js'); // ✅ Web Workers (tarefas pesadas off main thread) const worker = new Worker('worker.js'); worker.postMessage({ task: 'heavy-computation', data }); // ❌ EVITAR: Event listeners síncronos pesados button.addEventListener('click', () => { // EVITAR processamento síncrono pesado aqui for (let i = 0; i < 1000000; i++) { /* ... */ } }); ``` ### Optimizações CLS 2026 ```css /* ✅ Definir width/height em imagens */ img { width: 800px; height: 600px; aspect-ratio: 4 / 3; } /* ✅ Reservar espaço para ads/embeds */ .ad-container { min-height: 250px; background: #f0f0f0; } /* ✅ Font loading optimizado */ @font-face { font-family: 'Custom Font'; src: url('/font.woff2') format('woff2'); font-display: swap; /* ou optional */ } ``` --- ## 📝 On-Page SEO Checklist 2026 ```markdown ### Conteúdo - [ ] Keyword no título (primeiros 60 chars) - [ ] Keyword no H1 (única vez) - [ ] Keyword nos primeiros 100 caracteres - [ ] Keywords secundárias em H2/H3 - [ ] LSI keywords distribuídas naturalmente - [ ] Conteúdo > 1200 palavras (topics competitivos) - [ ] Keyword density 1-2% (não > 3%) ### Autor e E-E-A-T - [ ] **Autor identificado** (nome + foto) - [ ] **Bio autor** (credenciais, experiência) - [ ] **Data publicação + última actualização** - [ ] **Experiência real demonstrada** (exemplos, casos) - [ ] Links para perfis autor (LinkedIn, Twitter) ### Media - [ ] Alt text descritivo em TODAS as imagens - [ ] Imagens optimizadas (WebP, < 200KB) - [ ] Vídeo embed (aumenta tempo na página) - [ ] Infográficos (linkable assets) ### Links - [ ] 3-5 internal links relevantes - [ ] 1-3 external links para fontes autoritativas - [ ] Anchor text descritivo (não "clique aqui") - [ ] Links abrem em nova tab (external) ### Técnico - [ ] URL amigável (curto, keyword, sem parâmetros) - [ ] Meta description única (150-160 chars) - [ ] Canonical URL definido - [ ] Open Graph completo - [ ] Schema.org implementado - [ ] Mobile-friendly validado - [ ] HTTPS activo - [ ] Core Web Vitals green ### Engagement - [ ] CTA claro (call-to-action) - [ ] FAQ section (featured snippets) - [ ] Formulário/contacto - [ ] Social share buttons - [ ] Comentários activos (engagement signal) ``` --- ## 🔍 Keyword Research 2026 ### 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 | ### Processo ``` 1. **Seed Keywords** - Brainstorm inicial (5-10 keywords principais) 2. **Expand** - Ferramentas para 100+ variações 3. **Filter** - Volume > 50/mês, KD < 60 (para começar) 4. **Analyse Intent** - Informacional, Navegacional, Transacional 5. **Prioritize** - Matriz Volume vs KD vs Relevância 6. **Cluster** - Agrupar por topic, criar pillar content ``` ### Keyword Difficulty Benchmarks | KD | Dificuldade | DR Necessário | Backlinks Estimados | |----|-------------|---------------|---------------------| | 0-20 | Muito Fácil | < 20 | 0-5 | | 21-40 | Fácil | 20-35 | 5-20 | | 41-60 | Médio | 35-50 | 20-50 | | 61-80 | Difícil | 50-70 | 50-200 | | 81-100 | Muito Difícil | > 70 | 200+ | **Estratégia:** Começar por KD 0-40, escalar para 41-60 após DR > 35. --- ## 🌐 URL Structure Best Practices ``` ✅ CORRECTO: https://site.pt/categoria/keyword-principal/ https://site.pt/blog/como-fazer-energia-solar-2026/ https://site.pt/servicos/instalacao-paineis-solares/ ❌ ERRADO: https://site.pt/p?id=123&cat=5&lang=pt (parâmetros) https://site.pt/este-url-e-muito-longo-com-muitas-palavras-desnecessarias-que-ninguem-le/ (> 60 chars) https://site.pt/artigo_novo_23_final_v2/ (underscores, versões) ``` **Regras 2026:** - Máximo 60 caracteres - Hífens (não underscores) - Lowercase - Keyword no início se possível - Sem stop words (de, o, a, em) quando possível - Estrutura lógica (site.pt/categoria/subcategoria/artigo) --- ## 🚫 Anti-Patterns SEO 2026 | Anti-Pattern | Problema | Penalização 2026 | Solução | |--------------|----------|------------------|---------| | **Keyword stuffing** | Densidade > 3% | -50% rankings | Escrita natural, 1-2% | | **Conteúdo duplicado** | Canibalização | Ambas páginas caem | Canonical, consolidar | | **Meta descriptions iguais** | CTR baixo | Menos impressões | Única por página | | **Imagens sem alt** | A11y + SEO | -10% accessibility score | Alt descritivo | | **JavaScript-only content** | Indexação | Não indexado | SSR/SSG | | **Redirect chains** | Page speed | Timeout, bounce alto | Redirect directo | | **Thin content** | < 300 palavras | Desindexação | Min 800 palavras | | **Conteúdo AI não editado** | Detectável | -30% rankings | Edição humana, fact-check | | **Links comprados** | Spam | Penalização manual | Earn links, guest posts | | **Hidden text** | Spam | Desindexação | Texto visível | --- ## ✅ Checklist Pré-Publicação ### Técnico - [ ] Title tag optimizado (50-60 chars, keyword início) - [ ] Meta description única (150-160 chars, CTA) - [ ] H1 único com keyword principal - [ ] Imagens com alt text descritivo - [ ] URL amigável (< 60 chars, keyword) - [ ] Canonical definido - [ ] Open Graph configurado (title, description, image) - [ ] Schema.org implementado (Article/FAQPage) - [ ] Mobile-friendly (test Google) - [ ] HTTPS activo - [ ] Core Web Vitals green (LCP, INP, CLS) ### Conteúdo - [ ] > 1200 palavras (topics competitivos) - [ ] Keyword density 1-2% - [ ] 2-3 internal links relevantes - [ ] 1-2 external links autoritativos (DR > 40) - [ ] Autor identificado + bio - [ ] Data publicação visível - [ ] Experiência real demonstrada - [ ] FAQ section (min 3 perguntas) ### Engagement - [ ] CTA claro e visível - [ ] Formulário/contacto (se aplicável) - [ ] Social share buttons - [ ] Imagens optimizadas (< 200KB, WebP) - [ ] Vídeo embed (se relevante) --- ## 🛠️ Ferramentas Recomendadas ### Validação - **Google Search Console** - Monitorização, indexação - **PageSpeed Insights** - Core Web Vitals - **Schema Validator** - Testar structured data (schema.org/validator) - **Mobile-Friendly Test** - Google mobile test - **Rich Results Test** - Google rich results ### Análise - **Screaming Frog** - Auditoria técnica completa - **Ahrefs/Semrush** - Keyword research, backlinks - **AnswerThePublic** - Long-tail questions - **Google Trends** - Sazonalidade keywords ### Optimização - **TinyPNG/Squoosh** - Comprimir imagens - **Cloudflare** - CDN, cache - **WP Rocket/Autoptimize** - WordPress performance --- ## 📚 Datasets Dify (Consulta Obrigatória) | Dataset | ID | Prioridade | Uso | |---------|----|-----------:|-----| | **SEO (Search Engine Optimization)** | `b93c6475-2f22-412e-ba9d-666eb081b872` | 1 | Técnicas SEO, Google updates | | **Neil Patel** | `6ff761b3-a054-435c-8fc3-a6e6c3a0afaf` | 1 | Link building, estratégias | | **Marketing de Conteúdo** | `061f19a3-d4b6-4383-9f44-620742167201` | 2 | E-E-A-T, criação conteúdo | | **Marketing Digital** | `c1ec779f-4cb1-4ecf-ba11-6b39b93d4e24` | 2 | Estratégia geral | ### Como Consultar ```javascript // Pesquisar técnicas SEO on-page mcp__dify-kb__dify_kb_retrieve_segments({ dataset_id: "b93c6475-2f22-412e-ba9d-666eb081b872", query: "keyword research on-page optimization 2026" }) // Estratégias Neil Patel para link building mcp__dify-kb__dify_kb_retrieve_segments({ dataset_id: "6ff761b3-a054-435c-8fc3-a6e6c3a0afaf", query: "backlinks content strategy guest posting" }) // Implementação E-E-A-T mcp__dify-kb__dify_kb_retrieve_segments({ dataset_id: "061f19a3-d4b6-4383-9f44-620742167201", query: "google EEAT author credibility experience" }) // Core Web Vitals optimização mcp__dify-kb__dify_kb_retrieve_segments({ dataset_id: "b93c6475-2f22-412e-ba9d-666eb081b872", query: "core web vitals LCP INP CLS optimization" }) ``` ### Quando Consultar - **Keyword research** - Validar abordagem e ferramentas - **Optimização meta tags** - Exemplos best practices - **Structured data** - Templates schema.org - **Link building** - Estratégias white-hat - **Core Web Vitals** - Soluções técnicas específicas - **E-E-A-T** - Implementação correcta --- ## 📈 Instrumentação Automática ```sql INSERT INTO tblskill_agent_metrics ( type, name, duration_ms, status, staff_id, kb_consulted, kb_cache_hit, tool_calls, project_id ) VALUES ( 'skill', '/seo-content-optimization', {DURACAO_MS}, '{STATUS}', 25, {KB_CONSULTADO}, {CACHE_HIT}, {TOOL_CALLS}, {PROJECT_ID} ); ``` --- **Versão**: 2.0.0 | **Autor**: Descomplicar® | **Data**: 2026-02-03 **Desk Task:** #1482 | **Standards:** Google 2026 (E-E-A-T, INP, Helpful Content) --- ## Quando NÃO Usar - Para tarefas fora do domínio de especialização desta skill - Quando outra skill mais específica está disponível - Para operações que requerem aprovação manual obrigatória - Quando os requisitos não estão claramente definidos ## Protocolo de Execução 1. **Análise Inicial** - Verificar requisitos e contexto - Identificar ferramentas necessárias 2. **Preparação** - Validar acesso a recursos - Preparar ambiente de trabalho 3. **Execução** - Executar operações de forma incremental - Validar cada passo antes de prosseguir 4. **Validação** - Verificar resultados obtidos - Confirmar sucesso da operação 5. **Conclusão** - Documentar alterações realizadas - Reportar status final e próximos passos ## Exemplos de Uso ### Exemplo 1: Caso Básico ``` User: [requisição simples relacionada com seo-content-optimization] Skill: [execução directa com validação] Output: [resultado conciso e accionável] ``` ### Exemplo 2: Caso Complexo ``` User: [requisição multi-passo ou complexa] Skill: 1. Análise dos requisitos 2. Planeamento da abordagem 3. Execução faseada 4. Validação contínua Output: [resultado detalhado com próximos passos] ``` ### Exemplo 3: Caso com Dependências ``` User: [requisição que depende de outros sistemas] Skill: 1. Verificar dependências disponíveis 2. Coordenar com skills/MCPs necessários 3. Executar workflow integrado Output: [resultado completo com referências] ```