Wir haben kürzlich eine Frage von einem Leser erhalten, die wir hier oft hören: „Wie deaktiviere ich die REST API auf meiner WordPress-Website?“ Und ehrlich gesagt, es ist eine berechtigte Sorge.
Als die WordPress-Version 4.4 mit der JSON REST API veröffentlicht wurde, eröffnete sie eine Welt voller Möglichkeiten für Entwickler.
Für viele Website-Besitzer, die diese erweiterten Funktionen nicht benötigen, kann die API jedoch als unnötige Ergänzung erscheinen, die ihre Website potenziell Sicherheitsrisiken aussetzt.
In diesem Artikel zeigen wir Ihnen, wie Sie die JSON REST API in WordPress einfach deaktivieren können.

Warum die JSON REST API in WordPress deaktivieren?
Es ist unbestreitbar, dass die API viele Vorteile für WordPress-Entwickler hat. Die API macht es super einfach, Daten mit GET-Anfragen abzurufen, was für diejenigen nützlich ist, die Apps mit WordPress erstellen.
Das könnte jedoch potenziell Ihre Website einer neuen Front von DDoS-Angriffen aussetzen. Es kann auch ressourcenintensiv sein und Ihre WordPress-Website verlangsamen.
Das Deaktivieren der JSON REST API ähnelt dem Deaktivieren von XML-RPC, das viele Website-Administratoren auf ihren WordPress-Websites deaktivieren, um auf der sicheren Seite zu sein.
Dennoch zeigen wir Ihnen zwei Methoden, um die JSON REST API in WordPress einfach zu deaktivieren. Verwenden Sie einfach die Schnelllinks unten, um zu der Methode zu springen, die Sie verwenden möchten:
Methode 1. Deaktivieren der JSON REST API in WordPress mit Code (Empfohlen)
Wenn es darum geht, die Funktionalität von WordPress zu ändern, ist die Verwendung von Code-Snippets oft der beste Ansatz. Aber die direkte Bearbeitung der functions.php-Datei Ihres Themes kann riskant sein und Ihre Website beschädigen, wenn sie nicht korrekt durchgeführt wird.
Deshalb empfehlen wir die Verwendung des WPCode-Plugins, um die JSON REST API in WordPress zu deaktivieren.
Es ist dasselbe Plugin, das wir auf unseren eigenen Websites verwenden, um sicher benutzerdefinierten Code in WordPress hinzuzufügen, ohne Theme-Dateien zu bearbeiten.
Um mehr darüber zu erfahren, wie wir das Plugin verwenden, lesen Sie unsere vollständige WPCode-Bewertung.

Außerdem verfügt WPCode über eine integrierte Codebibliothek mit verifizierten Code-Snippets für beliebte Funktionsanfragen wie das Deaktivieren der REST-API, das Deaktivieren von XML-RPC und vieles mehr.
Dies erspart Ihnen die Installation mehrerer einzelner Plugins für verschiedene Aufgaben.
Um loszulegen, müssen Sie das kostenlose WPCode Plugin installieren und aktivieren. Schritt-für-Schritt-Anleitungen finden Sie in unserem Leitfaden zur Installation eines WordPress-Plugins.
Hinweis: Die kostenlose Version von WPCode bietet alles, was Sie benötigen, um einfach benutzerdefinierten Code in WordPress hinzuzufügen. Wenn Sie jedoch erweiterte Funktionen wie eine private Cloud-Snippet-Bibliothek, seiten- und gerätespezifische Snippets, Code-Revisionen und mehr wünschen, können Sie auf WPCode Pro upgraden.
Sobald das Plugin aktiviert ist, gehen Sie in Ihrem WordPress-Dashboard zu Code Snippets » Bibliothek.
Suchen Sie dann nach dem Snippet 'Disable WordPress REST API' und klicken Sie auf die Schaltfläche 'Snippet verwenden'.

Das Plugin fügt den Code dann automatisch für Sie hinzu und wählt auch die richtige Einfügungsmethode aus.

Sie müssen lediglich den Schalter von 'Inaktiv' auf 'Aktiv' umlegen.
Klicken Sie dann auf die Schaltfläche „Aktualisieren“.

Das war's. Jetzt ist die JSON REST API auf Ihrer WordPress-Website deaktiviert.
Methode 2. Deaktivieren der JSON REST API in WordPress mit einem Plugin
Sie können die JSON REST API auch ganz einfach mit Hilfe eines speziellen Plugins deaktivieren.
Das erste, was Sie tun müssen, ist das Plugin Disable REST API zu installieren und zu aktivieren. Weitere Details finden Sie in unserer Schritt-für-Schritt-Anleitung zum Installieren eines WordPress-Plugins.
Das Plugin funktioniert sofort und es gibt keine Einstellungen, die Sie konfigurieren müssen.
Nach der Aktivierung gibt das Plugin bei allen API-Anfragen von Quellen, die nicht in Ihrer Website angemeldet sind, zwangsweise einen Authentifizierungsfehler zurück.
Dies verhindert effektiv, dass unbefugte Anfragen die REST API nutzen, um Informationen von Ihrer Website abzurufen.
Sie können dies testen, indem Sie die Seite http://example.com/wp-json besuchen. Stellen Sie sicher, dass Sie sich zuerst aus dem WordPress-Adminbereich abmelden oder Ihren Browser in den Inkognito-Modus wechseln.
Vergessen Sie nicht, example.com durch Ihren eigenen Domainnamen zu ersetzen. Sie sehen diese Meldung, die darauf hinweist, dass REST-API-Anfragen blockiert werden.

Das war alles, Sie haben nicht autorisierte REST-API-Anfragen auf Ihrer WordPress-Website erfolgreich deaktiviert.
Alternative Methode: Deaktivieren von REST API-Links in WordPress mit Code
Anstatt die WordPress REST API zu deaktivieren, können Sie auch nur die REST API-Links deaktivieren. Dies verbirgt die API-Endpunkte aus dem Quellcode Ihrer WordPress-Website, ohne die REST API vollständig zu deaktivieren.
Mit dieser Methode können Sie die Sicherheit verbessern, indem Sie die Endpunkte schwerer auffindbar machen, während alle WordPress-Funktionen normal weiterarbeiten. Es ist eine beliebte Wahl bei Entwicklern, da es die Sicherheit erhöht, ohne Themes oder Plugins zu beeinträchtigen, die die REST-API für ihre Funktion benötigen.
Um dies zu tun, müssen Sie das WPCode Plugin installieren und aktivieren. Wenn Sie Hilfe benötigen, lesen Sie unser Tutorial zur Installation eines WordPress-Plugins.
Nach der Aktivierung navigieren Sie in Ihrem WordPress-Dashboard zu Code-Snippets » Bibliothek.
Suchen Sie von dort aus nach dem Snippet „Disable REST API Links“. Wenn Sie es finden, fahren Sie mit der Maus darüber und klicken Sie auf die Schaltfläche „Snippet verwenden“.

Danach fügt WPCode den Code-Snippet automatisch hinzu und wählt die richtige Einfügungsmethode aus.

Jetzt müssen Sie nur noch den Schalter von „Inaktiv“ auf „Aktiv“ umlegen.
Klicken Sie abschließend auf die Schaltfläche „Aktualisieren“.

So einfach ist das. Jetzt sind die REST API-Links auf Ihrer WordPress-Website deaktiviert.
Wir hoffen, dieser Artikel hat Ihnen geholfen zu lernen, wie Sie die JSON REST API in WordPress deaktivieren. Sicherheitsbewusste Benutzer möchten vielleicht auch diese Tipps zum Schutz des WordPress-Adminbereichs lesen oder unsere besten Empfehlungen für die besten WordPress-Backup-Plugins ansehen.
Wenn Ihnen dieser Artikel gefallen hat, abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Video-Tutorials. Sie finden uns auch auf Twitter und Facebook.


Dennis Muthomi
Ich schätze besonders die beiden von Ihnen beschriebenen Methoden, insbesondere den codebasierten Ansatz mit WPCode. Als Website-Besitzer habe ich gezögert, die API zu deaktivieren, da sie Vorteile bietet, aber Ihre Erklärung der potenziellen Sicherheitsrisiken hat mich zum Umdenken bewogen.
Ich bin von dem WPCode-Plugin und seiner Fähigkeit, benutzerdefinierte Code-Snippets sicher zu verwalten, angetan. Ich werde dieses Tool auf jeden Fall weiter untersuchen, um andere WordPress-Anpassungen zu implementieren, ohne meine Website mit einzelnen Plugins zu überladen.
Danke dafür. WPBeginner ist DER BESTE!
Dayo Olobayo
Ich schätze die Klarheit dieses Tutorials zum Deaktivieren der JSON REST API in WordPress. Ich frage mich jedoch, ob die vollständige Deaktivierung der API der beste Ansatz ist, wenn man ihre potenziellen Vorteile für die Website-Funktionalität und die Integration mit anderen Diensten berücksichtigt.
WPBeginner Support
Es würde vom Website-Betreiber abhängen, ob es für seine Bedürfnisse am besten geeignet ist oder nicht, oder ob er auf ein Problem bei der Verwendung gestoßen ist.
Admin
Dayo Olobayo
Danke. Ich denke, es ist wichtig, die potenziellen Sicherheitsrisiken gegen die Vorteile der JSON REST API abzuwägen und dabei die einzigartigen Bedürfnisse und Umstände des Eigentümers zu berücksichtigen.
Jiří Vaněk
Hallo Dayo Olobayo,
Die Frage ist eher, ob Sie diese API nutzen oder nicht. Es ist dasselbe wie bei XML-RPC. Ich nutze es nicht auf meiner Website, daher habe ich es deaktiviert. Natürlich bedeutet das, dass ich keine Verbindung zur Website herstellen kann, zum Beispiel mit der mobilen WordPress-App, die XML-RPC zur Verbindung nutzt. Es ist immer ein Kompromiss zwischen dem, was Sie deaktivieren möchten, und dem, was Sie zulassen möchten. Jede API, die externe Anfragen akzeptiert, kann ein potenzielles Risiko darstellen, und es ist einfach eine Frage, ob Sie sie nutzen möchten oder nicht.
RJW
Ich würde das Deaktivierungs-Plugin in einer Entwicklungsumgebung vor der Produktion ausprobieren. Ich habe festgestellt, dass die Installation einige Funktionen kaputt gemacht hat
WPBeginner Support
Wenn Sie viele verschiedene Plugins und Tools haben und eine Testumgebung besitzen, ist es definitiv ratsam, neue Plugins und deren Interaktion mit Ihrer Website zu testen.
Admin
Ricky
Ähnlich wie ein Kommentator oben habe ich die „wp-json“-Anfrage bemerkt, wenn ich Pingdom und andere Testseiten verwende. Leider dauert es bei mir über 10 Sekunden (Ja, wirklich!!) zum Laden. Dies erhöht meine gesamte Website-Ladezeit und ich kann nicht herausfinden, wie ich das beheben kann. Das Plugin ändert daran überhaupt nichts. Irgendwelche Vorschläge?
Janice
Woher weiß ich, ob ich tatsächlich eine JSON-API auf meiner Website habe?
Dieser Artikel über das Entfernen ist gut – falls ich ihn brauche –, aber ich wurde oft von bestimmten Warnungen alarmiert, nur um festzustellen, dass sie für mich gar nicht zutreffend waren.
WPBeginner Support
Hallo Janice,
Wenn Sie eine selbst gehostete WordPress.org-Website verwenden, dann steht Ihnen die JSON REST API auf Ihrer Website zur Verfügung.
Admin
Logan Cale
Ich hasse es, noch ein weiteres Plugin für eine einfache Aufgabe hinzuzufügen, und ich habe festgestellt, dass wir diese Funktionalität deaktivieren können, indem wir den folgenden Code-Snippet zur functions.php-Datei hinzufügen.
add_filter(‘rest_enabled’, ‘_return_false’);
add_filter(‘rest_jsonp_enabled’, ‘_return_false’);
Margarit Koka
Danke, Bro, deine Antwort ist das, wonach ich gesucht habe, als ich diese Seite besucht habe.
Bobby C.
Danke! Auf den Punkt gebracht.
Hari
Ich habe nach diesem Code gesucht, er hat funktioniert, danke, ich füge lieber keine Plugins hinzu.
Michael
Danke für Ihre Hilfe. In meinen Plugins gibt es keine Option 'Neu hinzufügen'.
WPBeginner Support
Sie verwenden wahrscheinlich WordPress.com. Bitte lesen Sie unseren Leitfaden über den Unterschied zwischen selbst gehostetem WordPress.org vs. kostenlosem WordPress.com-Blog.
Admin
Lynne
Thank you! Spot on
worked for me
J.L.
Gilt das nur für selbst gehostete Blogs oder auch für kostenlose Blog-Seiten? Denn die meisten Plugins usw. sind für Sie erledigt, wenn Sie nicht selbst gehostet sind.
PS Ich abonniere nicht... möchte nur eine Antwort
WPBeginner Support
Dies gilt nur für selbst gehostete WordPress.org-Websites.
Admin
Elaine
Wie kann ich überprüfen, ob meine Website eine REST-API hat? Ich habe beim ersten Einrichten viele Extras deaktiviert, weiß aber jetzt nicht mehr, wo ich nachsehen kann, ob sie vorhanden ist. Ich möchte nicht unnötigerweise ein Plugin herunterladen.
WPBeginner Support
Hallo Elaine,
Sie können überprüfen, ob die REST-API auf Ihrer Website aktiviert ist, indem Sie die URL wie folgt besuchen: example.com/wp-json. Stellen Sie sicher, dass Sie bei WordPress abgemeldet sind, bevor Sie dies tun. Wenn Sie viele Informationen im Klartext sehen, bedeutet dies, dass die REST-API auf Ihrer Website aktiviert ist. Befolgen Sie die obigen Anweisungen, um sie zu deaktivieren.
Admin
Saransh Jain
Was ist mit der Option, die JSON REST API im Jetpack-Plugin zu deaktivieren?
Ken Dowling
Ist die Deaktivierung der REST API für E-Commerce-Websites wie WooCommerce geeignet? Soweit ich weiß, verwendet WooCommerce die REST-API ziemlich stark.
Darüber hinaus müssen meine Käufer sich nicht anmelden, um zu kaufen. Was passiert also mit der Transaktion, wenn ein REST-API-Aufruf abgelehnt wird?
Mit freundlichen Grüßen, Ken
D. Joe Chaffin
Das Plugin macht für mich in WP 4.7.2 keinen Unterschied. Mit aktiviertem oder deaktiviertem Plugin zeigt die Seite example.com/wp-json (wobei meine Domain „example“ ersetzt) eine riesige Liste von Einstellungen für meine Website an.
D. Joe Chaffin
Hmmmm. Wenn ich es mir jetzt ansehe, sehe ich die Liste nur in Safari, während Chrome und Firefox für Mac die erwartete Nachricht anzeigen, die in diesem Beitrag angegeben ist.
WPBeginner Support
Hallo,
Stellen Sie sicher, dass Sie aus dem WordPress-Adminbereich abgemeldet sind oder verwenden Sie den Inkognito-Modus, bevor Sie die Seite example.com/wp-json testen. Das Plugin deaktiviert den Zugriff auf die Seite nur für nicht autorisierte Benutzer. Als Administrator können Sie sie weiterhin sehen.
Admin
D. Joe Chaffin
Beschämt... Sie haben natürlich Recht.
Audra Carpenter
Hallo Leute,
Zuerst einmal vielen Dank für Ihre Arbeit! Ich habe so viel über Wordpress von Ihnen gelernt und viele Leute an Sie verwiesen!!
Ok, ich habe das Plugin installiert, aber ich sehe nicht, was Sie oben vorschlagen? Ich habe einen Vollbildschirm mit Informationen…?
Gedanken?
Danke!
WPBeginner Support
Hallo Audra,
Bitte melden Sie sich ab oder verwenden Sie ein Inkognito-Fenster zum Testen. Das Plugin deaktiviert den Zugriff nur für nicht angemeldete Benutzer.
Admin
Treasure
Ich habe diese Schritte befolgt, aber als ich es mit dem Beispiel usw. überprüfen wollte, erhielt ich 2 Seiten Code, nicht die oben gezeigte Antwort. Hmmm, ich weiß nicht, was ich tun soll.
Treasure
Alles klar, ich habe es noch einmal gemacht und die richtige Nachricht erhalten. Danke!
Doug Nix
Als ich den Test durchführte, glaube ich, dass er fehlgeschlagen ist, da eine Menge Daten auf dem Bildschirm angezeigt wurden. Haben Sie eine Idee, was nicht funktioniert haben könnte? Ich habe das Plugin wie beschrieben installiert…
Doug Nix
Funktioniert perfekt, wenn ich im Inkognito-Fenster nachprüfe. Danke für die Erklärung bezüglich autorisierter vs. nicht autorisierter oder anonymer Benutzer.
Laura Zielke
Hat perfekt funktioniert. Danke!
Karl
Danke für den Tipp sowie für den Hook, um XMLRPC zu deaktivieren.
Gibt es auch eine Chance für einen Filter-Hook für die REST API?
Andrew
Wenn ich die Geschwindigkeit meiner Website mit pingdom.com überprüfe, zeigt der erste HTML-Eintrag, der geladen wurde, den Link als mydomain.com/wp-json an und hat über 2 Sekunden „Wartezeit“. Ist das dasselbe, worüber dieser Artikel spricht? Ich zögere, ihn einfach zu deaktivieren, da ich davon ausgehe, dass er in Zukunft verwendet wird. Haben Sie eine Idee, warum er das Laden von allem auf der Seite um mehr als 2 Sekunden verzögert?
Stephen Cronin
Hmm, die REST-API wird zur Standardmethode für Plugins und Themes, um Ajax-Aufrufe vom Frontend an den Server zu machen und admin-ajax zu ersetzen. Daher würde ich sie nicht deaktivieren... Hoffentlich schlagen sie fehl, aber Sie werden wahrscheinlich einige Funktionalitäten vermissen.
Also, if you really want to protect against DDoS attacks, you better disable html as well!
reza
über 50.000 WordPress-Websites wurden aufgrund einer schwerwiegenden Sicherheitslücke, die in der WordPress REST API entdeckt wurde, gehackt.
Jim S Smith
AUTSCH!
Das ist beunruhigend zu wissen. Ich habe eine MENGE Zugriffsversuche in den Protokollen meiner Website bemerkt.
Was noch wichtiger ist,
Ich denke, die Leute bei WordPress hätten den Nutzern besser die Entscheidung überlassen können, wie stark oder ob überhaupt die REST-API offengelegt werden soll.
Wieder,
Mehr davon: „Die Entwickler wissen MEHR über die Bedürfnisse des Benutzers als der Benutzer selbst!“ – Ich war auch nicht gerade begeistert davon, EMOJI und von fonts.google.com geladene Schriftarten unterstützen zu müssen, obwohl meine Websites sie nicht verwenden!
Die REST API mag ein Segen für (einige) tatsächliche Webanwendungsentwickler sein, aber was ist mit dem Rest von uns, die sie wahrscheinlich nicht sehr oft nutzen werden? ? ?
Kasey
Wie wahrscheinlich ist es, dass ein Plugin diese Funktionalität nutzt. Würden zum Beispiel Kontaktformulare dies verwenden? Ich bin nicht scharf darauf, es auszuschalten, falls etwas kaputt geht.
WPBeginner Support
Die Plugins werden Sie höchstwahrscheinlich benachrichtigen, wenn sie sie verwenden und Sie sie ausgeschaltet haben.
Admin