Die WordPress REST API ist noch gar nicht so lange verfügbar, doch für die meisten stellt sie ein großes Fragezeichen dar. Wer ein Content-Management-System wie WordPress verwendet, dem ist vor allem an einer einfachen Bedienung gelegen, mit APIs und ähnlichen Funktionen kennt er sich demnach vermutlich eher weniger aus. Kein Wunder, dass die REST API bei vielen also erst einmal für Fragezeichen sorgt.

Weil in letzter Zeit immer wieder die Frage aufkam, was die WordPress REST API eigentlich ist und wofür sie genau gut ist, dachten wir uns, wir schreiben einen ausführlichen Artikel über selbige. In diesem Beitrag geht es also darum, was die REST API ist, ob ihr sie braucht und wie sie funktioniert.

Für alle, die schlussendlich keinen Einsatzzweck für die WordPress REST API erkennen können, haben wir zudem ein paar Hinweise, wie ihr die API deaktivieren könnt. Genau das solltet ihr nämlich unbedingt tun, da die REST API, wenn sie ungenutzt aktiv bleibt, im Grunde nur ein weiteres Sicherheitsrisiko darstellt. Doch dazu später mehr. Schauen wir uns erst einmal an, was die WordPress REST API genau ist.

wordpress-rest-api-1 1

Was ist die WordPress REST API?

Was eine API ist, werden viele sicherlich schon wissen, schließlich stolpern wir im Internet häufig über diesen Begriff. API heißt »Application Programming Interface« oder auf Deutsch und sehr frei übersetzt »Programmierschnittstelle«. Mittels API kann ich als Programmierer also Daten anfragen, übertragen und so eine Schnittstelle zwischen verschiedenen Modulen erzeugen.

Der Begriff REST hingegen steht für »Representational State Transfer«. Im Grunde ist eine REST API daher nur ein spezieller Typ API (wie auch GraphQL oder SOAP), die nach bestimmten Regeln und Richtlinien funktioniert. Für Programmierer ist es leichter, sie zu verstehen, weil sie gewissen Strukturen folgt, genau wie alle anderen REST APIs.

Die WordPress REST API funktioniert nun so, dass über spezielle URLs Abfragen gestellt werden können, um Inhalte aus dem CMS auszulesen und anzuzeigen. Für Beiträge (Posts) beispielsweise über die URL:

https://domain.de/wp-json/wp/v2/posts

Unter dieser Domain gibt die REST API die Posts des Blogs im JSON-Format aus. Mit weiteren Parametern kann die Ausgabe anschließend genauer angepasst werden. Damit sind Inhalte der Website über die REST API lesbar und können anderweitig genutzt und eingesetzt werden.

Wer benötigt eine REST API und wozu eigentlich?

Die REST API ist in einem Content-Management-System sehr praktisch und kann ganz unterschiedlich verwendet werden. Prinzipiell erlaubt sie erst einmal den einfachen Zugriff auf die Inhalte des CMS. Als Programmierer könnte ich also mehrere Blogs führen und die Daten via REST API auf einer weiteren Plattform gemeinsam präsentieren.

Eine andere Möglichkeit, die REST API von WordPress zu verwenden, wäre der Einsatz in verschiedenen Publikationen auf unterschiedlichen Geräten. Eine App könnte dieselben Artikel wie die Website präsentieren und die Website würde dieselben Beiträge der App anzeigen. Die Pflege der Inhalte wird somit deutlich vereinfacht, weil automatisiert alle Inhalte von der einen Plattform auch auf der anderen erscheinen. Möglich gemacht durch die REST API von WordPress.

Auch könnte WordPress folglich lediglich als Redaktionssystem dienen, während die eigentlichen Inhalte dann via REST API ausgelesen und in einem gänzlich anderen Framework ausgegeben werden. Eure Website könnte somit WordPress zur Erstellung des Contents nutzen, nicht aber für die schlussendliche Präsentation im Frontend.

Wie genau die REST API eingesetzt wird, bleibt natürlich euch überlassen. Die Möglichkeiten sind sehr vielfältig. Wer mehr mit seinen Inhalten machen möchte, als nur Bloggen, ist mit der REST API daher gut beraten. Wer einfach nur einen Blog führen will, der benötigt hingegen auch keine REST API und kann selbige deaktivieren.

wordpress-rest-api-2 2

Sollte die REST API deaktiviert werden?

Nun kann die Frage in den Raum geschmissen werden, ob die REST API nicht ein Sicherheitsrisiko darstellt. Jeder, der möchte, kann mit einer simplen URL-Abfrage viele Informationen erhalten. Die Beiträge sind da noch am unspektakulärsten, doch auch Nutzer*innen können auf diese Weise abgefragt und angezeigt werden.

Grundsätzlich sollten wir die Kirche im Dorf lassen, wie man so schön sagt. Durch die REST API wird aber dennoch ein weiteres potenzielles Sicherheitsrisiko hinzugefügt, vor allem wenn ihr die API gar nicht aktiv nutzt. In diesem Fall ist es immer besser, selbige vollständig zu deaktivieren.

Ein kleines Problem dabei besteht jedoch ebenfalls. Je nachdem, welche Plugins ihr verwendet, kann es sein, dass diese bestimmte Funktionen der REST API für sich beanspruchen oder im Backend darauf zurückgreifen. Es empfiehlt sich also die REST API nur von Außen zu sperren, den Zugriff im Admin-Bereich aber weiterhin zu erlauben. Folgender Code ermöglicht dies auf besonders einfache Art und Weise und wird direkt in die functions.php eures Themes integriert.

add_filter( 'rest_authentication_errors', function( $result ) {if ( ! empty( $result ) ) {return $result;}if ( ! is_user_logged_in() ) {return new WP_Error( 'restx_logged_out', 'Sie muessen angemeldet sein, um einen Request durchfuehren zu koennen.', array( 'status' => 401 ) );}return $result;});

Noch einfacher und umfangreicher kann die REST API über das Disable REST API Plugin deaktiviert werden. Das Plugin erlaubt es euch, umfangreiche Regeln für die WordPress REST API aufzustellen und sie somit komplett oder auch nur selektiv zu deaktivieren.

Fazit zur WordPress REST API

Die REST API von WordPress macht es möglich, das Content-Management-System noch vielfältiger und weitläufiger einzusetzen. Zum Beispiel als Redaktionssystem statt als CMS oder auch als Hauptplattform, um Inhalte auf verschiedene Geräte zu bringen. Beispielsweise in Apps und Desktop-Anwendungen.

Wer sie nicht braucht, sollte sie unbedingt deaktivieren. Vor allem, weil Fremde mit der REST API theoretisch vollautomatisch Inhalte und mehr auslesen und weiterverwenden können. Weil WordPress weltweit eingesetzt wird, ist das CMS zudem ein Ziel ständiger automatisierter Attacken. Die REST API sollte also nur dann aktiv sein, wenn ihr sie auch wirklich nutzen wollt.

Unser Fazit ist erst einmal positiv, denn mit der REST API wird WordPress immer mächtiger. Waren früher noch viele Umwege notwendig oder APIs, die via Plugin hinzugefügt werden mussten, geht jetzt alles ganz einfach und nativ. WordPress selbst möchte mehr sein als nur ein CMS und wird immer mehr zur Plattform der Zukunft und zentralen Anlaufstelle für sämtliche Publikationen. Das ist interessant. Mal schauen, wo die Reise noch hingeht.

by A-DIGITAL one

Unsere Herzen schlagen Digital, unsere Projekte leben Digital, unsere Kunden lieben und schätzen Digital! Die einzigartige digitale Performance die wir seit 1999 an den Tag legen.

Mit unserem Team von über 35 Experten begleiten wir Sie auf Ihrem Weg der digitalen Transformation. Mit klaren Strategien, persönlicher Betreuung und exzellenter Ausführung entwickeln wir, innovativ und individuell, maßgeschneiderte digitale Lösungen, die performen und verkaufen können.