UNIVERSO DO MARKETING DIGITAL Aprofunde seu conhecimento com a gente. Seu mundo faz parte desse universo.

UNIVERSO DO MARKETING DIGITAL Aprofunde seu conhecimento com a gente. Seu mundo faz parte desse universo.

🤖 Automação de Postagem Agendada no WordPress com n8n: O Guia Completo

Automação de Postagem Agendada no WordPress com n8n O Guia Completo

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.

  1. Acesse o Painel de Administração do WordPress: Navegue até Usuários > Seu Perfil.

  2. 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

 

  1. No painel do n8n, clique em Credentials (Credenciais).

  2. Clique em New Credential (Nova Credencial) e pesquise por WordPress.

  3. 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.

  4. 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

JSON
 
{
  "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

JSON
 
{
  "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 a Pronto para Publicar.

      • Filtro 2: Coluna Data_de_Publicacao é igual à data atual no formato YYYY-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

JavaScript
 
// 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_Publicacao e 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 status como “future” – este é o parâmetro crucial para o agendamento na API do WordPress.

    • Define date_gmt com 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

JSON
 
{
  "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 future e 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 Status na sua planilha para Agendado ou Publicado, 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:

  1. Um nó HTTP Request para baixar a imagem da fonte (ex: URL da planilha).

  2. 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.

  3. O nó final WordPress: Create Post deve incluir o campo featured_media com 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.