feat(marketing): adiciona plugin marketing (agents, skills, knowledge e metadados do projeto)

This commit is contained in:
2026-10-28 16:09:09 +00:00
parent e43fec3bd9
commit 13c39d8000
96 changed files with 9733 additions and 0 deletions
@@ -0,0 +1,169 @@
---
name: seo-content-optimization
description: Optimizacao de conteudo para motores de busca. Melhora conteudo existente com palavras-chave, estrutura e legibilidade.
layer: wiki
---
# SEO Content Optimization
Skill para optimizacao SEO tecnico e de conteudo com standards Google 2026.
---
## Contexto NotebookLM
ANTES de executar, consultar notebook para contexto especializado:
| Notebook | ID | Consultar quando |
|----------|-----|-----------------|
| Marketing Digital PT | `4c595973` | Sempre |
```
mcp__notebooklm__notebook_query({
notebook_id: "4c595973-ba10-420a-a3bf-e4389e424ad3",
query: "<adaptar ao contexto — ex: SEO on-page, keyword research, E-E-A-T, Core Web Vitals>"
})
```
**Procedimento relacionado:** `PROC-DMARC-Email-Entregabilidade.md` -- consultar quando o contexto SEO envolve email deliverability.
---
## Quando Usar
- Optimizar paginas 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)
---
## E-E-A-T 2026
| Factor | 2024-2025 | **2026 Standards** |
|--------|-----------|-----|
| **Experience** | Sugerido | **Obrigatorio** - Demonstracao de experiencia real |
| **Expertise** | Credenciais | Credenciais **verificaveis** (LinkedIn, certificacoes) |
| **Authoritativeness** | Backlinks | Backlinks + **mencoes media** + **citacoes academicas** |
| **Trust** | HTTPS | HTTPS + **About page completo** + **Contactos reais** |
**Impacto:** Sites sem E-E-A-T perderam -15% a -40% trafego organico Q1 2026.
### Helpful Content Update Q1 2026
**Penalizacoes Automaticas:**
- Conteudo AI sem edicao humana: -30% rankings
- Keyword stuffing (densidade > 3%): -50% rankings
- Thin content (< 300 palavras): Desindexacao
- Conteudo duplicado: Canibalizacao severa
**Boas Praticas:**
- Conteudo original, profundo (> 1200 palavras para topics competitivos)
- Multiplos formatos (texto + imagem + video)
- Actualizacao regular (timestamp visivel)
---
## Heading Structure (Hierarquia Correcta)
```html
<!-- CORRECTO: Hierarquia logica -->
<h1>Titulo Principal da Pagina (1 por pagina, keyword principal)</h1>
<h2>Seccao 1 (keyword secundaria)</h2>
<h3>Sub-seccao 1.1</h3>
<h3>Sub-seccao 1.2</h3>
<h2>Seccao 2 (keyword secundaria)</h2>
<!-- ERRADO: Saltar niveis -->
<h1>Titulo</h1>
<h4>Sub-titulo</h4> <!-- Saltou H2 e H3 -->
```
**Boas Praticas 2026:**
- H1: Unica, 60-70 chars, keyword principal
- H2: Keywords secundarias, variacoes LSI
- H3-H6: Long-tail keywords, questoes especificas
- Incluir numeros quando possivel ("7 Formas de...", "Top 10...")
---
## On-Page SEO Checklist 2026
### Conteudo
- [ ] Keyword no titulo (primeiros 60 chars)
- [ ] Keyword no H1 (unica vez)
- [ ] Keyword nos primeiros 100 caracteres
- [ ] Keywords secundarias em H2/H3
- [ ] LSI keywords distribuidas naturalmente
- [ ] Conteudo > 1200 palavras (topics competitivos)
- [ ] Keyword density 1-2% (nao > 3%)
### Autor e E-E-A-T
- [ ] **Autor identificado** (nome + foto)
- [ ] **Bio autor** (credenciais, experiencia)
- [ ] **Data publicacao + ultima actualizacao**
- [ ] **Experiencia real demonstrada** (exemplos, casos)
- [ ] Links para perfis autor (LinkedIn, Twitter)
### Media
- [ ] Alt text descritivo em TODAS as imagens
- [ ] Imagens optimizadas (WebP, < 200KB)
- [ ] Video embed (aumenta tempo na pagina)
- [ ] Infograficos (linkable assets)
### Links
- [ ] 3-5 internal links relevantes
- [ ] 1-3 external links para fontes autoritativas
- [ ] Anchor text descritivo (nao "clique aqui")
- [ ] Links abrem em nova tab (external)
### Tecnico
- [ ] URL amigavel (curto, keyword, sem parametros)
- [ ] Meta description unica (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)
- [ ] Formulario/contacto
- [ ] Social share buttons
---
## Anti-Patterns SEO 2026
| Anti-Pattern | Penalizacao 2026 | Solucao |
|--------------|------------------|---------|
| **Keyword stuffing** (> 3%) | -50% rankings | Escrita natural, 1-2% |
| **Conteudo duplicado** | Canibalizacao | Canonical, consolidar |
| **Meta descriptions iguais** | Menos impressoes | Unica por pagina |
| **Imagens sem alt** | -10% accessibility | Alt descritivo |
| **JavaScript-only content** | Nao indexado | SSR/SSG |
| **Redirect chains** | Timeout, bounce | Redirect directo |
| **Thin content** (< 300 palavras) | Desindexacao | Min 800 palavras |
| **Conteudo AI nao editado** | -30% rankings | Edicao humana |
| **Links comprados** | Penalizacao manual | Earn links, guest posts |
| **Hidden text** | Desindexacao | Texto visivel |
---
## Ferramentas Recomendadas
### Validacao
- **Google Search Console** - Monitorizacao, indexacao
- **PageSpeed Insights** - Core Web Vitals
- **Schema Validator**
@@ -0,0 +1,270 @@
# /seo-content-optimization - Structured Data e Meta Tags
## Meta Tags Essenciais 2026
```html
<!-- 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 -->
<link rel="canonical" href="https://site.pt/pagina/">
<!-- Open Graph -->
<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">
```
---
## 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
<!-- Preload imagem hero -->
<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 -->
<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 -->
<picture>
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="Descrição">
</picture>
```
### 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.