Directory / plugin
Birim REST Lock
v1.0.0 · by Melih Birim
Lock the WordPress REST API for logged-out visitors. Allowlist routes, stop username enumeration, import from Disable REST API.
About this plugin
WordPress exposes a public REST API at /wp-json/. Anyone can list your users, your installed plugins’ endpoints and your content. Birim REST Lock closes it without breaking your site.
- Allowlist mode (default): block every route except the ones you list.
- Blocklist mode: allow every route except the ones you list.
- Wildcards:
/wp/v2/posts*covers/wp/v2/postsand/wp/v2/posts/123. - Role rules: apply the same rules to logged-in roles you choose, such as subscribers or customers. Administrators are never blocked.
- Stop username enumeration: always block
/wp/v2/users. - Hide what you run: block the route index and namespace listings, and remove REST links from page HTML, the
Linkheader and RSD. - Safe defaults: Contact Form 7, WooCommerce block checkout, oEmbed and Jetpack routes are allowed out of the box. CORS preflight (
OPTIONS) requests pass through, so token logins keep working. - One-click import from Disable REST API: moves your logged-out allowlist and managed roles across.
- Lightweight: one file, works on PHP 7.4 and up, no tracking, no external requests, no ads.
For developers
birim_rest_lock_blockedfilter:( bool $blocked, string $route, WP_REST_Request $request )to override the decision.birim_rest_lock_messagefilter: change the error message.