---
name: wp-performance
description: Auditoria e optimização de performance WordPress. Analisa velocidade, caching, base de dados e assets. Usa Lighthouse, métricas Core Web Vitals e checklist sistemático.
---

# /wp-performance - Auditoria Performance WordPress

Checklist sistemático para auditar e optimizar performance de sites WordPress.

## Contexto NotebookLM

ANTES de executar, consultar notebooks para contexto especializado:

| Notebook | ID | Consultar quando |
|----------|-----|-----------------|
| WordPress e Elementor | 5be0d1a6 | Sempre |

```
mcp__notebooklm__notebook_query({
  notebook_id: "5be0d1a6-00f2-4cd9-b835-978cb7721601",
  query: "<adaptar ao contexto do pedido do utilizador>"
})
```

Integrar insights do NotebookLM nas recomendações e decisões.

### Procedimentos Relacionados
- `PROC-WordPress-Performance-Standard.md` — Standards de performance WP

---

## Uso

```
/wp-performance https://site.pt
/wp-performance site.pt
```

---

## Execução

### Passo 1: Lighthouse (Performance Geral)

```javascript
// Auditoria Lighthouse mobile + desktop
const [mobile, desktop] = await Promise.all([
  mcp__lighthouse__get_performance_score({ url, device: "mobile" }),
  mcp__lighthouse__get_performance_score({ url, device: "desktop" })
]);

const vitals = await mcp__lighthouse__get_core_web_vitals({ url });
```

### Passo 2: Verificações Servidor (SSH)

```javascript
// Se site está no servidor CWP (176.9.3.158)
const server_checks = [
  // GZIP activo?
  `curl -sI -H 'Accept-Encoding: gzip' ${url} | grep -i 'content-encoding'`,

  // HTTP/2 activo?
  `curl -sI --http2 ${url} | head -1`,

  // Certificado SSL válido?
  `echo | openssl s_client -connect ${domain}:443 2>/dev/null | openssl x509 -noout -dates`,

  // PHP version
  `php -v | head -1`
];
```

### Passo 3: Verificações WordPress (WP-CLI via SSH)

```javascript
// Se temos acesso SSH ao site
const wp_checks = [
  // Cache plugin activo?
  `sudo -u ${user} wp plugin list --status=active | grep -E 'cache|w3|wp-super|litespeed'`,

  // Plugins activos (contar)
  `sudo -u ${user} wp plugin list --status=active --format=count`,

  // Tema activo
  `sudo -u ${user} wp theme list --status=active --format=csv`,

  // Tamanho da BD
  `sudo -u ${user} wp db size --format=csv`,

  // Autoload options (problema comum)
  `sudo -u ${user} wp db query "SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes'" --skip-column-names`,

  // Revisões de posts (limpeza)
  `sudo -u ${user} wp db query "SELECT COUNT(*) FROM wp_posts WHERE post_type='revision'" --skip-column-names`,

  // Transients expirados
  `sudo -u ${user} wp transient delete --expired --network 2>/dev/null || echo 'N/A'`
];
```

### Passo 4: Análise de Imagens

```javascript
// Verificar imagens não optimizadas
const image_checks = [
  // Imagens grandes (>500KB)
  `find ${wp_path}/wp-content/uploads -type f \\( -name "*.jpg" -o -name "*.png" \\) -size +500k | wc -l`,

  // WebP disponível?
  `find ${wp_path}/wp-content/uploads -name "*.webp" | head -5`,

  // Total imagens
  `find ${wp_path}/wp-content/uploads -type f \\( -name "*.jpg" -o -name "*.png" -o -name "*.webp" \\) | wc -l`
];
```

---

## Output Template

```markdown
# WP Performance Audit - [site.pt]

**Data:** YYYY-MM-DD
**URL:** https://site.pt

---

## Resumo Executivo

| Métrica | Mobile | Desktop | Status |
|---------|--------|---------|--------|
| Performance | XX | XX | ✅/⚠️/❌ |
| LCP | X.Xs | X.Xs | ✅/⚠️/❌ |
| CLS | X.XX | X.XX | ✅/⚠️/❌ |
| TBT | XXXms | XXXms | ✅/⚠️/❌ |

---

## Checklist Servidor

| Item | Status | Nota |
|------|--------|------|
| GZIP | ✅/❌ | |
| HTTP/2 | ✅/❌ | |
| SSL | ✅/❌ | Expira: DD/MM |
| PHP Version | X.X | |

---

## Checklist WordPress

| Item | Status | Valor |
|------|--------|-------|
| Cache Plugin | ✅/❌ | [nome] |
| Plugins Activos | ⚠️ | XX (recomendado <20) |
| Tamanho BD | ⚠️ | XX MB |
| Autoload Size | ⚠️ | XX KB (recomendado <1MB) |
| Revisões | ⚠️ | XX (limpar se >100) |

---

## Checklist Imagens

| Item | Valor | Acção |
|------|-------|-------|
| Imagens >500KB | XX | Optimizar |
| WebP activo | ✅/❌ | Converter |
| Total imagens | XX | - |

---

## Recomendações Prioritárias

1. **[CRÍTICO]** Descrição...
2. **[ALTO]** Descrição...
3. **[MÉDIO]** Descrição...

---

## Comandos de Correcção

```bash
# Limpar revisões (manter últimas 5)
wp post delete $(wp post list --post_type='revision' --format=ids) --force

# Limpar transients
wp transient delete --all

# Optimizar BD
wp db optimize
```

---

*Gerado via /wp-performance - YYYY-MM-DD*
```

---

## Thresholds

| Métrica | ✅ Bom | ⚠️ Médio | ❌ Mau |
|---------|--------|----------|--------|
| Performance Score | >70 | 50-70 | <50 |
| LCP | <2.5s | 2.5-4s | >4s |
| CLS | <0.1 | 0.1-0.25 | >0.25 |
| TBT | <200ms | 200-600ms | >600ms |
| Plugins | <20 | 20-30 | >30 |
| BD Size | <100MB | 100-500MB | >500MB |
| Autoload | <1MB | 1-2MB | >2MB |
| Revisões | <100 | 100-500 | >500 |

---

## Sites WordPress no Servidor

| Conta | Domínio | Path |
|-------|---------|------|
| ealmeida | emanuelalmeida.pt | `/home/ealmeida/emanuelalmeida.pt/` |
| descomplicar | descomplicar.pt | `/home/descomplicar/public_html/` |
| wtc | watercontrol.pt | `/home/wtc/public_html/` |

---

## Problemas Comuns

### Autoload Grande (>1MB)
```sql
-- Ver maiores autoload options
SELECT option_name, LENGTH(option_value) as size
FROM wp_options
WHERE autoload='yes'
ORDER BY size DESC
LIMIT 20;
```

### Muitas Revisões
```bash
# Limitar revisões futuras (wp-config.php)
define('WP_POST_REVISIONS', 5);
```

### Sem Cache
Plugins recomendados:
- LiteSpeed Cache (se servidor LiteSpeed)
- WP Super Cache (simples)
- W3 Total Cache (avançado)

### Imagens Não Optimizadas
Plugins recomendados:
- ShortPixel (com WebP)
- Imagify
- Smush

---

## Changelog

### v1.0.0 (2026-01-30)
- Versão inicial
- Checklist: Servidor, WordPress, Imagens
- Integração Lighthouse + SSH
- Thresholds definidos

---


## 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 wp-performance]
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]
```

---

## Healing Log

Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.

```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```

*Adicionar nova linha após cada erro corrigido.*
