Die REST-API in WordPress ist ein mächtiges Werkzeug, das Entwicklern ermöglicht, Daten aus WordPress über JSON-Schnittstellen abzurufen und zu bearbeiten. Doch für viele Webseitenbetreiber stellt sich die Frage: Brauche ich das wirklich? In diesem Artikel erfährst du, wann du die REST-API in WordPress deaktivieren solltest und wie du das sicher umsetzen kannst.
Inhaltsverzeichnis:
Was ist die REST-API und wieso deaktivieren?
Die WordPress REST-API ist standardmäßig aktiv und erlaubt es, über einfache HTTP-Anfragen auf Inhalte deiner Website zuzugreifen. Das hat einige Vorteile für Entwickler, birgt aber auch potenzielle Risiken:
- Datenschutz: Standardmäßig gibt die REST-API Informationen über Benutzer und veröffentlichte Beiträge preis. Angreifer könnten daraus sensible Daten auslesen.
- Sicherheit: Nicht jeder benötigt eine öffentliche API. Durch die REST-API könnten Brute-Force- oder Spam-Angriffe erleichtert werden.
- Performance: Unnötige API-Anfragen können deine Website verlangsamen, insbesondere bei stark frequentierten Seiten.
- Kein Nutzen für viele Seiten: Wenn du die REST-API nicht aktiv für externe Anwendungen nutzt, gibt es keinen Grund, sie offen zu lassen.
Kann man die REST API einfach schließen?
Die API hat enormes Potential die Arbeit mit einer WordPress-Webseite zu erleichtern. Dennoch machen nur relativ wenige Gebrauch dieser Funktion. Wer also die REST API nicht nutzt, der kann diesen potentiellen Einfallsweg einfach deaktivieren.
REST API mit WordPress Plugin schließen
Disable WP REST API
Mit dem Plugin „Disable WP REST API“ kann man problemlos die REST API deaktivieren. Einfach installieren und aktivieren.
REST API mit Solid Security einschränken
Solid Security hat schon lange das Sicherheitsrisiko der REST API entdeckt. Hier kann man die Anwendung der API mit Authentifizierung einfordern. Die Einstellung findet man in Solid unter „Einstellungen->Erweitert“.

Über Solid kannst du die REST API bequem deaktivieren
Wenn du schon dabei bist, kannst du auch gleich hinterfragen, ob du XML-RPC benötigst und im Zweifelsfall auch das abschalten für mehr Sicherheit.
REST API ohne Plugin deaktivieren
Wer kein Plugin verwenden will, der kann die REST API auch mit einem Filter in der functions.php deaktivieren:
add_filter('rest_enabled', '_return_false'); add_filter('rest_jsonp_enabled', '_return_false');
Alternativ:
function disable_rest_api( $access ) { if ( ! is_user_logged_in() ) { return new WP_Error( 'rest_forbidden', __( 'REST API deaktiviert.', 'textdomain' ), array( 'status' => 403 ) ); } return $access; } add_filter( 'rest_authentication_errors', 'disable_rest_api' );
REST API per .htaccess deaktivieren (für Apache-Server)
Falls du die REST-API auf Serverebene blockieren möchtest (und dein Hoster das zulässt), kannst du dies über die .htaccess-Datei tun:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} ^/wp-json/ [NC] RewriteRule .* - [F] </IfModule>
Diese Regel blockiert alle REST-API-Anfragen, unabhängig vom Benutzerstatus.
Zusammenfassung
Die REST-API ist ein leistungsstarkes Feature in WordPress, aber nicht jede Website braucht sie. Falls du keine externe Nutzung der API planst, ist es aus Sicherheits- und Performance-Gründen sinnvoll, sie zu deaktivieren. Ob du ein Plugin nutzt oder den Code manuell einfügst, hängt von deinen Vorlieben ab.
__ return_false mit zwei __
sonst gibts massig: call_user_func_array() expects parameter 1 to be a valid callback, function ‚_return_false‘ not found …
vielen Dank für die Anleitung, hat mir sehr geholfen
Das könnte sein
Wie ist denn diese Alternative zu beurteilen?
function remove_api () {
remove_action( ‚wp_head‘, ‚rest_output_link_wp_head‘, 10 );
remove_action( ‚wp_head‘, ‚wp_oembed_add_discovery_links‘, 10 );
}
add_action( ‚after_setup_theme‘, ‚remove_api‘ );
Gruß
Hansjörg Leichsenring
Entfernt das nicht nur Links im Head?