# n8n WordPress Node

Este pacote fornece nós personalizados para n8n que permitem integração com o WordPress e o plugin AI GROWTH - SEO WP.

## Nós Disponíveis

Este pacote inclui dois nós diferentes:

1. **WordPress** - Um nó básico para interagir com a API REST do WordPress padrão.
2. **AI GROWTH WordPress** - Um nó especializado com suporte ao plugin AI GROWTH - SEO WP.

Ambos os nós compartilham a mesma base de código e funcionalidades, mas são separados para facilitar a distinção na interface do n8n.

## Instalação

Você pode instalar este pacote de três maneiras:

### 1. Via Community Nodes (Recomendado)

1. No seu n8n, vá para **Settings > Community Nodes**
2. Clique em **Install a community node**
3. Insira `@ai-growth/n8n-nodes-wordpress` e clique em instalar
4. Reinicie o n8n

### 2. Via npm

```bash
npm install @ai-growth/n8n-nodes-wordpress
```

Após instalar via npm, você precisa reiniciar o n8n para que o nó seja reconhecido.

### 3. Via Script de Instalação (Docker)

Se você estiver usando Docker, pode usar o script `install-to-n8n.sh` para instalar o nó:

```bash
./install-to-n8n.sh
```

Este script:
- Compila o pacote
- Instala o nó no diretório custom do n8n
- Configura a variável de ambiente `N8N_CUSTOM_EXTENSIONS=true`
- Reinicia o container do n8n

## 🛠️ Correções de Erro de Roteamento WordPress

### Problema Resolvido: "Nenhuma rota foi encontrada"

Este pacote inclui correções abrangentes para o erro comum do WordPress:
**"Nenhuma rota foi encontrada que corresponde com o URL e o método de requisição"**

#### ✅ Melhorias Implementadas

- **Detecção Automática de Rotas**: Descoberta dinâmica das rotas disponíveis da API REST
- **Mensagens de Erro Inteligentes**: Diagnósticos específicos com sugestões de solução
- **Construção Automática de URL**: Correção automática de URLs malformadas
- **Validação de Autenticação**: Verificação aprimorada de credenciais e permissões
- **Detecção de Configuração**: Identificação automática de problemas de configuração do WordPress

#### 🔍 Diagnóstico Rápido de Problemas de Roteamento

Use o script de diagnóstico especializado para identificar rapidamente problemas de roteamento:

```bash
node diagnose-routing-issues.js
```

#### 📖 Documentação Completa

Para informações detalhadas sobre as correções implementadas, consulte:
- [ROUTING_ERROR_FIX_SUMMARY.md](ROUTING_ERROR_FIX_SUMMARY.md) - Resumo completo das correções
- Guia de solução de problemas específicos para erros de roteamento
- Exemplos de configuração e melhores práticas

## Solução de Problemas

### 🔧 Ferramentas de Diagnóstico

Este pacote inclui ferramentas avançadas para diagnosticar problemas de conexão:

#### 1. Diagnóstico Completo (Recomendado)
```bash
node scripts/diagnose-connection.js <url> <username> <password> --verbose
```

Esta ferramenta realiza testes abrangentes incluindo:
- Validação de URL e resolução DNS
- Conectividade básica e verificação SSL
- Detecção do WordPress e disponibilidade da API REST
- Teste de autenticação
- Detecção de plugins

**Exemplo:**
```bash
node scripts/diagnose-connection.js https://meusite.com admin minha_app_password --verbose
```

#### 2. Teste Simples de Conexão
```bash
node scripts/test-wp-connection.js <url> <username> <password>
```

### 🚨 Problemas Comuns

#### "Couldn't connect with these settings - Not Found"
**Primeiro passo:** Execute o diagnóstico completo para identificar o problema específico:
```bash
node scripts/diagnose-connection.js https://meusite.com admin senha --verbose
```

**Possíveis causas:**
- API REST do WordPress desabilitada
- URL incorreta ou inacessível
- Problemas de SSL/certificado
- Firewall bloqueando requisições

#### Problemas de Autenticação (401)
- Verifique se está usando Application Password, não senha regular
- Confirme username e permissões do usuário
- Teste manualmente: `curl -u username:app_password https://meusite.com/wp-json/wp/v2`

#### Timeout ou Conexão Recusada
- Verifique se o servidor está online
- Teste conectividade básica: `telnet meusite.com 80` ou `telnet meusite.com 443`
- Verifique configurações de firewall

### 📋 Problemas de Instalação

Se os nós não aparecerem após a instalação:

1. Verifique se você instalou o pacote correto: `@ai-growth/n8n-nodes-wordpress`
2. Certifique-se de reiniciar completamente o n8n após a instalação
3. Verifique se o n8n está configurado para carregar nós personalizados
4. Limpe o cache do navegador e tente novamente
5. Use as ferramentas de diagnóstico para verificar suas credenciais

Para uma solução de problemas mais detalhada, consulte:
- [DEBUGGING_GUIDE.md](DEBUGGING_GUIDE.md) - Guia completo de debugging
- [TROUBLESHOOTING.md](TROUBLESHOOTING.md) - Solução de problemas gerais

### Configuração do n8n para Carregar Nós Personalizados

Se você estiver executando o n8n localmente, certifique-se de que a configuração do n8n permite carregar nós personalizados. Isso pode ser feito definindo a variável de ambiente:

```
N8N_CUSTOM_EXTENSIONS=true
```

Se você estiver usando Docker, adicione esta variável ao seu arquivo `docker-compose.yml`:

```yaml
environment:
  - N8N_CUSTOM_EXTENSIONS=true
```

Para mais informações sobre como usar este nó, consulte a documentação completa em [docs/README.md](docs/README.md).

## 🔍 Sistema de Logs Avançado

O pacote inclui um sistema de logs multi-nível para debugging:

### Habilitando Logs Detalhados no n8n
```bash
# No docker-compose.yml ou variáveis de ambiente
N8N_LOG_LEVEL=debug
```

### Níveis de Log Disponíveis
- **TRACE**: Logs extremamente detalhados
- **DEBUG**: Informações detalhadas para troubleshooting
- **INFO**: Informações operacionais gerais
- **WARN**: Mensagens de aviso
- **ERROR**: Apenas erros

### Logs Específicos por Componente
- **Teste de Credenciais**: Logs detalhados em 3 etapas (conectividade, wp-json, autenticação)
- **Cliente WordPress**: Interceptadores de request/response com timing
- **Sistema de Retry**: Logs de tentativas com backoff exponencial
- **Autenticação**: Logs sanitizados (credenciais mascaradas)

## Recursos

- **Autenticação Segura**: Via Application Passwords do WordPress
- **Operações Completas**: CRUD para posts, páginas e mídia
- **Taxonomias**: Suporte a categorias, tags e taxonomias customizadas
- **Plugin AI GROWTH**: Integração com recursos de SEO avançados
- **Mídia**: Upload e manipulação de imagens
- **SEO**: Gerenciamento de metadados SEO
- **Debugging Avançado**: Ferramentas de diagnóstico e logs detalhados
- **Tratamento de Erros**: Sistema robusto com retry automático

## Licença

MIT 