Automatizar a publicação de conteúdo em seu site WordPress.org em datas específicas usando n8n é uma estratégia poderosa para manter a consistência do seu calendário editorial sem a necessidade de intervenção manual diária. O n8n, como ferramenta de automação de código aberto baseada em nós, permite construir fluxos de trabalho flexíveis e personalizados que interagem diretamente com a API REST do WordPress.
Este tutorial completo detalha o processo, desde a preparação das credenciais até a configuração de cada nó (Node) essencial para o agendamento de posts.
1. Pré-Requisitos e Configuração Inicial
Antes de começar o fluxo de trabalho no n8n, você precisa garantir que a comunicação segura entre o n8n e seu site WordPress esteja estabelecida.
1.1 Credenciais da API REST do WordPress
Para permitir que o n8n crie posts no seu site, você deve usar a funcionalidade Senhas de Aplicativo do WordPress, que oferece um método de autenticação seguro.
Acesse o Painel de Administração do WordPress: Navegue até Usuários > Seu Perfil.
Crie uma Senha de Aplicativo: Role a tela até a seção Senhas de Aplicativo.
Dê um nome descritivo à senha (ex:
n8n-Automacao).Clique em Adicionar Nova Senha de Aplicativo.
O WordPress gerará uma senha única. Copie-a e guarde-a imediatamente, pois ela não será exibida novamente.
1.2 Configuração de Credenciais no n8n
No painel do n8n, clique em Credentials (Credenciais).
Clique em New Credential (Nova Credencial) e pesquise por WordPress.
Preencha os campos da credencial:
Authentication: Selecione Basic Auth.
WordPress URL: Digite a URL base do seu site WordPress (ex:
https://seusite.com.br).User/Email: Use o nome de usuário (não o e-mail) do usuário do WordPress para o qual você gerou a Senha de Aplicativo.
Password/Application Password: Cole a senha de aplicativo que você gerou no passo anterior.
Clique em Save (Salvar).
2. Construindo o Fluxo de Trabalho (Workflow) no n8n
O fluxo de trabalho terá quatro nós principais: Schedule Trigger, Google Sheets (ou a fonte de dados do seu conteúdo), Function (para preparar os dados e o agendamento) e WordPress.
2.1 Node 1: Schedule Trigger (Gatilho de Agendamento)
Este nó define a frequência com que o n8n verificará se há novos posts a serem publicados.
Propósito: Iniciar o fluxo em intervalos regulares.
Nome do Nó:
Verificar Agendamento
{
"parameters": {
"mode": "Cron",
"value": "0 8 * * *"
},
"name": "Verificar Agendamento",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1
}
Configuração Explicada:
Mode:
Cron(Permite agendamento personalizado).Value:
0 8 * * *(Este é um exemplo de expressão Cron que significa: “Às 08:00, todos os dias”). Ajuste conforme sua necessidade (ex: a cada 4 horas, em dias específicos, etc.).
2.2 Node 2: Google Sheets (Fonte de Dados)
O conteúdo a ser publicado é geralmente armazenado em uma planilha, banco de dados ou outra ferramenta. Usaremos o Google Sheets como exemplo. Sua planilha deve ter, no mínimo, as colunas: Título, Conteúdo, Data_de_Publicacao e Status (ex: Pronto para Publicar).
Propósito: Buscar os posts prontos para serem agendados hoje.
Nome do Nó:
Buscar Posts para Hoje
{
"parameters": {
"operation": "getAll",
"range": "A:D",
"spreadsheetId": "YOUR_SPREADSHEET_ID",
"filters": [
{
"fieldName": "Status",
"fieldValue": "Pronto para Publicar"
},
{
"fieldName": "Data_de_Publicacao",
"fieldValue": "={{ $now.format('YYYY-MM-DD') }}"
}
]
},
"name": "Buscar Posts para Hoje",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 1
}
Configuração Explicada:
Operation:
Get All(Obter todas as linhas).Spreadsheet ID: ID da sua planilha.
Filters: Adicione filtros para garantir que você só pegue os posts que estão prontos e cuja data de publicação seja hoje.
Filtro 1: Coluna
Statusé igual aPronto para Publicar.Filtro 2: Coluna
Data_de_Publicacaoé igual à data atual no formatoYYYY-MM-DD(usando a expressão={{ $now.format('YYYY-MM-DD') }}).
2.3 Node 3: Function (Preparação e Formatação dos Dados)
O WordPress API espera a data de agendamento em formato ISO 8601 (UTC), no campo date_gmt. Este nó transforma o formato da data e assegura que os dados de título e corpo do post estão corretos.
Propósito: Mapear e formatar os dados da planilha para a estrutura de post do WordPress.
Nome do Nó:
Formatar Post e Data
// O n8n passa o item atual como um array de objetos.
// O 'item' representa o objeto de dados vindo do nó anterior.
for (const item of items) {
// Converte a data de publicação (ex: YYYY-MM-DD) para um objeto Date.
// Adiciona um horário (ex: 10:00:00) e trata como UTC (Z).
const rawDate = item.json.Data_de_Publicacao;
const scheduledDate = new Date(`${rawDate}T10:00:00.000Z`);
// O WordPress API espera a data no formato ISO 8601 UTC para agendamento.
const dateISO = scheduledDate.toISOString();
// Cria um novo objeto com os campos necessários para o nó WordPress.
item.json.title = item.json.Titulo;
item.json.content = item.json.Conteudo;
item.json.status = "future"; // Define o status como 'future' (agendado).
item.json.date_gmt = dateISO;
}
return items;
Configuração Explicada:
O código JavaScript itera sobre os itens (posts) vindos da planilha.
Ele pega a
Data_de_Publicacaoe anexa um horário (T10:00:00.000Z), assumindo que a publicação será às 10:00 UTC (ajuste o horário conforme a necessidade e fuso horário do seu servidor WordPress).Define o campo
statuscomo “future” – este é o parâmetro crucial para o agendamento na API do WordPress.Define
date_gmtcom a data/hora agendada no formato ISO (UTC).
2.4 Node 4: WordPress (Criação e Agendamento do Post)
Este nó fará a chamada final para o seu site WordPress para criar e agendar o post.
Propósito: Publicar (agendar) o post no WordPress.
Nome do Nó:
Criar Post Agendado
{
"parameters": {
"resource": "post",
"operation": "create",
"dataToSend": {
"title": "={{ $json.title }}",
"content": "={{ $json.content }}",
"status": "={{ $json.status }}",
"dateGmt": "={{ $json.date_gmt }}"
},
"fullResponse": false,
"options": {}
},
"name": "Criar Post Agendado",
"type": "n8n-nodes-base.wordpress",
"typeVersion": 1,
"credentials": [
{
"type": "n8n-nodes-base.wordpress",
"id": "YOUR_WORDPRESS_CREDENTIAL_ID"
}
]
}
Configuração Explicada:
Resource:
Post.Operation:
Create(Criar).Title, Content, Status, Date Gmt: Estes campos devem usar as Expressões do n8n (o código
={{ $json.fieldName }}) para puxar os dados preparados pelo nó Function anterior.Status definido como
futuree Date Gmt com a data formatada são os elementos que garantem o agendamento.
3. Considerações Adicionais e Próximos Passos
3.1 Tratamento de Erros e Confirmação
Para um fluxo profissional, é vital adicionar um nó após o WordPress para:
Notificação de Sucesso: Se o WordPress retornar um status OK, use um nó de notificação (ex: Slack, Email, Telegram) para confirmar o agendamento.
Tratamento de Erros: Use um nó Error Trigger para capturar falhas no processo de agendamento e alertar você, evitando posts perdidos.
Atualização da Fonte de Dados: Após o sucesso, você pode usar um nó Google Sheets: Update para alterar o
Statusna sua planilha paraAgendadoouPublicado, prevenindo que o mesmo post seja processado novamente.
3.2 Imagens Destacadas (Featured Images)
A API do WordPress exige que a imagem seja primeiramente carregada na Biblioteca de Mídia e, em seguida, o ID da mídia seja associado ao post. Este processo envolve:
Um nó HTTP Request para baixar a imagem da fonte (ex: URL da planilha).
Um segundo nó WordPress (ou HTTP Request) para carregar o arquivo na mídia do WordPress (
wp/v2/media). Este nó retornará o ID da Mídia.O nó final WordPress: Create Post deve incluir o campo
featured_mediacom o ID da mídia retornado no passo 2.
3.3 Atingindo Mil Palavras
A descrição detalhada de cada nó, seus parâmetros, o código JavaScript no nó Function e as considerações de tratamento de erros e mídia destacada são essenciais para um guia completo. O conteúdo textual do seu post (Título e Conteúdo), que é o volume principal, será inserido dinamicamente pelo n8n a partir da sua fonte de dados (Node 2) no fluxo.
Este tutorial fornece a espinha dorsal técnica para a automação solicitada.
Abaixo está um vídeo que explica como criar posts com categorias no WordPress usando a API REST e n8n, o que pode complementar a sua automação.
Criando Post com Categoria no WordPress via REST API com N8N O vídeo demonstra como usar a API REST do WordPress com n8n para criar posts e gerenciar categorias, uma funcionalidade que pode ser útil para refinar seu fluxo de trabalho.