WP Manifestindependent plugin directory
manifest / social / instagram-to-wordpress-blog-sync

Instagram Blog Sync releases

WordPress-Plugin: Instagram-Beiträge als echte Blogbeiträge importieren und automatisch synchron halten

by Freiwillige Feuerwehr Vögelsen · github.com/itsdedsec00/instagram-to-wordpress-blog-sync · website

0stars
0forks

Install

The author publishes release zips, so WP-CLI can install straight from GitHub:

wp plugin install https://github.com/itsdedsec00/instagram-to-wordpress-blog-sync/releases/download/v1.5.0/instagram-blog-sync.zip

Instagram Blog Sync für WordPress

Importiert Instagram-Beiträge automatisch als echte WordPress-Blogbeiträge – mit Titel, Text, Bildern in der eigenen Mediathek und korrektem Datum. Kein eingebettetes Kachel-Raster, sondern richtige Artikel im Design der eigenen Website, die automatisch aktuell bleiben.

Entstanden für die Website der Freiwilligen Feuerwehr Vögelsen, aber für jedes Instagram-Konto nutzbar.

Warum dieses Plugin?

Die üblichen Instagram-Feed-Plugins betten ein Raster mit Instagram-Inhalten ein. Das hat Nachteile: Die Beiträge sind keine echten Inhalte der Website (keine Kategorien, keine Suche, kein Archiv), das Layout passt nicht zum Theme, und die Bilder werden von Instagram-Servern geladen (Datenschutz, Abhängigkeit).

Dieses Plugin geht den anderen Weg: Jeder Instagram-Post wird ein normaler WordPress-Beitrag. Die Bilder liegen auf dem eigenen Server, die Beiträge erscheinen überall dort, wo das Theme Beiträge anzeigt, und bleiben auch dann erhalten, wenn Instagram nicht erreichbar ist.

Funktionen

  • Automatischer Import neuer Instagram-Beiträge als WordPress-Beiträge (Intervall einstellbar: 15 Minuten bis täglich)
  • Medien in der Mediathek: Bilder (und optional Videos) werden heruntergeladen; mehrere Bilder werden zur Galerie, das erste Bild wird Beitragsbild
  • Titel aus der Caption: erste Zeile der Bildunterschrift wird Beitragstitel, das Beitragsdatum entspricht dem Instagram-Datum
  • Sauberer Textauszug (Excerpt) ohne Bilder und Hashtag-Zeilen – für Kachel- und Archivansichten
  • Kategorie-Regeln: Stichwort im Instagram-Text → Kategorie (z. B. +++Einsatz => Einsätze), mehrere Treffer ergeben mehrere Kategorien, fehlende Kategorien werden automatisch angelegt
  • Reels-Filter: Reels/Videos werden auf Wunsch nicht importiert; bereits importierte Reels werden automatisch in den Papierkorb verschoben
  • Synchronisation statt Einmal-Import: geänderte Bildunterschriften aktualisieren den Beitrag, auf Instagram gelöschte Beiträge wandern (einstellbar) in den Papierkorb
  • Token-Verwaltung: Der Zugriffsschlüssel wird automatisch verlängert und läuft nicht ab (Details unten)
  • Hashtags als Schlagwörter, Link zum Original-Beitrag, Status neuer Beiträge wählbar (sofort veröffentlichen / Entwurf / zur Freigabe)
  • Protokoll der letzten Sync-Läufe direkt auf der Einstellungsseite
  • Rückstandsfrei: Beim Löschen des Plugins bleiben alle importierten Beiträge und Bilder als normale Inhalte erhalten

Voraussetzungen

  • WordPress ≥ 5.8, PHP ≥ 7.4
  • Ein Instagram-Konto vom Typ Business oder Creator („professionelles Konto“ – kostenlos umstellbar in der Instagram-App unter Einstellungen → Kontoart und Tools)
  • Ein kostenloses Meta-Entwicklerkonto für den Zugriffsschlüssel (Anleitung unten)

Installation

  1. Die aktuelle instagram-blog-sync.zip aus den Releases herunterladen
  2. WordPress-Admin → Plugins → Installieren → Plugin hochladen → ZIP auswählen → aktivieren
  3. Einrichtung unter Einstellungen → Instagram Blog Sync (siehe ANLEITUNG.md für die Schritt-für-Schritt-Einrichtung)

Der Zugriffsschlüssel (Access Token) im Detail

Das Plugin braucht einen Zugriffsschlüssel, um die Beiträge eures Kontos abrufen zu dürfen. Diesen Abschnitt einmal in Ruhe durchgehen – dann ist der Rest in 10 Minuten erledigt.

Was für ein Token ist das?

Ein langlebiger Nutzer-Zugriffsschlüssel der Instagram-API mit Instagram-Anmeldung („Instagram API with Instagram Login“). Er gehört zu eurem Instagram-Konto, ist 60 Tage gültig und erlaubt nur Lesezugriff auf Profil und veröffentlichte Beiträge (Berechtigung instagram_business_basic). Das Plugin ruft ausschließlich drei Lese-Endpunkte auf:

Endpunkt Zweck
/me Verbindungstest, Anzeige des Kontonamens
/me/media Liste der Beiträge (Text, Bild-URLs, Datum, …)
/refresh_access_token Automatische Verlängerung des Tokens

Es wird nichts auf Instagram verändert, gepostet oder gelöscht.

Schritt für Schritt zum Token

1. Entwicklerkonto anlegen. developers.facebook.com öffnen und mit einem Facebook-Konto anmelden. Beim ersten Besuch führt ein kurzer Dialog durch die Registrierung als Entwickler (E-Mail/Telefon bestätigen). Welches Facebook-Konto ihr nehmt, ist egal – es muss nicht mit dem Instagram-Konto verbunden sein; es dient nur als Zugang zum Entwicklerportal.

2. App erstellen. Oben rechts Meine Apps → App erstellen. Im Schritt „Anwendungsfälle“ genau einen auswählen:

„Messaging und Content auf Instagram verwalten“ (Instagram-Logo)

Alle anderen (Threads, Live Video, oEmbed, Pages) werden nicht benötigt. Als App-Typ Business wählen, App-Name frei vergeben (z. B. „Meine Website“). Die Frage nach einem Business-Portfolio kann übersprungen werden.

3. Instagram-Konto als Tester eintragen. (Wichtigster Schritt – wird er übersprungen, erscheint später der Fehler „Entwickler-Rolle nicht ausreichend“.) Solange die App im Entwicklungsmodus ist, dürfen nur ausdrücklich eingetragene Konten sie nutzen:

  • In der App links im Menü: App-Rollen → Rollen → Personen hinzufügen
  • Rolle „Instagram-Tester“ wählen und den Instagram-Benutzernamen eures Kontos eingeben → Einladung senden
  • Die Einladung annehmen: Auf instagram.com mit dem Konto anmelden → Einstellungen → Apps und Websites → Tester-Einladungen → annehmen

4. Konto verbinden und Token generieren.

  • In der App links: Instagram → API-Einrichtung mit Instagram-Anmeldung
  • Bei „Zugriffsschlüssel generieren“ auf „Konto hinzufügen“ klicken und sich mit dem Instagram-Konto anmelden. Darauf achten, dass im Browser das richtige Instagram-Konto eingeloggt ist (nicht ein privates Zweitkonto)
  • Danach neben dem Konto auf „Token generieren“ klicken, bestätigen und den langen Zeichencode kopieren

5. Token im Plugin hinterlegen. WordPress → Einstellungen → Instagram Blog Sync → Token einfügen → speichern. Es sollte „Verbunden mit @euerkonto“ erscheinen. Damit ist die Verbindung fertig.

Muss die App veröffentlicht werden?

Nein. Die App kann dauerhaft im Entwicklungsmodus bleiben. Eine App-Überprüfung („App Review“) durch Meta ist nur nötig, wenn fremde Konten die App nutzen sollen – für das eigene, als Tester eingetragene Konto funktioniert der Token auch so.

Gültigkeit und automatische Verlängerung

  • Der generierte Token ist 60 Tage gültig.
  • Das Plugin verlängert ihn automatisch: Ein täglicher Prüflauf erneuert den Token, sobald er älter als 30 Tage ist – die Gültigkeit beginnt dann wieder bei 60 Tagen. Solange die Website läuft, muss man sich um nichts kümmern.
  • Voraussetzung ist, dass WordPress-Cron läuft. WordPress stößt geplante Aufgaben bei Seitenaufrufen an; bei normalem Besucheraufkommen reicht das. Bei sehr wenig Traffic kann der Hoster einen echten Cronjob auf wp-cron.php einrichten.

Wann wird ein Token trotzdem ungültig? Wenn das Instagram-Passwort geändert wird, das Konto aus Sicherheitsgründen abgemeldet wird, die Tester-Verbindung zur App getrennt wird – oder wenn der Token 60 Tage lang nicht verlängert werden konnte (z. B. Website lange offline). Dann einfach im Entwicklerportal einen neuen Token generieren (Schritt 4) und im Plugin ersetzen.

Sicherheit

Der Token gewährt Lesezugriff auf das Instagram-Konto. Deshalb:

  • Token niemals veröffentlichen – nicht in Git committen, nicht in Screenshots zeigen, nicht weitergeben
  • Das Plugin speichert ihn ausschließlich in der WordPress-Datenbank (wp_options); übertragen wird er nur an graph.instagram.com (HTTPS)
  • Bei Verdacht auf Missbrauch: im Entwicklerportal das Konto von der App trennen bzw. das Instagram-Passwort ändern – damit wird der Token ungültig

Einstellungen im Überblick

Einstellung Beschreibung
Zugriffsschlüssel Der langlebige Token (siehe oben); wird automatisch verlängert
Status neuer Beiträge Sofort veröffentlichen, Entwurf oder zur Freigabe vorlegen
Standard-Kategorie Gilt, wenn keine Kategorie-Regel zutrifft
Kategorie-Regeln Eine pro Zeile: Stichwort => Kategoriename (Groß-/Kleinschreibung egal)
Autor WordPress-Benutzer, dem die Beiträge zugeordnet werden
Automatischer Abgleich Alle 15 Minuten bis täglich; prüft die neuesten Beiträge
Beiträge pro Abgleich Wie viele der neuesten Beiträge je Lauf geprüft werden
Reels/Videos nicht importieren Überspringt Reels; räumt bereits importierte Reels in den Papierkorb
Bilder im Beitragstext Galerie/Bild zusätzlich zum Beitragsbild einbetten (erstes Bild optional überspringen)
Videos herunterladen Videos in die Mediathek laden und einbetten statt nur zu verlinken
Hashtags als Schlagwörter #hashtags werden WordPress-Schlagwörter
Täglicher Vollabgleich Geht einmal täglich alle Beiträge durch (erkennt Löschungen und alte Änderungen)
Verhalten bei Löschung Papierkorb, Entwurf oder nichts tun

Funktionsweise (Technik)

  • Der reguläre Sync ruft die neuesten n Beiträge ab und vergleicht sie anhand eines Änderungs-Hashes (Caption + Medienliste + relevante Einstellungen) mit den vorhandenen Beiträgen – nur bei Änderungen wird geschrieben.
  • Der Vollabgleich (Button oder täglich) durchläuft alle Beiträge, erkennt Löschungen und baut Beiträge nach Options-Änderungen neu auf. Bereits geladene Medien werden dabei wiederverwendet, nicht erneut heruntergeladen.
  • Medien werden per Sideload in die Mediathek übernommen und dem Beitrag zugeordnet; Galerien nutzen den [gallery]-Shortcode und funktionieren damit in praktisch jedem Theme.
  • Manuell in den Papierkorb verschobene Beiträge werden nicht erneut angelegt.

Fehlerbehebung

Meldung / Problem Ursache & Lösung
„Entwickler-Rolle nicht ausreichend“ beim Token-Generieren Das Instagram-Konto ist nicht als Instagram-Tester eingetragen oder die Einladung wurde nicht angenommen (siehe Token-Anleitung, Schritt 3). Außerdem prüfen, ob im Browser das richtige Instagram-Konto eingeloggt ist.
„Verbindungstest fehlgeschlagen: Invalid OAuth access token“ Token unvollständig kopiert oder falscher Token-Typ. Token erneut über Instagram → API-Einrichtung mit Instagram-Anmeldung generieren (nicht über den Graph-API-Explorer).
„Session has expired“ / Token abgelaufen Neuen Token generieren und im Plugin ersetzen. Passiert z. B. nach Passwortänderung oder wenn die Website länger als 60 Tage offline war.
Sync legt keine Beiträge an Verbindungstest ausführen; Protokoll auf der Einstellungsseite prüfen; ggf. Reels-Filter beachten (reine Video-Beiträge werden übersprungen).
Automatik läuft nicht WP-Cron braucht Seitenaufrufe. Bei wenig Traffic beim Hoster einen Cronjob auf wp-cron.php einrichten (z. B. alle 15 Minuten).
Bilder fehlen einzeln Instagram-CDN-Links laufen ab; das Plugin versucht es beim nächsten Lauf automatisch erneut (siehe Protokoll).

Datenschutz

Das Plugin bindet keine Instagram-Ressourcen im Frontend ein – Besucher der Website haben keinerlei Verbindung zu Meta-Servern. Alle Abrufe passieren serverseitig (WordPress → graph.instagram.com), die Medien liegen anschließend in der eigenen Mediathek.

Lizenz & Hinweise

  • Lizenz: GPL-2.0-or-later (siehe LICENSE)
  • Dieses Plugin ist ein inoffizielles Community-Projekt und steht in keiner Verbindung zu Meta Platforms, Inc. „Instagram“ ist eine Marke von Meta.
  • Nutzung auf eigene Verantwortung; API-Oberflächen im Meta-Entwicklerportal ändern sich gelegentlich – die Menüpunkte können daher leicht anders heißen.

Releases

2 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.5.0 latest
Aug 16, 2026 25d ago
instagram-blog-sync.zip
0
Aug 16, 2026 25d ago
instagram-blog-sync.zip
0