12 Min. LesezeitAktualisiert < 7 Tage

WPGraphQL vs. REST API: ehrliche Entscheidungshilfe

WPGraphQL holt exakt die Felder, die ein Frontend braucht — die REST API ist ohne Plugin da und cacht über HTTP. Welche Schnittstelle für welches Projekt trägt, ohne Dogma.

Jede Headless-WordPress-Architektur trifft früh eine Weichenstellung: Über welche Schnittstelle holt das Frontend seine Inhalte aus WordPress? Es gibt zwei ernsthafte Optionen — die in WordPress eingebaute REST API und das Plugin WPGraphQL. Die Entscheidung wirkt klein, prägt aber Datenmodell, Caching-Strategie und Wartungsaufwand über die gesamte Projektlaufzeit. Wer verstehen will, wie diese Schnittstelle ins Gesamtbild passt, findet auf der Seite was Headless WordPress technisch bedeutet die Grundlagen — dieser Beitrag setzt eine Ebene tiefer an.

Der folgende Vergleich ist bewusst nüchtern. Kein Lager-Denken, keine erfundenen Benchmarks — nur die sieben Achsen, die in der Praxis darüber entscheiden, welche Schnittstelle zu welchem Projekt passt. Am Ende steht eine Entscheidungsmatrix und ein ehrliches Fazit: In den meisten Fällen sind beide Optionen tragfähig, und die Wahl hängt am Daten-Profil, nicht an der Ideologie. Welche der beiden Schnittstellen Sie wählen, verändert übrigens nicht die Angriffsfläche einer Headless-Architektur — die hängt am abgeschotteten WordPress-Backend und der Token-Hygiene, nicht an GraphQL versus REST.

Was beide sind — Core-Schnittstelle vs. Plugin

Bevor der Vergleich Sinn ergibt, lohnt die saubere Abgrenzung der zwei Optionen. Sie unterscheiden sich nicht nur in der Abfrage-Sprache, sondern im Lieferweg.

Die WordPress-REST-API ist seit Version 4.7 (Dezember 2016) fester Bestandteil des Cores. Jede WordPress-Installation — und das sind rund 42 % aller Websites weltweit (W3Techs, Juni 2026) — stellt sie unter /wp-json/ automatisch bereit. Sie folgt dem REST-Prinzip: Jede Ressource (Beitrag, Seite, Medium) hat eine eigene URL, abgefragt per HTTP-GET. Kein Plugin, keine zusätzliche Pflege.

WPGraphQL ist ein Plugin, das eine GraphQL-Schnittstelle unter einem einzigen Endpunkt (/graphql) ergänzt. Statt vieler Ressourcen-URLs gibt es einen Endpunkt, an den das Frontend eine Abfrage schickt, die exakt beschreibt, welche Felder es braucht. Es ist mit über 30'000 aktiven Installationen die etablierte GraphQL-Lösung für WordPress (WordPress.org Plugin-Verzeichnis, Stand Juni 2026). Das Plugin hat 2024 einen wichtigen Statuswechsel erlebt: Es ist zum kanonischen Community-Plugin geworden, und sein Maintainer arbeitet seither bei Automattic (WP Tavern, Oktober 2024). Damit ist die früher berechtigte Frage nach der langfristigen Pflege weitgehend entschärft.

Vergleich auf sieben Achsen

Die folgenden Achsen decken die Dimensionen ab, die nach einigen Monaten Betrieb sichtbar werden — nicht die, die in einer Demo glänzen. Over- und Under-Fetching, Payload, Caching, Tooling, Lernkurve, Plugin-Ökosystem und Pflege.

WPGraphQL vs. WordPress-REST-API auf sieben Achsen, Stand Juni 2026
AchseWPGraphQLREST API (Core)
Over-/Under-FetchingKein Over-Fetching — Frontend fordert exakt die Felder anFeste Antwortform; oft mehr Felder als gebraucht, manchmal zu wenige
Payload-GrösseSchlank, weil nur angeforderte FelderGrösser bei breiten Standard-Antworten; per _fields reduzierbar
Verschachtelte DatenEin Request über mehrere Datentypen hinwegMehrere Requests oder Custom-Endpunkte nötig
CachingPOST-basiert, kein direktes CDN-GET-Caching; Smart Cache / persisted queries nötigGET-basiert, direkt am CDN-Rand cachebar
Tooling / DXSelbstdokumentierendes Schema, typisierte Abfragen, GraphiQL-ExplorerEtabliert, gut dokumentiert, keine Typ-Sicherheit out-of-the-box
LernkurveHöher — GraphQL-Konzepte plus Schema-VerständnisFlacher — HTTP-Grundwissen genügt
Plugin-ÖkosystemErweiterungen für ACF, Yoast, Polylang u. a.; nicht für jedes PluginBreiteste Abdeckung, viele Plugins registrieren eigene REST-Endpunkte
Quelle: offizielle WordPress- und WPGraphQL-Dokumentation, eigene Projekterfahrung 2024–2026.

Zwei Punkte verdienen Vertiefung, weil sie in der Praxis am häufigsten falsch eingeschätzt werden: der Daten-Vorteil von GraphQL und die Caching-Realität von REST.

Ist WPGraphQL wirklich schneller als REST?

Nicht pauschal — aber bei verschachtelten Daten spürbar effizienter. WPGraphQL bündelt mehrere REST-Aufrufe in einen Request und liefert nur die angeforderten Felder; mehrere unabhängige Messungen beziffern die Payload-Reduktion durch wegfallendes Over-Fetching übereinstimmend auf 30 bis 50 % — sowohl in einer vergleichenden akademischen Analyse (IJAMSR, 2025) als auch in Praxis-Benchmarks aus dem CMS-Umfeld (Contentstack, 2026). Geschwindigkeit ist hier ein Nebeneffekt von Präzision, nicht von der Technologie an sich.

Der oft genannte GraphQL-Vorteil lautet: ein Request, exakt die benötigten Felder. Das ist kein Marketing, sondern ein struktureller Unterschied — und er wirkt sich genau dort aus, wo ein Frontend viele zusammenhängende Datentypen anzeigt.

Wichtig ist, dabei zwei Probleme auseinanderzuhalten, die oft in einen Topf geworfen werden. Over-Fetching heisst: zu viele Felder pro Antwort — der Endpunkt liefert auch Daten, die die Seite gar nicht anzeigt. Zu viele Round-Trips (verwandt mit dem N+1-Problem) heisst: zu viele einzelne Requests, um eine Ansicht zusammenzubauen. GraphQL adressiert beide Achsen, aber mit unterschiedlichen Mechanismen — Feldauswahl gegen das eine, Verschachtelung in einem Aufruf gegen das andere.

Ein Beispiel macht es konkret. Eine Beitrags-Detailseite braucht den Beitragstext, den Autorennamen samt Avatar, die zugeordneten Kategorien, drei verwandte Beiträge und das Beitragsbild in zwei Auflösungen. Über die REST API bedeutet das im Standardfall mehrere Aufrufe: einen für den Beitrag, einen für den Autor, gegebenenfalls weitere für Medien und verwandte Inhalte — das ist die Round-Trip-Achse. Und jeder dieser Aufrufe liefert zusätzlich die volle Standard-Antwort des Endpunkts, also Felder, die diese Seite nie rendert — das ist die Over-Fetching-Achse. In einem datenreichen Magazin-Frontend kann eine einzige GraphQL-Abfrage so durchaus ein halbes Dutzend separater REST-Aufrufe ersetzen; das ist ein typisches Muster aus unseren Projekten, keine exakte Messung.

Über WPGraphQL beschreibt das Frontend in einer einzigen Abfrage genau diese Struktur — Beitrag mit Autor, Kategorien, verwandten Beiträgen und exakt den zwei Bildgrössen. Der Unterschied wird im Code direkt sichtbar:

# WPGraphQL: ein Request, exakt die Felder der Detailseite
query DetailSeite($slug: ID!) {
  post(id: $slug, idType: SLUG) {
    title
    content
    author { node { name avatar { url } } }
    categories { nodes { name slug } }
    featuredImage { node { sourceUrl(size: LARGE) } }
  }
}
# REST API: dieselbe Ansicht, mehrere GET-Aufrufe + Over-Fetching
GET /wp-json/wp/v2/posts?slug=mein-beitrag        # liefert ~25 Standardfelder
GET /wp-json/wp/v2/users/{author_id}              # zweiter Round-Trip
GET /wp-json/wp/v2/media/{featured_id}            # dritter Round-Trip
# (_embed bündelt einiges, _fields beschneidet die Felder — manuell pro Endpunkt)

Das kollabiert die Round-Trips auf einen einzigen Aufruf (gegen das Zuviel an Requests) und liefert nur die angeforderten Felder (gegen das Zuviel an Daten). Bei einer einfachen Inhaltsseite fällt beides kaum ins Gewicht. Bei einem Frontend mit verschachtelten, datenreichen Ansichten trägt es.

GraphQLs Vorteil ist nicht Geschwindigkeit an sich — es ist Präzision. Das Frontend bestimmt die Antwortform, nicht der Server.

Die REST API kann gegensteuern: Der Parameter _fields reduziert die Antwort auf ausgewählte Felder, und _embed zieht verknüpfte Ressourcen in eine Antwort. Damit lässt sich Over-Fetching dämpfen. Was REST aber nicht kann, ist eine beliebig tiefe, frei kombinierbare Verschachtelung über mehrere Datentypen in einem einzigen, vom Frontend definierten Aufruf. Genau das ist GraphQLs Domäne.

Warum REST beim Caching punktet

Hier dreht sich der Vorteil um. Die REST API arbeitet mit HTTP-GET — und GET-Antworten sind das natürliche Futter für jede Caching-Schicht, vom Browser über den CDN-Rand bis zum Reverse-Proxy. Eine REST-GET-Antwort lässt sich am CDN zwischenspeichern und für tausende Besucher ausliefern, ohne dass WordPress den Request je sieht. Das ist der grösste, oft unterschätzte Performance-Hebel der REST API.

WPGraphQL läuft dagegen typischerweise über HTTP-POST an einen einzigen Endpunkt. POST-Requests sind per Konvention nicht cachebar — jede Anfrage erreicht den Server. Das heisst nicht, dass GraphQL nicht cachebar wäre, aber das Caching verlagert sich auf eine andere Ebene und kostet zusätzliche Bausteine:

  • Persisted Queries — die Abfrage wird als ID gespeichert und kann dann auch per GET aufgerufen und damit gecacht werden.
  • WPGraphQL Smart Cache — ein offizielles Cache-Plugin, das GraphQL-Antworten serverseitig zwischenspeichert und gezielt invalidiert.
  • Statisches Rendering im Frontend — bei Next.js oder vergleichbaren Frameworks werden Seiten zur Build-Zeit oder inkrementell generiert, sodass GraphQL-Aufrufe gar nicht zur Laufzeit jedes Besuchs anfallen. Welche Hosting-Strategie dazu passt, ordnet der Beitrag zu Headless-WordPress-Hosting 2026 ein.

In der Praxis ist diese letzte Variante der Normalfall: In einer sauberen Headless-Architektur fragt nicht der Besucher live WordPress ab, sondern das Frontend-Framework holt die Daten beim Build oder bei Revalidierung. Dann verliert die POST-vs-GET-Debatte viel von ihrer Schärfe — relevant bleibt sie für stark dynamische Bereiche, die wirklich pro Request frische Daten brauchen.

Mehrsprachigkeit de/fr/it — der Schweizer Sonderfall

In Schweizer Projekten ist Mehrsprachigkeit kein Randthema, sondern der Regelfall: Eine Site liefert dieselben Inhalte oft auf Deutsch, Französisch und Italienisch aus. Genau hier zeigt sich ein praktischer Unterschied zwischen den beiden Schnittstellen. Dieser Abschnitt bleibt bewusst bei der API-Mechanik — wie hreflang, Sprach-Routing und die Gesamtstrategie für eine mehrsprachige Headless-WordPress-Site in der Schweiz zusammenspielen, behandelt der eigene Beitrag dazu in der Tiefe.

Bei der nativen REST API ist die Sprachlogik nicht eingebaut — sie hängt am Übersetzungs-Plugin und dessen Endpunkten. Polylang etwa filtert die WP-Query standardmässig auf die aktuelle Sprache, was über die API zu sprachgebundenen Aufrufen oder Custom-Endpunkten führt. Für WPGraphQL gibt es dagegen gepflegte Erweiterungen, die das Schema um Sprachdaten ergänzen: Die Polylang-Erweiterung hängt die Sprachinformation an jeden Inhaltstyp und erlaubt das Filtern per language-Argument; WPML GraphQL liefert Übersetzungen für Beiträge, Taxonomien und Optionen und gibt zu jedem Inhalt die Sprachinformation zurück.

Der praktische Gewinn: Ein Sprachumschalter, der für denselben Beitrag die fr- und it-Variante samt übersetzter Slugs auflöst, lässt sich über WPGraphQL als eine verschachtelte Abfrage formulieren. Über REST sind dafür meist mehrere sprachgebundene Aufrufe nötig. Eine Einschränkung bleibt ehrlicherweise bestehen: Die WPML-Erweiterung liefert pro Abfrage Inhalte nur in einer Sprache — mehrere Sprachen in einem Request erfordern den dokumentierten Workaround mehrerer Teilabfragen (WPML GraphQL).

Eine zweite, oft übersehene Schweizer Dimension liegt nicht in der API, sondern dahinter: Wo liegen die Daten? Die Schnittstellen-Wahl ändert nichts an der Datenresidenz — beide greifen auf dieselbe WordPress-Datenbank zu. Wenn Datenschutz oder Kundenvorgaben einen Backend-Standort in der Schweiz oder der EU verlangen, ist das eine Hosting-Frage des WordPress-Backends, unabhängig davon, ob das Frontend per GraphQL oder REST anfragt. Die Schnittstellen-Entscheidung lässt sich also losgelöst von der Datenresidenz treffen — beides sind getrennte Stellschrauben.

Wann WPGraphQL statt REST — die Matrix

Kurzregel: WPGraphQL, sobald das Frontend mehrere Datentypen verschachtelt oder ein eigenes ACF-Datenmodell anzeigt; REST, sobald Einfachheit und HTTP-Caching wichtiger sind als Abfrage-Präzision. Die folgende Matrix legt die sieben Achsen auf konkrete Projekt-Profile — sie ersetzt kein Architektur-Review, gibt aber eine belastbare Vorab-Einordnung.

Projekt-ProfilEmpfehlungWarum
Datenreiches Frontend, viele verschachtelte Typen, eigenes Datenmodell mit ACFWPGraphQLEin Request statt vieler, präzise Felder, kein Over-Fetching
Einfache Marketing-Site, wenige Seitentypen, statisch gerendertREST APIIm Core eingebaut, kein Plugin zu pflegen, GET-cachebar
Stark dynamische Bereiche mit Live-Daten pro RequestREST APIDirektes CDN-GET-Caching ohne Zusatz-Bausteine
Stack mit typisierten Abfragen, Schema-getriebene DX wichtigWPGraphQLSelbstdokumentierendes Schema, GraphiQL, Typ-Generierung
Abhängigkeit von nischigen Plugin-Endpunkten ohne GraphQL-ErweiterungREST APIBreiteste Plugin-Abdeckung, viele eigene REST-Endpunkte
Mehrsprachige Site mit Polylang/WPML und tiefer InhaltsstrukturWPGraphQLSprachfilter und Verschachtelung in einer Abfrage

Wer die Profile auf das eigene Vorhaben legt, landet meist bei einer eindeutigen Spalte — und in den Grenzfällen, in denen zwei Profile zutreffen, gibt die Caching-Achse den Ausschlag. Beide Wege führen ohnehin zu einer schnellen, gut zu wartenden Site — die Vorteile einer Headless-Architektur hängen nicht an dieser einen Wahl.

Das ehrliche Fazit — kein Dogma

Wer in Foren liest, gewinnt manchmal den Eindruck, die Schnittstellen-Wahl sei eine Glaubensfrage. Das ist sie nicht. Beide Optionen sind ausgereift, beide werden gepflegt, beide tragen über Jahre.

WPGraphQL hat mit dem Statuswechsel zum kanonischen Plugin und dem Wechsel des Maintainers zu Automattic (WP Tavern, Oktober 2024) seine grösste historische Schwäche — die Frage nach der langfristigen Pflege — weitgehend abgelegt. Maintainer Jason Bahl ordnete den Schritt selbst so ein: «WPGraphQL has always been and will continue to be free open-source software» (WP Tavern, Oktober 2024). Ganz ohne Wartungsrisiko ist auch ein kanonisches Plugin aber nicht: Erweiterungen für nischige Plugins hinken Updates mitunter hinterher, und grössere Versionssprünge können das Schema brechen — der Wechsel auf WPGraphQL v2.0 etwa brachte dokumentierte Breaking Changes, die Frontend-Builds bis zur Anpassung stillstehen lassen können (WPGraphQL, Dezember 2024). Das ist beherrschbar — Staging-Tests vor jedem Update —, gehört zur ehrlichen Bilanz aber dazu. Die REST API wiederum ist Core und verschwindet nicht; sie ist die sichere Wahl, wann immer Einfachheit und HTTP-Caching wichtiger sind als Abfrage-Präzision.

In der Praxis schliessen sich beide nicht aus. Eine pragmatische Architektur bezieht den Grossteil der Inhalte über die Schnittstelle, die zum Daten-Profil passt, und nutzt für einzelne Plugin-Endpunkte oder Webhooks die jeweils andere. Wichtiger als die Schnittstellen-Wahl ist die saubere Modellierung der Daten dahinter — ein Punkt, der bei Migrationen regelmässig unterschätzt wird, wie die Stolperfallen bei der Headless-Migration zeigen.

Unsere Tendenz aus eigenen Projekten: Sobald ein Frontend mehrere Datentypen verschachtelt anzeigt oder ein eigenes Datenmodell mit ACF fährt, greifen wir zu WPGraphQL — der Präzisions-Gewinn rechtfertigt das zusätzliche Plugin. Bei schlanken, statisch gerenderten Marketing-Sites mit wenigen Seitentypen bleibt die REST API oft die ruhigere Wahl. Dogma steckt in keiner der beiden Richtungen.

Nächster Schritt

Welche Schnittstelle zu Ihrem Projekt passt, entscheidet sich am Daten-Profil — und das lässt sich in einem kurzen Gespräch sauber einordnen. Wenn Sie eine Headless-Architektur planen oder ein bestehendes Setup hinterfragen, vereinbaren wir gerne ein Erstgespräch — 15 Minuten, kostenlos. In dieser Zeit klären wir Datenmodell, Frontend-Anforderungen und die passende Schnittstellen-Strategie.

Wer zuerst die grössere Architektur-Linie verstehen will, findet auf der Themenseite zu Headless WordPress die Einordnung, wie API-Layer, Backend und Frontend zusammenspielen — und wann sich der Aufwand wirtschaftlich lohnt.

Häufige Fragen

Häufige Fragen zum Thema WPGraphQL.

Ist WPGraphQL schneller als die REST API?
Nicht pauschal. WPGraphQL reduziert die Anzahl der Requests und die Payload-Grösse, weil ein einziger Aufruf exakt die benötigten Felder liefert — das hilft bei verschachtelten Daten. Die REST API ist dafür über HTTP-GET cachebar, was wiederholte Aufrufe ohne erneuten Server-Treffer beantwortet. Welche Schnittstelle schneller ist, hängt vom Zugriffsmuster ab, nicht von der Technologie allein.
Braucht WPGraphQL ein Plugin, die REST API nicht?
Ja. Die WordPress-REST-API ist seit Version 4.7 fester Bestandteil des Cores und ohne Installation verfügbar. WPGraphQL ist ein Plugin, das installiert und gepflegt werden muss. Seit 2024 ist WPGraphQL als kanonisches Community-Plugin etabliert und der Maintainer arbeitet bei Automattic — die Pflege-Frage ist damit stabiler als früher.
Wie cacht man GraphQL, wenn es über POST läuft?
GraphQL-Requests laufen typischerweise über HTTP-POST und sind dadurch nicht direkt über CDN-GET-Caching abdeckbar. In der Praxis cacht man auf Anwendungsebene: persisted queries, ein Cache-Plugin wie WPGraphQL Smart Cache oder das statische Rendering im Frontend-Framework. REST-GET-Antworten lassen sich dagegen direkt am CDN-Rand cachen — das ist der strukturelle Caching-Vorteil von REST.
Welche Schnittstelle unterstützen WordPress-Plugins besser?
Die REST API hat die breitere Plugin-Abdeckung, weil viele Plugins eigene REST-Endpunkte registrieren. Für WPGraphQL gibt es Erweiterungen zu populären Plugins wie ACF, Yoast oder Polylang, aber nicht für jedes Plugin. Wer auf nischige Plugin-Daten angewiesen ist, sollte vor dem Architekturentscheid prüfen, ob eine WPGraphQL-Erweiterung existiert.
Kann man WPGraphQL und die REST API parallel betreiben?
Ja, und das ist häufig sinnvoll. Das Frontend kann den Grossteil der Inhalte über WPGraphQL beziehen und für einzelne Plugin-Endpunkte oder Webhooks die REST API nutzen. Beide Schnittstellen greifen auf dieselbe Datenbank zu und schliessen sich technisch nicht aus.
Erstgespräch

15 Minuten zur Einordnung. Am Ende wissen Sie, ob sich Headless für Sie lohnt — oder nicht.

Im Erstgespräch klären wir, ob Headless WordPress für Ihr Vorhaben der richtige Weg ist. Ergebnis: eine schriftliche Einordnung, die Sie intern weitergeben können.

Lieber direkt einen Termin? Slot wählen

Antwort innerhalb eines Werktags · Vertraulich behandelt · Keine Newsletter-Anmeldung

Weiterlesen