Wie nischig ist Headless WordPress?

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich frage mich, wo sich Headless WordPress positionieren wird. Und mit "Headless" meine ich nur die Nutzung des WordPress-Adminbereichs und die Erstellung der benutzerorientierten Website über die WordPress REST API anstelle der traditionellen WordPress-Theme-Struktur.

Ist es... groß? Die Zukunft von WordPress? Oder relativ nischig?

Wo ist die Nachfrage?

Sicher gibt es Nachfrage danach. Ich kenne viele Leute, die das tun. Zum Beispiel gibt es für Gatsby ein gatsby-source-wordpress Plugin, mit dem man Inhalte von einer WordPress-Website beziehen kann, indem man die WordPress REST API nutzt und sie als GraphQL für die Verwendung in einer React-basierten Gatsby-Website zwischenspeichert. Es wurde diesen Monat 59.000 Mal heruntergeladen und insgesamt 851.000 Mal, während ich das schreibe. Das ist eine ordentliche Nutzung für *eine* bestimmte Webtechnologie. Buchstäblich *jede* Verwendung von gatsby-source-wordpress nutzt WordPress headless – das ist einfach, was es ist/tut. Wenn Sie daran interessiert sind, hier vertieft Ganesh Dahal in das Thema.

Und das ist nur eine Sache, hier sind noch nicht einmal ganze Unternehmen und Produkte berücksichtigt, die sich dieser Idee verschrieben haben.

Was ist Headless eine Verbesserung *für*?

Die Gatsby-Integration liefert ein solides Argument dafür, *warum* man eine headless WordPress-Website in Betracht ziehen sollte. Dazu komme ich noch.

Viele befürworten es aus *architektonischen* Gründen. Es entkoppelt das Backend vom Frontend. Es reißt den Monolithen nieder. Als entkoppeltes System können Backend und Frontend unabhängig voneinander weiterentwickelt werden. Dennoch bin ich dieser Idee mit den Jahren weniger zugeneigt. Zum Beispiel würde ich argumentieren, dass die Chancen, WordPress einfach auszutauschen und durch ein anderes CMS in einem solchen headless Setup zu ersetzen, leichter gesagt als getan sind. Auch die Idee, die WordPress API nicht nur für eine Website, sondern auch für eine native Lese-App und vielleicht für eine digitale, internetverbundene Autobahnwerbetafel zu nutzen, ist nach meiner Einschätzung keine explodierende Anwendungsfall-Popularität.

Der wirkliche Grund, warum Leute meiner Meinung nach ein WordPress-Backend für ein Gatsby-gesteuertes Frontend wählen, ist im Grunde dieser: Sie mögen React. Sie bauen gerne Dinge aus Komponenten. Sie mögen die schnellen Seitenübergänge. Sie mögen es, Dinge auf einem Jamstack-kompatiblen Server zu hosten, mit all den schönen Entwickler-Vorschauen und so weiter. Sie mögen das Hot Module Reloading. Sie mögen Prettier und JSX. Sie mögen es einfach, und ich mache ihnen keinen Vorwurf. Wenn man eine solche Entwicklererfahrung genießt, ist es nicht gerade verlockend, zurück zum Authoring von PHP-Vorlagen zu gehen, bei denen man den Browser manuell aktualisieren muss und eine Art selbstgesteuerten Build-Prozess unterhält.

Frontity ist ein weiteres Produkt, das sich auf React + WordPress konzentriert. Geoff und Sarah haben letztes Jahr auf der Vue/Nuxt-Seite beschrieben, wie man all dies macht.

Aber wird Headless WordPress *populärer* werden als das traditionelle Theming-Modell von WordPress, das auf PHP-Vorlagen basiert, die einer expliziten Struktur folgen? Nein. Nun, vielleicht würde es das, wenn WordPress selbst die Idee fördert und Anleitungen, Schulungen und Dokumentationen anbietet, die es Entwicklern erleichtern, diesen Ansatz zu übernehmen. Ich würde mich dafür einsetzen, wenn WordPress sagen würde, dass eine headless Architektur der neue Kurs ist. Aber nichts davon ist wahr. Folglich ist es bis zu einem gewissen Grad eine Nischensache.

Wie nischig ist headless?

WP Engine ist ein großer WordPress-Hoster und hat ein ganzes System namens Atlas. Und diese Anstrengung sieht definitiv so aus, als würden sie diesen Nischenmarkt ernst nehmen. Ich bin mir nicht 100% sicher, was Atlas alles ist, aber es sieht aus wie ein Dashboard zum Erstellen von Websites mit interessant aussehendem Code-als-Konfiguration. Eines der Elefanten im Raum bei Headless WordPress ist, dass man nun *zwei* Websites verwalten muss. Man hat dort, wo man WordPress hostet und betreibt, und dort, wo man die Website hostet und betreibt, die die WordPress-APIs nutzt. Vielleicht bringt das diese beiden Dinge irgendwie zusammen. Das Bereitstellen von Git-Commits ist ansprechend und das, was ich heutzutage als Grundvoraussetzung für modernes Hosting betrachte.

Ein weiterer Grund, warum Leute an Headless WordPress interessiert sind, ist, dass das Endergebnis statisch sein kann, d. h. vorab generierte HTML-Seiten. Das bedeutet, dass der Server für Ihre Website stark durch CDNs abgedeckt werden kann, da es sich buchstäblich nur um statische Assets handelt, die sofort zum Download bereitstehen. Es gibt kein PHP oder eine Datenbank für serverseitiges Rendering, was langsam sein kann (und, um fair zu sein, behoben werden kann), da es einen Prozess vor dem Rendering hinzufügt.

Was ist „der WordPress-Weg“, um headless zu gehen?

Ich würde jeden Dienst, der eine statische Version Ihrer WordPress-Website erstellt, zum Headless-WordPress-Bereich zählen. Das liegt daran, dass diese Websites letztendlich WordPress-APIs verwenden, um diese statischen Dateien zu erstellen, genau wie Gatsby oder was auch immer sonst tun würde.

Das ist es, was Strattic tut. Sie stellen Ihnen eine WordPress-Website zur Verfügung, die sie als Staging betrachten. Sie erledigen Ihre WordPress-Arbeit dort und nutzen dann ihr Veröffentlichungssystem, um eine statische Version Ihrer Website in die Produktion zu verschieben. Das ist überzeugend, weil es etwas löst, was andere Headless-WordPress-Anwendungen nicht tun: *Dinge einfach auf die WordPress-Art zu erledigen*.

Zum Beispiel können benutzerdefinierte WordPress-Blöcke oder Plugins eine Ausgabe erzeugen, die nicht nur benutzerdefinierten HTML-Code, sondern auch CSS und JavaScript enthält. Stellen Sie sich einen „Karussell“-Block oder ein Plugin vor. Dieses Karussell funktioniert nicht, wenn Sie nur den Beitragstext aus einer API abrufen und auf eine Seite kopieren. Sie müssten entweder das CSS und JavaScript von woanders extrahieren und einbinden oder irgendwie wissen, dass dies nicht mehr die Art ist, wie man Dinge tut. Sie könnten die Bilder als Metadaten anhängen, sie clientseitig abrufen und Ihre eigene Implementierung eines Karussells vornehmen. Mit Strattic würde es theoretisch funktionieren, da HTML, CSS und JavaScript auf der statischen Website vorhanden sind. Aber bemerkenswerterweise haben Sie *kein* PHP, daher musste Strattic Formularintegrationen von Hand erstellen, sie verwenden clientseitiges Algolia für die Suche, Disqus für Kommentare usw., da keine serverseitige Sprache verfügbar ist.

Shifter ist ein weiterer Akteur in diesem Bereich. Es ähnelt Strattic, wo Sie in der WordPress-Administration an Ihrer Website arbeiten und dann eine statische Website veröffentlichen. Ich glaube, Shifter fährt Ihre WordPress-Website sogar herunter, wenn sie nicht in Gebrauch ist, was Sinn macht, da die Ausgabe statisch ist und es keinen Grund gibt, einen Server mit PHP und MySQL laufen zu lassen. Alternativ bietet Shifter ein reines Headless-WordPress-Setup, das vermutlich immer läuft, um externe API-Nutzung zu ermöglichen.

Es macht Spaß, über all das nachzudenken

Aber während ich darüber nachdenke, stelle ich fest, dass die Ideen und Diskussionen rund um Headless WordPress hauptsächlich auf den Entwickler ausgerichtet sind. WordPress hat diesen riesigen Markt von Leuten, die einfach keine Entwickler sind. Dennoch verwalten sie eine WordPress-Website und nutzen das Plugin- und Theme-Ökosystem. Das ist ziemlich cool, und es ist beeindruckend, dass WordPress beide Märkte so gut bedient. Es gibt einfach eine Menge mehr WordPress-Website-Besitzer, die keine Entwickler sind, als die, die es sind, vermute ich, daher allein wird Headless WordPress noch eine Weile nichts weiter als ein relativ nischiges Konzept bleiben. Aber, wissen Sie, wenn sie GraphQL in den Kern einbauen wollen, nehme ich es trotzdem gerne, danke.