Technik
WordPress REST API: wp-json verständlich erklärt
Was steckt hinter dem /wp-json-Endpunkt? Dieser Ratgeber erklärt, wie die WordPress REST API funktioniert, welche Daten sie preisgibt und wie Entwickler sie sinnvoll einsetzen.
Inhalt
Was ist die WordPress REST API?
WordPress liefert seit Version 4.4 eine eingebaute REST API mit. Über den Pfad /wp-json/wp/v2/ stellt jede WordPress-Installation eine Programmierschnittstelle bereit, die strukturierte Daten im JSON-Format zurückgibt. Damit lassen sich Inhalte aus WordPress in externe Anwendungen einbinden, ohne direkt auf die Datenbank zuzugreifen.
Der Grundgedanke dahinter ist die Trennung von Backend und Frontend. Ein React-Frontend, eine mobile App oder ein anderes CMS kann Beiträge, Seiten oder benutzerdefinierte Inhaltstypen über HTTP abrufen. WordPress übernimmt dabei ausschließlich die Datenverwaltung.
Wie ist der wp-json-Endpunkt aufgebaut?
Die Basis-URL lautet bei jeder Standard-Installation https://example.com/wp-json/. Dahinter folgt der Namespace und die Ressource. Einige wichtige Beispielpfade:
/wp-json/wp/v2/postsgibt alle veröffentlichten Beiträge zurück/wp-json/wp/v2/pageslistet alle Seiten auf/wp-json/wp/v2/userszeigt Autorenprofile/wp-json/wp/v2/mediaenthält hochgeladene Mediendateien
Jeder dieser Endpunkte unterstützt URL-Parameter zur Filterung. Mit ?per_page=5&status=publish lassen sich beispielsweise die fünf neuesten veröffentlichten Beiträge abrufen. Plugins können eigene Namespaces registrieren, zum Beispiel /wp-json/woocommerce/v3/ für den WooCommerce-Shop.
Welche Informationen fließen durch die API?
Die API gibt mehr Daten zurück als viele Administratoren vermuten. Ein einzelner Beitrag im JSON-Format enthält neben Titel und Inhalt auch die Autor-ID, den GUID, den Slug, Meta-Felder und den vollständigen Inhalt im HTML-Format. Über den Endpunkt /wp-json/wp/v2/users werden standardmäßig Anzeigenamen und Slugs aller Autoren ausgegeben.
Genau hier liegt eine sicherheitsrelevante Eigenschaft: Benutzernamen, die als Anzeigename gesetzt wurden, sind über die API öffentlich sichtbar. Das erleichtert Brute-Force-Angriffe auf den Login erheblich, weil der Nutzername bereits bekannt ist.
REST API in der Praxis
Entwickler nutzen die REST API für zwei typische Szenarien. Erstens als headless Backend: WordPress verwaltet Inhalte, ein anderes Framework wie Next.js oder Nuxt.js übernimmt das Rendering. Zweitens für Integrationen: externe Tools, Dashboards oder Apps lesen Inhalte aus und verarbeiten sie weiter.
JavaScript-Code im Frontend kann direkt gegen die API arbeiten. Ein einfacher fetch-Aufruf gegen /wp-json/wp/v2/posts?_embed=true liefert Beiträge inklusive Vorschaubilder und Autorendaten in einem einzigen Request.
Plugins wie WPGraphQL erweitern dieses Konzept und stellen statt REST eine GraphQL-Schnittstelle bereit. Damit lassen sich genau die Felder abfragen, die benötigt werden, ohne überschüssige Daten zu laden.
Sicherheitsaspekte der REST API
Wer die REST API nicht aktiv nutzt, sollte den öffentlichen Zugriff einschränken. Dafür gibt es mehrere Ansätze.
Benutzerliste sperren: Mit einem Filter in der functions.php lässt sich der /wp-json/wp/v2/users-Endpunkt für nicht eingeloggte Besucher deaktivieren:
add_filter('rest_endpoints', function($endpoints) \{
if (!is_user_logged_in()) \{
unset($endpoints['/wp/v2/users']);
unset($endpoints['/wp/v2/users/(?P<id>[\d]+)']);
\}
return $endpoints;
\});
REST API vollständig einschränken: Für rein klassisch betriebene WordPress-Seiten ohne externe App-Anbindung kann der Zugriff auf authentifizierte Anfragen begrenzt werden. Das reduziert die Angriffsfläche deutlich.
Application Passwords: Seit WordPress 5.6 gibt es Application Passwords als eingebautes Feature. Damit lassen sich einzelne Zugangsdaten für externe Anwendungen vergeben, ohne das Hauptpasswort preiszugeben.
Was der Analyzer erkennt
Der Analyzer prüft öffentlich zugängliche WordPress-Installationen unter anderem auf offene REST-API-Endpunkte. Sind der Users-Endpunkt oder andere sensible Ressourcen ohne Authentifizierung erreichbar, weist das Werkzeug darauf hin. So lassen sich Sicherheitslücken erkennen, bevor sie ausgenutzt werden.
Leistung und Caching
REST-API-Anfragen können die Datenbankauslastung erhöhen, insbesondere bei komplexen Abfragen mit mehreren Filtern. Caching über Transients oder ein serverseitiges Object-Cache-Plugin wie Redis Object Cache hilft, die Last zu reduzieren.
Für häufig abgefragte Endpunkte empfiehlt sich außerdem ein CDN oder ein Reverse-Proxy mit Cache-Regeln. Statische JSON-Antworten lassen sich problemlos für mehrere Minuten cachen, sofern sich die Inhalte nicht häufig ändern.
Fazit
Die WordPress REST API ist ein mächtiges Werkzeug für Entwickler und Integrationsszenarien. Wer sie nicht benötigt, sollte den Zugriff einschränken. Wer sie nutzt, sollte Authentifizierung konsequent einsetzen und die preisgegebenen Daten kennen. Eine regelmäßige Überprüfung der öffentlich zugänglichen Endpunkte gehört zur Basishygiene jeder WordPress-Installation.
Häufige Fragen
Kann ich die WordPress REST API deaktivieren?
Ja, über Plugins oder eigenen Code lässt sich der Zugriff auf /wp-json einschränken oder vollständig sperren. Für viele Installationen, die keine externe App anbinden, ist eine Einschränkung sinnvoll.
Welche Daten gibt /wp-json standardmäßig preis?
Standardmäßig sind Beiträge, Seiten, Kategorien, Tags und Medien über öffentliche Endpunkte abrufbar. Benutzerinformationen wie Anzeigenamen können ebenfalls erscheinen, was Sicherheitsrelevanz hat.
Benötige ich Authentifizierung für die REST API?
Lesende Zugriffe auf öffentliche Inhalte funktionieren ohne Authentifizierung. Schreibende Operationen und Zugriffe auf geschützte Ressourcen erfordern Cookie-Authentifizierung, Application Passwords oder OAuth.
Quellen
- WordPress Developer Docs: REST API Handbook (developer.wordpress.org)
Über die Autorenschaft
Mateusz Viola
Betreiber und redaktionelle Verantwortung wordpress-analyzer.de
Themengebiet: Mathematik, Kalenderrechnung, Schaltjahre, Statistik und ISO 8601
Mehr über Mateusz Viola →Verwandte Artikel
Anleitung
WordPress erkennen: Schritt für Schritt
Wie du in wenigen Minuten herausfindest, ob eine Website mit WordPress betrieben wird – manuelle Methoden und automatische Tools im Überblick.
Lesezeit 6 Min.
Technik
WordPress-Theme erkennen: Welches Design steckt dahinter?
So findest du heraus, welches WordPress-Theme eine Website verwendet – per Quelltext, Stilblatt-Analyse oder automatischem Theme-Detector.
Lesezeit 7 Min.
Sicherheit
WordPress-Version verstecken: Sicherheit durch Verschleierung
Warum du die WordPress-Version verbergen solltest und welche konkreten Maßnahmen deine Installation vor automatisierten Angriffen schützen.
Lesezeit 7 Min.