Manuel Killert
Ratgeber · Schnittstellen · Fehlerbehebung

REST-API blockiert — und plötzlich hängt das halbe Backend.

Der Editor speichert nicht, ein Plugin meldet Verbindungsfehler, die App kommt nicht an die Inhalte. Drei verschiedene Symptome, eine Ursache: Die Schnittstelle, über die WordPress intern spricht, ist zu. Meist hat sie jemand absichtlich geschlossen — mit guten Absichten.

Referenzen ansehen →Hilfe anfragen
Kurz gesagt

Die REST-Schnittstelle ist kein Zusatz, sondern Teil des Betriebs: Der Block-Editor, die Website-Gesundheit, viele Plugins und jede App greifen darüber zu. Wer sie pauschal abschaltet — weil das in älteren Sicherheitsanleitungen empfohlen wurde — legt Funktionen lahm. Richtig ist, nicht angemeldete Zugriffe gezielt einzuschränken, statt die Schnittstelle zu schließen. Prüfen lässt sich das in zwei Minuten im Browser.

Wofür WordPress sie braucht.

  • Block-Editor: lädt und speichert Inhalte ausschließlich darüber (Editor lädt nicht).
  • Website-Gesundheit und mehrere Funktionen im Backend.
  • Plugins: Formulare, Shops, Seitenleisten von SEO-Werkzeugen, Ladeanzeigen.
  • Apps und externe Systeme, die Inhalte holen oder schreiben (WordPress API-Anbindung).
  • Headless-Aufbauten, bei denen das Frontend eine eigene Anwendung ist.

In zwei Minuten testen.

Ruf im Browser deine Domain mit dem Zusatz /wp-json/ auf. Erscheint eine lange Textausgabe mit geschweiften Klammern, ist die Schnittstelle erreichbar — das sieht unaufgeräumt aus, ist aber das gewünschte Ergebnis. Erscheint stattdessen eine Fehlerseite, eine Meldung über fehlende Berechtigung oder eine leere Seite, ist sie blockiert.

Zweiter Ort: im Backend unter Werkzeuge → Website-Zustand. Dort gibt es eine eigene Prüfung für die REST-Schnittstelle, die im Fehlerfall auch die Meldung des Servers anzeigt. Und drittens verrät die Netzwerk-Ansicht der Entwicklerwerkzeuge im Browser, welche Anfrage mit welchem Code scheitert. Ein Zugriff verboten deutet auf eine Sperre, ein nicht gefunden eher auf ein Pfadproblem.

Wer sie typischerweise sperrt.

VerursacherTypischer Fall
Sicherheits-PluginOption „REST-API deaktivieren“ oder „für Gäste sperren“
Alter Code-SchnipselAus einer Anleitung von vor Jahren in der functions.php
Firewall beim HosterBlockiert Anfragen mit bestimmten Mustern
Vorgeschalteter DienstRegel, die /wp-json/ abweist
Wartungsmodus-PluginSperrt alles außer der Startseite
Anmeldeschutz per ServerPasswortschutz vor dem ganzen Verzeichnis
WeiterleitungsregelUmleitung greift auch für /wp-json/

Der zweite Punkt ist besonders tückisch, weil niemand mehr weiß, dass der Code existiert. Ein Blick in die functions.php und in etwaige Code-Snippet-Plugins lohnt sich deshalb immer.

Typische Symptome.

  • Der Editor bleibt leer oder meldet beim Speichern eine unerwartete Antwort (Keine gültige JSON-Antwort).
  • Beiträge lassen sich nicht veröffentlichen, obwohl der Inhalt da ist.
  • Ein Formular sendet nicht ab, ohne Fehlermeldung.
  • Die Website-Gesundheit meldet die Schnittstelle als kritisch.
  • Eine App oder ein externes System bekommt keine Daten mehr.
  • Vorschau und Autospeichern funktionieren nicht.

Blockade lösen.

  1. Sicherheits-Plugins prüfen: Gibt es eine Option zur REST-Schnittstelle? Vorübergehend abschalten und testen.
  2. Alle Plugins deaktivieren, testen, einzeln wieder einschalten.
  3. Nach Code suchen: In der functions.php und in Snippet-Plugins nach Einträgen mit rest_authentication oder rest_api_init schauen.
  4. .htaccess prüfen auf Regeln, die wp-json betreffen (Kaputte .htaccess).
  5. Permalinks neu speichern — stellt die Umschreibregeln wieder her.
  6. Hoster fragen, ob eine Firewall die Anfragen abweist.

Richtig absichern statt abschalten.

Die Sorge hinter der Sperre ist berechtigt: Standardmäßig lässt sich über die Schnittstelle ohne Anmeldung die Liste der Benutzernamen abfragen, was Angreifern die halbe Arbeit für einen Anmeldeversuch abnimmt. Die Antwort darauf ist aber nicht, alles zu schließen, sondern genau diesen Zugriff zu unterbinden.

Benutzerliste für nicht angemeldete Zugriffe sperren (Mini-Plugin)
<?php
// Verhindert das Auslesen der Benutzerliste ueber die REST-Schnittstelle,
// laesst aber alles andere unveraendert funktionieren.
add_filter( 'rest_endpoints', function ( $endpoints ) {
    if ( is_user_logged_in() ) {
        return $endpoints;
    }
    unset( $endpoints['/wp/v2/users'] );
    unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
    return $endpoints;
} );

Gehört in ein eigenes kleines Plugin, nicht ins Theme. Der Editor und alle angemeldeten Funktionen arbeiten normal weiter.

Ergänzend sinnvoll sind Begrenzungen der Anfragen pro Minute und ein Schutz der Anmeldeseite gegen wiederholte Versuche. Beides steht in WordPress absichern.

Zugriff von außen.

Soll ein externes System schreiben — eine App, eine Warenwirtschaft, ein anderer Server — braucht es eine Anmeldung. Der übliche Weg sind Anwendungspasswörter: Sie werden im Benutzerprofil erzeugt, gelten nur für Schnittstellenzugriffe und lassen sich einzeln widerrufen, ohne das eigene Passwort zu ändern. Wichtig dabei: nur über verschlüsselte Verbindungen nutzen und für jedes System ein eigenes Passwort vergeben, damit sich der Zugang gezielt entziehen lässt.

Wenn der Pfad nicht stimmt.

Liefert /wp-json/ eine Fehlerseite, statt blockiert zu sein, kann es an den Adressregeln liegen. Bei Installationen mit einfachen Permalinks funktioniert nur die Variante mit einem Parameter, und bei manchen Serverkonfigurationen fehlt die Umschreibung. Einmal die Permalinks neu speichern behebt das in den meisten Fällen — dieselbe Maßnahme, die auch bei 404 auf Unterseiten hilft.

Wenn du nicht weiterkommst.

Wenn Editor oder Plugins Verbindungsfehler melden und du nicht findest, wer die Schnittstelle blockiert, übernehme ich die Suche. Ich finde die Ursache, behebe sie und erkläre dir, was passiert ist: WordPress-Hilfe, bei einem Totalausfall der Notfall-Support. Damit es gar nicht erst so weit kommt: WordPress-Wartung.

Fehleranalyse & Erste Hilfeab ~150 €

Ursache finden, Website wieder zum Laufen bringen, kurzer Bericht — meist am selben Tag.

Stundensatz~95 €

Für Anpassungen, Fehlerbehebung und Beratung nach Aufwand, abgerechnet in 15-Minuten-Schritten.

Wartungab ~49 €/Monat

Updates, Backups, Sicherheitscheck, Monitoring — Kleinigkeiten inklusive.

Orientierungswerte, keine Fixpreise — nach einem kurzen Gespräch bekommst du ein Festpreisangebot.

Wer hilft.

Ich bin Manuel Killert, WordPress-Entwickler aus Quakenbrück. Seit 2020 baue und betreue ich WordPress-Websites — für Handwerksbetriebe, Industrie, Gastronomie, Start-ups und Vereine —, entwickle eigene Plugins und unterrichte WordPress als Dozent an der KW Design Akademie. Das heißt: Ich kenne die typischen Fehler nicht nur aus Foren, sondern aus eigenen Projekten, und ich kann sie so erklären, dass du sie beim nächsten Mal selbst erkennst. Du erreichst mich direkt, ohne Ticketsystem.

Häufige Fragen

FAQ — REST-API funktioniert nicht.

Wie teste ich, ob die WordPress-REST-API funktioniert?

Im Browser die Domain mit dem Zusatz /wp-json/ aufrufen. Erscheint eine lange Textausgabe mit geschweiften Klammern, ist sie erreichbar. Eine Fehlerseite oder Berechtigungsmeldung bedeutet blockiert.

Sollte ich die REST-API aus Sicherheitsgründen abschalten?

Nein. Der Block-Editor, die Website-Gesundheit und viele Plugins brauchen sie. Richtig ist, den Zugriff nicht angemeldeter Besucher auf die Benutzerliste zu sperren, statt alles zu schließen.

Wer blockiert die Schnittstelle typischerweise?

Sicherheits-Plugins mit entsprechender Option, alte Code-Schnipsel in der functions.php, Firewalls beim Hoster, vorgeschaltete Dienste und Wartungsmodus-Plugins.

Warum speichert der Editor nicht mehr?

Weil er Inhalte ausschließlich über die REST-Schnittstelle lädt und speichert. Ist sie gesperrt, bleibt der Editor leer oder meldet beim Speichern eine unerwartete Antwort.

Wie greift eine App sicher auf WordPress zu?

Über Anwendungspasswörter, die im Benutzerprofil erzeugt werden. Sie gelten nur für Schnittstellenzugriffe, sollten je System einzeln vergeben und nur über verschlüsselte Verbindungen genutzt werden.

Die Adresse /wp-json/ liefert eine Fehlerseite — was tun?

Meist ein Problem mit den Adressregeln. Einmal die Permalinks im Backend neu speichern stellt die Umschreibung wieder her.

Manuel Killert (rechts im Bild) mit einem FreundDas bin ich – rechts im Bild
Kontakt

Erzähl mir, was nicht funktioniert.

Domain und eine kurze Beschreibung reichen — du bekommst eine ehrliche Einschätzung, was los ist und was die Behebung kostet.

Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de