Plugins: automacao, crm-ops, design-media, dev-tools, gestao, infraestrutura, marketing, negocio, perfex-dev, project-manager, wordpress + hello-plugin (existente). Totais: 83 skills, 44 agents, 12 datasets.json Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
19 KiB
19 KiB
name, description, author, version, quality_score, user_invocable, desk_task, allowed-tools
| name | description | author | version | quality_score | user_invocable | desk_task | allowed-tools |
|---|---|---|---|---|---|---|---|
| seo-content-optimization | 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". | Descomplicar® Crescimento Digital | 2.0.0 | 75 | true | 1482 | 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
<!-- ✅ Title tag (50-60 caracteres) -->
<title>Keyword Principal | Nome Marca 2026</title>
<!-- ✅ Meta description (150-160 caracteres, CTA claro) -->
<meta name="description" content="Descrição apelativa com keyword, benefício claro e CTA subtil. Actualizado 2026.">
<!-- ✅ Canonical URL (evita duplicação) -->
<link rel="canonical" href="https://site.pt/pagina/">
<!-- ✅ Open Graph (essencial para social shares) -->
<meta property="og:title" content="Título para Social (60 chars)">
<meta property="og:description" content="Descrição social (65 palavras max)">
<meta property="og:image" content="https://site.pt/og-image.jpg">
<meta property="og:url" content="https://site.pt/pagina/">
<meta property="og:type" content="article">
<!-- ✅ Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Título Twitter">
<meta name="twitter:description" content="Descrição Twitter">
<meta name="twitter:image" content="https://site.pt/twitter-image.jpg">
<!-- 🆕 2026: Article metadata -->
<meta property="article:published_time" content="2026-02-03T10:00:00Z">
<meta property="article:modified_time" content="2026-02-03T15:30:00Z">
<meta property="article:author" content="Nome Autor">
<meta property="article:section" content="Categoria">
<meta property="article:tag" content="tag1, tag2, tag3">
Structured Data (Schema.org) 2026
// ✅ 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)
<!-- ✅ CORRECTO: Hierarquia lógica -->
<h1>Título Principal da Página (1 por página, keyword principal)</h1>
<h2>Secção 1 (keyword secundária)</h2>
<h3>Sub-secção 1.1</h3>
<h3>Sub-secção 1.2</h3>
<h2>Secção 2 (keyword secundária)</h2>
<h3>Sub-secção 2.1</h3>
<h4>Detalhe 2.1.1</h4>
<h3>Sub-secção 2.2</h3>
<h2>Secção 3 (keyword secundária)</h2>
<!-- ❌ ERRADO: Saltar níveis -->
<h1>Título</h1>
<h4>Sub-título</h4> <!-- Saltou H2 e H3 - PENALIZADO 2026 -->
<!-- ❌ ERRADO: Múltiplos H1 -->
<h1>Título 1</h1>
<h1>Título 2</h1> <!-- Só 1 H1 permitido -->
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
<!-- ✅ Preload imagem hero (crítico) -->
<link rel="preload" as="image" href="/hero.jpg" fetchpriority="high">
<!-- ✅ Lazy loading imagens below-fold -->
<img src="image.jpg" loading="lazy" alt="Descrição">
<!-- ✅ Responsive images (servir tamanho correcto) -->
<img srcset="small.jpg 480w, medium.jpg 800w, large.jpg 1200w"
sizes="(max-width: 600px) 480px, (max-width: 1000px) 800px, 1200px"
src="large.jpg" alt="Descrição">
<!-- ✅ WebP format (60% menor que JPEG) -->
<picture>
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="Descrição">
</picture>
<!-- 🆕 2026: Priority hints -->
<img src="hero.jpg" fetchpriority="high" alt="Hero">
<img src="secondary.jpg" fetchpriority="low" alt="Secondary">
Optimizações INP 2026 (Novo)
// ✅ 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
/* ✅ 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
### 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
// 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
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
-
Análise Inicial
- Verificar requisitos e contexto
- Identificar ferramentas necessárias
-
Preparação
- Validar acesso a recursos
- Preparar ambiente de trabalho
-
Execução
- Executar operações de forma incremental
- Validar cada passo antes de prosseguir
-
Validação
- Verificar resultados obtidos
- Confirmar sucesso da operação
-
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]