
Mein Umzug von Pixelfed zu WordPress
Am letzten Wochenende war plötzlich mein Pixelfed-Account voll. Ein Gigabyte mit Fotos und mir wurde klar: Eine andere Lösung muss her! So bin ich jetzt von Pixelfed zu WordPress umgezogen. Und das ging so.
Ich habe mir darüber vorher wenig Gedanken gemacht: Wenn ich Bilder bei Pixelfed hochlade, müssen die dauerhaft gespeichert werden. Auf dem Server von jemandem, der den privat und kostenlos betreibt. Bei Big-Tech weiß man, dass denen der Platz nie ausgeht. Wenn das jetzt aber bei mir 1 GB geworden ist, dann heißt das, dass auf dem Server viele Gigabyte Daten von den ganzen Usern liegen. Wie lange kann das gut gehen?
Ich habe mir deswegen überlegt: Auf meinem privaten Webspace ist ein Gigabyte relativ wenig. Das merke ich da nicht einmal, seit die Nextcloud da nicht mehr liegt. Mit WordPress im Fediverse habe ich hier im Blog super Erfahrungen gemacht. Und ich hatte mir auch schon einmal überlegt und ausprobiert, wie man Instagram nachbauen könnte. Es gab also eine grobe Skizze in meinem Kopf und die Idee, dass es funktionieren könnte.
Inhalte umziehen
Nun wollte ich nicht bei null anfangen. Aber wie bekomme ich die Posts samt Medien aus Pixelfed? Nach meiner Vibe-Coding-Erfahrung neulich, habe ich gedacht, dass ich das einfach noch einmal neu ausprobiere.
Und tatsächlich hat mir Google Gemini nach einer Beschreibung meiner Anforderungen eine Reihe Dateien und eine Dateistruktur ausgeworfen, die sich auf Anhieb installieren ließ und funktionierte.
Ich habe das Plugin dann noch ein paar Mal nachbessern lassen, um den Import der Hashtags in WordPress-Schlagwörter zu präzisieren. Letztlich lief der Import dann ohne Probleme durch. Die meiste Zeit habe ich mit einer Fehlersucher verschwendet, bei der ich schlicht die falsche Pixelfed-Domain im Backend eingetragen habe. Und es war auch ein wenig kniffelig, herauszufinden, dass die Pixelfed-API Collections noch nicht unterstützt.
Das Plugin zieht also alle Posts und legt sie mit dem Originaldatum in WordPress an. Alle Medien landen in einer Galerie am Ende des Textes. Alle Hashtags werden in Schlagwörter übertragen. Im Fließtext werden die Hashtag-Symbole und die Links entfernt. Wenn am Ende eine reine Zeile mit Hashtags steht, wird die komplett entfernt.
Der Umzug der Follower
Nachdem alle Inhalte umgezogen waren und ich sicher war, dass ich das so haben möchte, konnte der Umzug starten.
- Dazu habe ich als ersten in WordPress, in meinem Benutzerprofil als Konto-Alias die URL meines Pixelfed-Accounts eingetragen. (https://pixelfed.de/users/USERNAME)
- Dann habe ich in Pixelfed, in meinem Profil, die Konto-Migration verwendet. Dort trägt man sein zukünftiges Profil ein. (@kaffeeringe)
Und schon beginnen die Follower umzuziehen. Nach und nach wuchs die Zahl der Follower. Allerdings sind von den gut 1400 nur ca. 660 übrig geblieben. Ich vermute, dass der Rest Karteileichen waren.
Umzug der Gefolgten
Leider ziehen nicht auch die Accounts, denen ich folge automatisch mit um. In den Pixelfed-Einstellungen gibt es aber einen Export für diese Accounts. Der spuckt eine JSON-Liste aus.
Es gibt aber in WordPress im ActivityPub-Plugin keinen Import dafür. Statt mir lange eine clevere automatische Möglichkeit zu überlegen, habe ich die einen nach dem anderen manuell per Copy&Paste übernommen. Das hat aber für 350 Accounts auch nur 15 Minuten gedauert.
Auch beim Import sind ein paar Accounts rausgeflogen, weil es die vermutlich nicht mehr gibt.
Den Import sollte man laufen lassen, wenn das ActivityPub-Plugin deaktiviert ist, damit nicht 1400 Meldungen ins Fediverse geschickt werden!
Ansonsten habe ich erst einmal neben Matthias Pfefferles ActivityPub-Plugin keine weiteren Plugins benötigt. Aber natürlich habe ich ein paar Favoriten, die ich immer installiere – für die Bildoptimierung, das Caching oder SEO.
Im ActivityPub-Plugin habe ich gar nichts umgestellt – nur dass ein Post die maximale Anzahl von zehn Medien mitschicken kann. Mastodon kann ja immer nur die ersten vier davon anzeigen, aber Pixelfed kann mit mehr Bildern umgehen. Ich vermute auch Friendica kann das.
Wie es aussieht
Als Theme habe ich TwentyTwentyFive benutzt. Dank des Fullsite-Editing ist es egal geworden, welche Theme man als Basis nimmt und das aktuelle, offizielle Theme von WordPress sollte einen hinreichend guten Support haben.

Der Header ist der Fedivere-Follow-Block, der mit dem ActivityPub-Plugin kommt. Das Header-Bild stellt man sich im Benutzerprofil ein. Der Avatar kommt leider nur von Gravatar. Das verstehe ich nicht ganz, denn das Plugin, mit dem ich meinen eigentlichen Avatar hochgeladen habe, ersetzt sonst überall mein Profilbild.
Unter dem Header habe ich diese Liste der Kategorien, die ich leider manuell pflegen muss.
Und dann kommt die Liste der Posts. Im Beitrags-Template-Block kann man einstellen, wie viele Spalten mit Posts man haben möchte. Ich finde, drei ist da eine gute Zahl. Da hat man ein paar Bilder nebeneinander aber nicht zu viele kleine Bilder. In der Mobilansicht sind die Posts dann ohnehin wieder untereinander.
Damit es mit den drei Spalten hinkommt, habe ich in den WordPress-Einstellungen die Anzahl von Posts auf der Startseite auf 30 erhöht. Das ist durch drei teilbar und die Liste ist lang genug, dass man nicht sofort weiterblättern muss. Mal schauen, ob ich noch einbaue, dass weitere Posts einfach nachgeladen werden.
Schau es Dir an: fotos.kaffeeringe.de
Was fehlt…
Ein Feature, das bei Pixelfed hat, das aber auch noch nicht so ganz implementiert ist, sind die Collections. Ich finde es aber ganz schön, mehrere Posts zu einer eigenen Übersicht zusammenzufassen.
Man kann in Pixelfed in der WebUI Sammlungen anlegen – es gibt aber noch keine API dafür. Keine Ahnung, warum. Ich dachte immer, man schreibt erst die API und nutzt die dann bspw. für die WebUI.
Ich habe vielleicht ein Dutzend Sammlungen in Pixelfed. Die muss ich jetzt mal nach und nach manuell übertragen. Ich habe mir dafür überlegt, dass ich die Kategorien benutze. Weil ich gerne die Standardfunktionen von WordPress benutze. Allerdings gibt es dort kein Kategorie-Bild. So dass es kein schönes Vorschaubild für die Kategorie gibt. Und es gibt in WordPress keine Seite, auf der automatisch alle Kategorien aufgelistet werden. Es gibt auch keinen Gutenberg-Block, der das so darstellen könnte, wie ich das jetzt erst einmal manuell gemacht habe:

Das ist einfach eine Zeile mit Bildern und Untertiteln, die ich manuell auf die Kategorie verlinkt habe.
Dass ich die manuell pflegen muss, finde ich noch ganz ok. Aber ich muss auch die Seite mit der Übersicht der Kategorien komplett selbst pflegen – das finde ich noch nicht so schön. Da muss ich mir noch einmal etwas Besseres überlegen.
Dann ist es so, dass in Kategorien die Posts absteigend chronologisch sortiert sind. Das finde ich aber falsch, wenn bei mir so eine Kategorie die Bilder zu einer Reise enthalten. Deswegen habe ich eine kleine Funktion in der functions.php des Themes ergänzt, das die Sortierung in Kategorien umdreht.
Featured Galleries
Eine andere Sache, die mir fehlt sind Galerien als Beitragsbild. Es wäre cool, wenn man auch eine Galerie als Featured Image einstellen könnte. Ob man dann schon in der Übersicht durch alle Bilder blättern kann oder da erst einmal nur angezeigt wird, dass es im Post mehr Fotos gibt, wäre mir egal. Instagram kann das.
Ich habe mir jetzt einfach damit beholfen, dass es ein Beitragsbild gibt und eine Galerie mir den weiteren Fotos. Im Fediverse werden die ohnehin alle zusammen angezeigt. Es geht also nur um die Anzeige auf meiner Website.
Mit einem kleinen PHP-Schnipsel in der functions.php sorge ich dafür, dass bei neuen Beiträgen das Beitragsformat automatisch auf „Gallery“ eingestellt ist. Anhand dieser Einstellung können andere Fediverse-Dienste entscheiden, wie sie den Post darstellen. Mastodon siehst also, dass bei diesem Post die Medien-Anhänge im Fokus stehen und könnte sich überlegen, den Post anders darzustellen als einen normalen Text-Post.
Die App
Die Pixelfed-App ist natürlich genau für den Zweck gemacht, Fotos mit ein wenig Text zu posten. Die WordPress-App kann dafür eine ganze Menge von dem, was dieses Redaktionssystem nun einmal kann. Das ist ein anderer Workflow. Aber diese Möglichkeiten sind auch großartig – ich kann aus meinem kleinen Foto-Stream ein Unterwegs-Blog machen. Mit Links und Zitaten und Aufzählungen. Mit komplexen Formatierungen, wenn ich will. Oder ich schreibe nur einen kurzen Kommentar zu den Bildern und haue die raus.
Was mir sehr gut daran gefällt: Ich kann Bilder auch nachträglich noch austauschen. Das ging bei Pixelfed nicht. Da konnte ich nur Bilder löschen, aber keine hinzufügen. Bei WordPress geht das.
Fediverse-Blöcke
Bei den Top 1000 größten Matthias-Pfefferle-Fans gehöre ich bestimmt zu den obersten 10. Ich finde großartig, was er mit seinem ActivityPub-Plugin leistet. Das funktioniert schon so gut und es ist so eine große Bereicherung für das Social Web und für WordPress. Aber ich verstehe seine Block-Philosophie noch nicht. Für mich kommen die Fediverse-Blöcke mit zu viel eigenem Design, das man auch nicht anpassen kann:
- Der Block, der Likes und Share anzeigt, besteht aus zwei Teilen: Dem eigentlichen Counter und einer Überschrift. Ich will aber keine Überschrift in meiner Übersicht haben. Jedes Mal, wenn ich die Startseite bearbeite, ist die Überschrift wieder da. Ich muss sie entsperren und entfernen. Und beim nächsten Mal ist sie wieder da.
- Der Folge-Block ist jetzt mein Header. Weil er in voller Pracht sehr so aussieht, wie ich mir einen Profilheader vorstelle: Titelbild, Profilbild, Profilname, Beschreibung, Post- und Followerzahl. Aber zum einen hat der Block immer runde Kanten und einen Schatten. Das passt zufällig zu meinem jetzigen Layout. Passt aber nicht immer. Und dann ist der Schatten anders als der Schatten, den man bei anderen Blöcken einstellen kann. Zum anderen fehlt der Link zur Startseite, wenn ich diesen Block als Header benutze. Ich habe mir das jetzt mit einem Render-Filter nachgerüstet. Und das Header-Bild ist viel flacher als es bei anderen Netzwerken dargestellt wird.
Ich fänd es einfach besser, wenn all diese Element als einzelne, kleine Blöcke zur Verfügung stünden, die ich dann so zusammenbasteln kann, wie ich das gerne hätte – samt aller Einstellungsmöglichkeiten, die Gutenberg-Blöcke haben.
„Social“
Nun habe ich ein Foto-Blog im Social Web. Alle können meine Fotos sehen, liken, teilen und kommentieren. Ich kann das aber nicht. Ok, ich folge mit meinem Blog auch gut 330 Accounts. Aber ActivityPub enthält bisher nur eine rudimentäre UI für den Feed und Interaktionen sind dort noch gar nicht möglich.
Mir fehlt durchaus mein Foto-Feed. Die Möglichkeit Hashtags zu folgen, zu liken, teilen oder kommentieren. Aber das ist schon grundsätzlich im Plugin angelegt, und so lange muss ich eben ohne auskommen.
Mir fehlen auch Benachrichtigungen. Man kann sich von dem ActivityPub-Plugin per Mail benachrichtigen lassen. Aber das müllt mir nur das Postfach voll. Es fehlt eine Übersicht der Benachrichtigungen wie bei Pixelfed oder Mastodon: Likes, Shares, Kommentare – irgendwo als Glöckchen-Icon mit Zahl im roten Kreis und dahinter eine Liste, wer, wann, was gemacht hat.
Das geht mit den Standardfunktionen von WordPress nur, wenn man alle Likes, Shares und Kommentare manuell freischalten will. Das halte ich aber vor allem bei den Reaktionen nicht für nötig.
Fazit
Ich bin ganz zufrieden damit, wie der Umzug funktioniert hat und dass ich jetzt komplett selbst in der Hand habe, wie ich meine Fotos präsentiere. Das wollte ich eigentlich immer schon machen. Es gab aber nie einen Anlass und dann habe ich jetzt auch gerade noch eine Woche Urlaub bei mittelmäßigem Wetter.
Ich finde so cool, dass das mit freier Software und offenen Standards alles so geht. Einfach die Daten rausziehen und etwas eigenes damit machen. Big Tech redet allen ein, dass das nicht ginge. Dabei wollen sie uns nur in ihren Silo halten, um weiter unsere Daten zu melken.
Es bleibt aber eine Baustelle, weil WordPress bisher nur das halbe Fediverse-Erlebnis liefert. Cool wäre es, wenn Matthias irgendwann Automattic überzeugen könnte, die Fediverse-Funktionen auch in die App zu integrieren. Der Editor dort ist natürlich, wie er ist. Aber genial wäre es, dort einen Social-Feed zu haben, liken, teilen und kommentieren zu können und Benachrichtigungen zu bekommen. Dieses Potenzial hat Automattic bisher offenbar nur halb erkannt.
Wenn Dir meine Fotos gefallen, folge mir einfach unter @kaffeeringe@fotos.kaffeeringe.de.
Links
- Codeberg: Pixelfed-to-Wordpress-Import-Plugin
- Mein Foto-Blog: fotos.kaffeeringe.de
