Disables all XML-RPC functions
Disable XML-RPC blocks WordPress XML-RPC, pingback, and trackback requests.
XML-RPC provides remote access to WordPress for older publishing tools and external integrations. On sites that do not use it, the endpoint can create an unnecessary attack surface and receive automated login attempts, pingback abuse, and other unwanted traffic.
The plugin blocks direct requests to xmlrpc.php and wp-trackback.php, disables XML-RPC authentication and all registered methods, and terminates requests that reach XML-RPC method dispatch. It also removes the RSD and X-Pingback discovery headers, disables pingback and trackback defaults for new content, closes them at runtime, and hides the related defaults on the Discussion settings page.
The WordPress REST API, wp-json, and WooCommerce REST API continue to work normally. The plugin does not modify web server configuration or change existing pingback and trackback records in the database.
- clarified the XML-RPC dispatch fallback comment
- runs the XML-RPC dispatch fallback at late priority
999with zero accepted args - blocks direct requests to
wp-trackback.php - forces
pings_openfalse at late priority999to close pingbacks and trackbacks at runtime without modifying existing content
Tested up to:bumped to 7.0- tightened fail-fast
REQUEST_URIhandling to parse only the request path before matchingxmlrpc.php - runs XML-RPC disabling filters at late priority
999to avoid later method re-registration
- added fail-fast XML-RPC blocking via
REQUEST_URIdetection when used as an MU plugin - blocks
xmlrpc.phpbefore WordPress fully loads to reduce CPU usage under attack - improves compatibility with proxies and rewritten server paths
- strengthens XML-RPC shutdown with layered transport, file, protocol, and request-level protection
- added protocol-level hardening by disabling all XML-RPC methods via
xmlrpc_methodsfilter - prevents plugins from re-registering XML-RPC endpoints after XML-RPC is disabled
- strengthens XML-RPC lockdown without affecting REST API or wp-json
- replaced raw
header()calls with WordPress-nativestatus_header()for proper HTTP status handling Tested up to:bumped to 6.9
- removed redundant
xmlrpc_methodsfilter - fixed "dummy" CSS class to hide discussion settings reliably
- improved code formatting and hook order
- added
Tested up toplugin header - added
Update URIplugin header - added
Text Domainplugin header
- added
Requires PHPplugin header - improved
gu_override_dot_orgsnippet
- fixed
gu_override_dot_orgsnippet
- completely refactored to WordPress standards
- several new snippets to further disable XML-RPC calls and methods
- support for Git Updater
- support for PHP 7.0 to 8.3
- support for Multisite
- updated recommended plugins
- tested with WP 5.0
- updated recommended plugins
- optimized plugin code
- added warning for Multisite installations
- updated recommended plugins
- updated plugin meta
- updated recommended plugins
- better support for
DISABLE_NAG_NOTICES
- tested with WP 4.9
- updated plugin meta
- partial support for
DISABLE_NAG_NOTICES
- optimized plugin code
- updated recommended plugins
- added rating request notice
- optimized plugin code
- updated recommended plugins
- added recommended plugins notice
- initial release