Wissensdatenbank (FAQ)

WordPress REST API antwortet nicht: Wo liegt das Problem?

Wenn du nur eine Ladeanimation siehst, aber der eigentliche Inhalt in einem unserer Plugins nicht geladen wird, ist deine WordPress REST API höchstwahrscheinlich nicht erreichbar.

Was ist die WordPress REST API?

Eine REST API ist generell eine standardisierte Methode, die viele Anwendungen im Internet nutzen, um zwischen Server und Client zu kommunizieren. WordPress v4.7 hat die WordPress REST API eingefĂŒhrt, die es modernen WordPress Plugins erlaubt, diese Standardmethode zur Kommunikation zu nutzen, anstatt den WordPress eigenen Weg der Kommunikation.

Wie kann ich die WordPress REST API in meiner Website aktivieren?

Die WordPress REST API ist standardmĂ€ĂŸig in deiner WordPress Website aktiviert. Es ist eine Standard-Kommunikationsmethode und es besteht kein zusĂ€tzliches Risiko, sie zu aktivieren, verglichen mit anderen Methoden, wie WordPress-Plugins zwischen Client und Server kommunizieren. Aber einige WordPress Plugins erlauben es dir als WordPress Admin die REST API zu deaktivieren. Der Grund fĂŒr die Deaktivierung ist meist der Wunsch nach besserer Performance oder Sicherheitsbedenken. FĂŒr beide Aspekte ist die Deaktivierung der REST API jedoch meist kein geeignetes Mittel.

Wir kennen die folgenden Plugins, mit denen du die REST API deaktivieren kannst. StandardmĂ€ĂŸig deaktiviert keines dieser Plugins die REST API, aber du kannst sie optional deaktivieren:

ZusÀtzlich kannst du den Zugriff auf die REST API in deiner Webserver-Konfiguration (normalerweise Apache2 oder NGINX) einschrÀnken. Dies kann absichtlich oder versehentlich geschehen, indem du Anfragen ablehnst, die mit /wp-json/ beginnen.

Woher weiß ich, ob die nicht erreichbare REST API mein Problem ist?

Du kannst ganz einfach ĂŒberprĂŒfen, ob eine nicht erreichbare REST API das Problem ist, wenn du nur eine Ladeanimation in einem devowl.io WordPress Plugin siehst. Folge einfach diesen Schritten:

  1. Öffne einen neuen Tab, in dem du auf deine Website zugreifst.
  2. Right-click into the web page to open the panel “Inspect” (Google Chrome) or “Inspect Element” (Mozilla Firefox). Here you can go to the “Console” tab.
  3. Öffne nun die Seite, auf der du die Ladeanimation siehst, die nicht verschwindet.
  4. In der Konsole solltest du einen rot markierten Eintrag als Fehler sehen, der auf einen Fehler 401, 403, 404 oder 500 hinweist (je nach Plugin/Konfiguration zur Deaktivierung der REST API).
WordPress REST API ist nicht erreichbar: Erkannt in der Browser-Konsole

Wenn du einen Fehler wie diesen siehst, musst du sicherstellen, dass die WordPress REST API wieder erreichbar ist.

Ich möchte die REST API nicht generell aktivieren, sondern fĂŒr dein Plugin. Ist das möglich?

Dies hĂ€ngt von der Konfiguration des Plugins ab, das du verwendest, um den Zugriff auf die REST API zu beschrĂ€nken. Zum Beispiel mit Cerber Security, Anti-spam & Malware Scan kannst du die REST API ĂŒber Namespaces deaktivieren. Jedes Plugin, das die WordPress REST API nutzt, muss einen Namespace registrieren, in dem alle Endpunkte registriert werden. Wenn du zum Beispiel auf /wp-json/realmedialibrary/v1 in deiner WordPress REST API zugreifst, heißt der Namespace realmedialibrary/v1.

Wir verwenden fĂŒr die devowl.io WordPress Plugins die folgenden Namespaces:

  • Real Media Library: realmedialibrary/v1
  • Real Physical Media: real-physical-media/v1
  • Real Category Management: real-category-library/v1
  • Real Thumbnail Generator: real-thumbnail-generator/v1
  • Real Custom Post Order: real-custom-post-order/v1
  • Real Cookie Banner: real-cookie-banner/v1 (muss fĂŒr jeden verfĂŒgbar sein, nicht nur fĂŒr eingeloggte Benutzer)

Neben WordPress Plugins verwenden wir auch noch Third-Party Pakete, welche von unseren Plugins konsumiert werden. HierfĂŒr musst du noch folgende Namensbereiche freigeben:

  • Real Product Manager (Lizenz- und Update-Client, alle Plugins): real-product-manager-wp-client/v1
  • Real Queue (Warteschlangen-Management, aktuell nur in Real Cookie Banner): real-queue/v1

I am using a plugin like “JWT Auth”. Is it compatible?

Wenn du ein Plugin wie JWT Auth verwenden möchtest, musst du unsere Plugins ebenfalls auf die Whitelist setzen. Im Falle von JWT Auth musst du den Abschnitt "Whitelisting Endpoints" in dessen README Datei lesen und unsere Plugins zu den erlaubten Endpoints hinzufĂŒgen. Die Endpunkte findest du im obigen Absatz.

Permalinks sind fehlerhaft.

Wenn du Apache2 als Webserver verwendest, definiert die .htaccess Datei wie die URLs deiner Webseite aussehen. Diese Datei wird automatisch erstellt und manchmal von Plugins manipuliert. Wenn bei der Erstellung etwas schief gelaufen ist, kann das auch ein Grund sein, warum die WP REST API nicht mehr erreichbar ist.

Du kannst also die Regeln in der .htaccess Datei neu erstellen lassen:

  1. Gehe zu Einstellungen > Permalinks in deinem WordPress Backend.
  2. Speichere die unverÀnderten Einstellungen. Das Speichern löst aus, dass die Regeln neu geschrieben werden.

Ich kann Daten lesen, aber nicht schreiben?

Du verwendest Real Cookie Banner und kannst deine Lizenz nicht speichern oder Ordner mit Real Media Library erstellen? Ein typischer Text fĂŒr eine solche Fehlermeldung ist:

Fehlende(r) Parameter: terms (oder Àhnliche Feldnamen)

Die am meisten identifizierte Ursache an diesem Verhalten bei bisherigen Kunden war, dass dein Server so konfiguriert ist, URLs ohne endenden Slash / an URLs mit endendem Slash / weiterzuleiten (oder umgekehrt).

Du kannst dies nachvollziehen, indem du via F12 > Netzwerk die jeweiligen Anfragen prĂŒfst, ob eine POST Anfrage weitergeleitet wird. Eine POST Anfrage darf nicht weitergeleitet werden und fĂŒhrt deshalb zu Fehlern, da zu speichernde Daten (quasi deine Eingaben) nicht weitergeleitet werden.

Am besten prĂŒfst du deine .htaccess Datei, ob du /wp-json von den URL-Weiterleitungen ausschließen kannst.

Siehe auch: https://docs.wp-rocket.me/article/131-redirection-to-enforce-trailing-slash-on-urls

WordPress Plugins von devowl.io

Finde hilfreiche Artikel

Themen