WordPress-Inhaltsversionskontrolle und GitHub-Backup - n8n-Workflow

Sichern Sie Ihre WordPress-Inhalte mit diesem fortschrittlichen n8n-Workflow. Planen Sie automatische Backups, vergleichen Sie Inhaltsänderungen und pushen Sie nur neue oder geänderte Beiträge auf GitHub.

Workflow-Vorschau

Bereit zur Automatisierung?

Laden Sie diese n8n-Workflow-Vorlage herunter und beginnen Sie sofort mit der Nutzung.

Zielgruppe


  • Blogadministratoren, die zuverlässige, automatische Inhaltssicherungen benötigen.

  • Entwickler, die Blog-Inhalte als Code behandeln möchten, um eine Versionshistorie zu erhalten und sie wiederherstellen zu können.

  • n8n-Benutzer, die eine fortgeschrittene n8n-Vorlage suchen, welche komplexe differentielle Logik und selbstreferenzierende Workflows demonstriert.

  • Jeder, der einen robusten n8n-Workflow für die GitHub-Dateiverwaltung benötigt.

Überblick

Dieser umfassende n8n-Workflow wurde entwickelt, um die Integrität und Versionshistorie Ihrer WordPress-Inhalte durch das Sichern von Beiträgen in einem dedizierten GitHub-Repository zu gewährleisten. Im Gegensatz zu einfachen Backup-Lösungen überträgt diese n8n-Automatisierung Änderungen nur dann, wenn Inhalte wirklich neu oder modifiziert wurden. Dies verhindert unnötige Commits und erhält eine saubere Repository-Historie. Er verwendet eine ausgefeilte Sub-Workflow-Struktur und einen benutzerdefinierten n8n-Node für den differentiellen Vergleich von JSON-Inhalten und ist somit ein hervorragendes Beispiel für fortgeschrittene Automatisierungsfähigkeiten innerhalb von n8n.

Funktionsweise

Der n8n-Workflow wird durch einen geplanten oder manuellen Start ausgeführt.


  1. Trigger und Extraktion: Der n8n-Trigger (entweder Zeitplan oder Manuell) leitet den Prozess ein. Der n8n-Node 'Get All WP Posts' ruft alle Inhalte von der konfigurierten WordPress-Seite ab.

  2. Workflow-Iteration: Der n8n-Node 'Execute Workflow' verarbeitet anschließend jeden WordPress-Beitrag einzeln. Entscheidend ist, dass dieser Node die zweite Hälfte desselben n8n-Workflows ausführt (als Unterroutine fungiert) und die Beitragsdaten einzeln übergibt.

  3. Setup und Abruf: Die Unterroutine definiert zuerst die globalen GitHub-Repository-Einstellungen (Globals). Sie versucht, die vorhandene Backup-Datei für diesen spezifischen Beitrag über den n8n-Node 'Get file data' von GitHub abzurufen. Dieser Node ist so konfiguriert, dass er bei einem Fehler fortfährt (continue on failure), da erwartet wird, dass die Datei möglicherweise noch nicht existiert (d.h. es ist ein neuer Beitrag).

  4. Inhaltsvergleich: Der Datenfluss führt die abgerufenen GitHub-Metadaten mit dem eigentlichen WordPress-Inhalts-JSON zusammen. Der benutzerdefinierte Code-n8n-Node 'isDiffOrNew' wird ausgeführt. Dieser spezialisierte Code übernimmt die Dekodierung des Base64-Inhalts von GitHub, ordnet die JSON-Schlüssel sowohl der vorhandenen als auch der neuen Daten, um einen zuverlässigen Byte-für-Byte-Vergleich zu gewährleisten, und setzt eine Statusvariable (github_status: "same", "different" oder "new").

  5. Bedingte Aktion: Der n8n-Node 'Check Status' fungiert als Weiche basierend auf dem Vergleichsergebnis.

Wenn der Status "same" ist, überspringt der n8n-Workflow den Commit.
Wenn der Status "different" ist, aktualisiert der GitHub-n8n-Node 'Edit existing file' die Datei mit dem neuen Inhalt.
* Wenn der Status "new" ist, erstellt der GitHub-n8n-Node 'Create new file' die Backup-Datei zum ersten Mal.

Diese robuste Logik stellt sicher, dass jede n8n-Ausführung sinnvoll zur Versionsverwaltung Ihrer Inhalte beiträgt.

Installationsanleitung

Um diese leistungsstarke n8n-Workflow-Vorlage bereitzustellen, gehen Sie wie folgt vor:


  1. Importieren: Kopieren Sie die bereitgestellten JSON-Daten und importieren Sie sie direkt in Ihre n8n-Instanz.

  2. WordPress-Anmeldeinformationen: Konfigurieren Sie den n8n-Node 'Get All WP Posts' mit Ihren WordPress-API-Zugangsdaten.

  3. GitHub-Anmeldeinformationen: Konfigurieren Sie die GitHub-n8n-Node-Zugangsdaten ('Get file data', 'Create new file', 'Edit existing file') mithilfe eines Persönlichen Zugriffstokens (PAT) mit Schreibberechtigungen für das Repository.

  4. Globale Repository-Einstellungen: Suchen Sie den n8n-Node 'Globals' (Position 200, 120). Sie müssen hier die Parameter bearbeiten:

Setzen Sie repo.owner auf Ihren GitHub-Benutzernamen oder Organisationsnamen.
Setzen Sie repo.name auf den Namen Ihres Backup-Repositorys.
Optional:* Passen Sie repo.path an, wenn Sie eine spezifische Verzeichnisstruktur für Ihre gesicherten Dateien wünschen.

  1. Zeitplan festlegen: Überprüfen und passen Sie den n8n-Node 'Schedule Trigger' an Ihre gewünschte Backup-Frequenz an. Die bestehende Einstellung läuft täglich um 17:00 Uhr UTC.

Node-Details

Schedule Trigger / Manual Trigger: Dient als primärer n8n-Auslöser für den Start des Backup-Vorgangs und ermöglicht eine zeitgesteuerte oder sofortige Ausführung.
WordPress n8n-Node (Get All WP Posts): Ruft alle Beiträge und Seiten von der WordPress-Seite mit der Operation 'getAll' ab. Diese Daten bilden die Nutzlast für den Rest des n8n-Workflows.
Execute Workflow n8n-Node: Essenziell für die Iteration durch WordPress-Beiträge. Er ruft dieselbe Workflow-ID im Modus 'each' auf und isoliert so die GitHub-Backup-Logik für jeden einzelnen Beitrag.
Set n8n-Node (Globals): Zentralisiert die Konfiguration für den GitHub-Repository-Besitzer, den Namen und die Dateipfadstruktur, was die Wartung dieser n8n-Vorlage verbessert.
GitHub n8n-Node (Get file data): Versucht, die vorhandene JSON-Backup-Datei für ein bestimmtes WordPress-Element abzurufen, wobei die ID des Elements im Dateinamen verwendet wird. Entscheidend ist, dass continueOnFail: true verwendet wird, um Fälle zu behandeln, in denen die Datei noch nicht existiert.
Code n8n-Node (isDiffOrNew): Enthält die Kernlogik der Versionskontrolle. Er übernimmt die Base64-Dekodierung der bestehenden Datei und standardisiert JSON-Objektschlüssel, bevor er einen strikten String-Vergleich durchführt, um festzustellen, ob der Inhalt 'same' (gleich), 'different' (unterschiedlich) oder 'new' (neu) ist.
Switch n8n-Node (Check Status): Leitet den Ablauf basierend auf dem vom vorherigen n8n-Node ermittelten github_status weiter und stellt so sicher, dass die korrekte GitHub-Aktion (überspringen, bearbeiten oder erstellen) ausgeführt wird.
GitHub n8n-Nodes (Create new file / Edit existing file): Führen die notwendigen Dateioperationen im GitHub-Repository durch und committen den als String formatierten WordPress-Inhalt als JSON mit einer relevanten Commit-Nachricht, die den Status des Updates anzeigt.

Ähnliche n8n-Workflows

Kostenlos

Knoten: 14 Knoten
Aktualisiert: Dezember 26 2025
Alle anzeigen
Erstellt von

Hervorgehoben*