Controlo de Versões de Conteúdo WordPress e Backup no GitHub - Fluxo de trabalho n8n

Proteja o seu conteúdo WordPress com este fluxo de trabalho n8n avançado. Agende backups automáticos, compare alterações de conteúdo e faça 'commit' apenas de publicações novas ou modificadas no GitHub.

Prévia do Workflow

Pronto para automatizar?

Baixe este modelo de fluxo de trabalho n8n e comece a usá-lo instantaneamente.

Para quem é indicado?


  • Administradores de blogues que necessitam de backups de conteúdo automáticos e fiáveis.

  • Programadores interessados em tratar o conteúdo do blogue como código para histórico de versões e recuperação.

  • Utilizadores do n8n que procuram um modelo n8n avançado que demonstre lógica diferencial complexa e fluxos de trabalho autorreferenciais.

  • Qualquer pessoa que necessite de um fluxo de trabalho n8n robusto para gestão de ficheiros no GitHub.

Visão Geral

Este fluxo de trabalho n8n abrangente foi concebido para garantir a integridade e o histórico de versões do seu conteúdo WordPress, fazendo o backup das publicações para um repositório GitHub dedicado. Ao contrário de soluções de backup simples, esta automação n8n faz 'commit' apenas das alterações quando o conteúdo é genuinamente novo ou modificado, prevenindo 'commits' desnecessários e mantendo um histórico de repositório limpo. Utiliza uma estrutura de subfluxo de trabalho sofisticada e um nó n8n personalizado para comparação diferencial de conteúdo JSON, tornando-o um excelente exemplo das capacidades avançadas de automação dentro do n8n.

Como funciona

O fluxo de trabalho n8n opera através de um arranque agendado ou manual.


  1. Gatilho e Extração: O gatilho n8n (Agendamento ou Manual) inicia o processo. O nó n8n 'Get All WP Posts' recupera todo o conteúdo do site WordPress configurado.

  2. Iteração do Fluxo de Trabalho: O nó n8n 'Execute Workflow' processa então cada publicação do WordPress individualmente. Crucialmente, este nó executa a segunda metade do mesmo fluxo de trabalho n8n (atuando como uma sub-rotina), passando os dados da publicação item por item.

  3. Configuração e Recuperação: A sub-rotina primeiro define as configurações globais do repositório GitHub (Globals). Tenta recuperar o ficheiro de backup existente para essa publicação específica do GitHub usando o nó n8n 'Get file data'. Este nó está configurado para continuar em caso de falha, antecipando que o ficheiro possa não existir (ou seja, é uma nova publicação).

  4. Comparação de Conteúdo: O fluxo de dados combina os metadados do GitHub recuperados com o JSON de conteúdo real do WordPress. O nó Code n8n personalizado 'isDiffOrNew' é executado. Este código especializado lida com a decodificação do conteúdo Base64 do GitHub, ordena as chaves JSON tanto dos dados existentes como dos novos para garantir uma comparação fiável byte a byte, e define uma variável de estado (github_status: "same", "different", ou "new").

  5. Ação Condicional: O nó n8n 'Check Status' atua como um interruptor baseado no resultado da comparação.

Se o estado for "same", o fluxo de trabalho n8n salta o 'commit'.
Se o estado for "different", o nó n8n 'Edit existing file' do GitHub atualiza o ficheiro com o novo conteúdo.
* Se o estado for "new", o nó n8n 'Create new file' do GitHub cria o ficheiro de backup pela primeira vez.

Esta lógica robusta garante que cada execução n8n contribui significativamente para o versionamento do seu conteúdo.

Guia de Instalação

Para implementar este poderoso modelo de fluxo de trabalho n8n, siga estes passos:


  1. Importar: Copie os dados JSON fornecidos e importe-os diretamente para a sua instância n8n.

  2. Credenciais WordPress: Configure o nó n8n 'Get All WP Posts' com as suas credenciais de API do WordPress.

  3. Credenciais GitHub: Configure as credenciais do nó n8n do GitHub ('Get file data', 'Create new file', 'Edit existing file') usando um Token de Acesso Pessoal (PAT) com permissões de escrita no repositório.

  4. Configurações Globais do Repositório: Localize o nó n8n 'Globals' (posição 200, 120). Tem obrigatoriamente de editar os parâmetros aqui:

Defina repo.owner para o seu nome de utilizador do GitHub ou nome da organização.
Defina repo.name para o nome do seu repositório de backup.
Opcional:* Ajuste repo.path se desejar uma estrutura de diretório específica para os seus ficheiros com backup.

  1. Agendamento: Reveja e ajuste o nó n8n 'Schedule Trigger' para corresponder à frequência de backup desejada. A configuração existente é executada diariamente às 17h00 UTC.

Detalhes do Nó

Gatilho de Agendamento / Gatilho Manual: Atua como o gatilho principal do n8n para iniciar o processo de backup, permitindo execução temporizada ou instantânea.
Nó n8n WordPress (Get All WP Posts): Obtém todas as publicações e páginas do site WordPress usando a operação 'getAll'. Estes dados formam a carga útil para o resto do fluxo de trabalho n8n.
Nó n8n Execute Workflow: Essencial para iterar através das publicações do WordPress. Chama o mesmo ID de fluxo de trabalho no modo de item 'each', isolando a lógica de backup do GitHub para cada publicação individual.
Nó n8n Set (Globals): Centraliza a configuração para o proprietário do repositório GitHub, o nome e a estrutura do caminho do ficheiro, melhorando a manutenção deste modelo n8n.
Nó n8n GitHub (Get file data): Tenta recuperar o ficheiro de backup JSON existente para um item específico do WordPress, usando o ID do item no nome do ficheiro. Crucialmente, utiliza continueOnFail: true para lidar com casos em que o ficheiro ainda não existe.
Nó n8n Code (isDiffOrNew): Contém a lógica central de controlo de versões. Lida com a decodificação Base64 do ficheiro existente e padroniza as chaves do objeto JSON antes de realizar uma comparação de strings rigorosa para determinar se o conteúdo é 'same', 'different' ou 'new'.
Nó n8n Switch (Check Status): Direciona o fluxo com base no github_status determinado pelo nó n8n anterior, garantindo que a ação correta do GitHub (ignorar, editar ou criar) é executada.
Nós n8n GitHub (Create new file / Edit existing file): Executam as operações de ficheiro necessárias no repositório GitHub, fazendo 'commit' do JSON de conteúdo WordPress serializado com uma mensagem de 'commit' relevante que indica o estado da atualização.

Fluxos de trabalho n8n relacionados

Grátis

Nós: 14 Nós
Atualizado: Dezembro 26 2025
Ver tudo
Criado por

Apresentou*