Disable WordPress XML-RPC requests

WordPress uses an implementation of the XML-RPC protocol in order to extend functionality to software clients.

This Remote Procedure Calling protocol allows commands to be run, with data returned formatted in XML.

Beginning with WordPress 3.5 the XML-RPC functionality is enabled by default, without a way to disable.

Do I need WordPress XML-RPC?

Most users don’t need WordPress XML-RPC functionality, and it’s one of the most common causes for exploits.

Some clients such as the official WordPress Mobile Apps and Blogger use XML-RPC requests to function.

All of the WordPress XML-RPC requests are remote POST requests to the xmlrpc.php script.

A full list of the different requests that can be made via XML-RPC can be found at XML-RPC WordPress API

Block WordPress xmlrpc.php requests with .htaccess

I want to send WordPress XML-RPC requests from my fictional IP address of 123.123.123.123.

So I can deny all requests to the xmlrpc.php file, except for that IP, using the following .htaccess rules:

# Block xmlrpc.php requests
<Files "xmlrpc.php">  
order deny,allow 
deny from all 
allow from 123.123.123.123
</Files>

If you didn’t need any IP addresses to use XML-RPC requests, just don’t use any allow lines.

Share this Article
InMotion Hosting Contributor
InMotion Hosting Contributor Content Writer

InMotion Hosting contributors are highly knowledgeable individuals who create relevant content on new trends and troubleshooting techniques to help you achieve your online goals!

More Articles by InMotion Hosting