🎉 Use coupon MYXERO to enjoy 20% recurring discount on any plan. View Pricing

How to Safely Disable XML-RPC and Pingbacks to Boost WordPress Security and Performance

XeroWP May 9, 2026 7 min read

Introduction: The Hidden Door in Your WordPress Site

Imagine you have a high-security vault for your business. You have a heavy steel door at the front, a complex alarm system, and surveillance cameras. But then you realize there is a small, unmonitored delivery hatch around the back that uses a key from twenty years ago. In the world of WordPress, that delivery hatch is XML-RPC.

Originally designed to allow external applications to communicate with your WordPress site, XML-RPC was a revolutionary feature in the early 2000s. However, as web technology evolved and the WordPress REST API became the modern standard, XML-RPC transitioned from a useful tool into a primary target for hackers and a significant drain on server resources.

In this guide, we will explore why XML-RPC is often more trouble than it is worth, how it impacts your server load through pingbacks, and the step-by-step methods to disable it safely without breaking your site's functionality.

What is XML-RPC and Why Does it Exist?

XML-RPC (Extensible Markup Language - Remote Procedure Call) is a protocol that enables communication between WordPress and other systems. It works by encoding the communication in XML and sending it over HTTP.

Before WordPress had a robust mobile app or the modern REST API, XML-RPC was the only way for external tools to interact with your site. If you wanted to post to your blog from a desktop client like Windows Live Writer, or use the early versions of the WordPress mobile app, XML-RPC was the engine under the hood.

It also powers Pingbacks and Trackbacks. When another blog links to you, their site sends a "ping" to your site via XML-RPC, and your site automatically creates a comment on your post acknowledging the link. While this sounds like a great way to build a community, it has become a massive vector for spam and resource exhaustion.

The Dark Side: Security and Performance Risks

If XML-RPC is so functional, why are we talking about disabling it? The answer lies in how modern attackers exploit its architecture.

1. Amplified Brute Force Attacks

In a standard login attempt, a hacker tries one username and one password. Most security plugins or managed hosts (like XeroWP) will block that IP after a few failed attempts. However, XML-RPC has a feature called system.multicall. This allows an attacker to test hundreds of password combinations in a single HTTP request.

By bundling thousands of login attempts into just a few requests, attackers can bypass traditional login rate-limiting, making your site significantly more vulnerable to credential cracking.

2. Distributed Denial of Service (DDoS) via Pingbacks

Attackers can use the pingback feature of thousands of WordPress sites to launch a DDoS attack against a single target. They send a pingback request to your site, telling it that a target URL has linked to you. Your server then attempts to reach out to that target URL to verify the link. When thousands of WordPress sites do this simultaneously to one victim, the victim's server crashes. Worse, your own server's resources are wasted processing these fake requests.

3. High CPU and Memory Usage

Every time an XML-RPC request hits your site, WordPress has to initialize its core files, check the database, and process the XML. If your site is being hammered by bot traffic targeting xmlrpc.php, you will see spikes in CPU and RAM usage, often leading to slow page load times for your actual human visitors.

How to Check if XML-RPC is Active on Your Site

Before you start disabling things, it is good to know if it is currently running. The easiest way to check is to append /xmlrpc.php to your domain (e.g., https://example.com/xmlrpc.php).

  • If you see a message saying "XML-RPC server accepts POST requests only," then it is active.
  • If you see a 403 Forbidden or 404 Not Found error, it is already disabled at the server or plugin level.

Method 1: Disabling XML-RPC via a Plugin (The Easy Way)

For most users, using a dedicated plugin is the safest and most straightforward method. This ensures that the protocol is blocked without you having to touch a single line of server configuration code.

  1. Log in to your WordPress dashboard.
  2. Go to Plugins > Add New.
  3. Search for "Disable XML-RPC".
  4. Install and activate the plugin by Philip Erb (or a similar reputable developer).

This plugin works by adding a simple filter to your site that tells WordPress to reject all XML-RPC requests. It is lightweight and requires zero configuration.

Method 2: Disabling XML-RPC via Code (The Developer Way)

If you prefer not to add another plugin to your site, you can disable the functionality using a filter in your theme's functions.php file or a site-specific plugin.

Add the following line of code:

add_filter( 'xmlrpc_enabled', '__return_false' );

Note: While this stops WordPress from processing XML-RPC requests, it does not stop the requests from actually reaching your server. To save the most server resources, blocking it at the server level is even better.

Method 3: Blocking XML-RPC at the Server Level (The Performance Way)

Blocking the request before it even reaches the WordPress PHP engine is the most efficient way to reduce server load. This prevents your server from having to "spin up" PHP just to say no.

For Apache (.htaccess)

Add the following code to your .htaccess file, usually located in your root directory:

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

For Nginx

If your site runs on Nginx, add this block to your server configuration file:

location = /xmlrpc.php {
    deny all;
    access_log off;
    log_not_found off;
}

At XeroWP, we often handle these types of optimizations at the edge or server level so you don't have to worry about manual configuration, ensuring your site stays fast even under heavy bot pressure.

Disabling Pingbacks and Trackbacks Specifically

If for some reason you need XML-RPC active (for example, for a specific legacy integration) but you want to stop the annoying pingback spam, you can do that within the WordPress settings.

  1. Navigate to Settings > Discussion.
  2. Uncheck "Allow link notifications from other blogs (pingbacks and trackbacks) on new posts."

Note that this only applies to new posts. To disable them on old posts, you may need to run a bulk edit or a database query.

Will Disabling XML-RPC Break Anything?

This is the most common concern for site owners. Because XML-RPC is an older technology, most modern tools have moved away from it. However, there are a few exceptions:

  • Jetpack: Some Jetpack modules still rely on XML-RPC to communicate with WordPress.com. If you use Jetpack, disabling XML-RPC entirely might break features like Publicize or the Jetpack mobile management tools.
  • WordPress Mobile App: While the app is moving toward the REST API, some older versions or specific features might still require XML-RPC.
  • Third-Party Automation: If you use tools like IFTTT or Zapier to post to your WordPress site via the legacy XML-RPC method, these will stop working.

If you rely on these services, consider using a plugin like "Configurable XML-RPC" which allows you to disable the dangerous parts (like pingbacks) while keeping the necessary parts for Jetpack active.

Conclusion: A Faster, More Secure WordPress Site

Disabling XML-RPC and pingbacks is one of the "low-hanging fruits" of WordPress optimization. It provides an immediate boost to your security posture by closing a common brute-force entry point and preserves server resources by ignoring useless bot traffic.

In the modern web era, the WordPress REST API provides a faster, more secure, and more flexible way to connect your site to the world. Unless you have a very specific reason to keep the "back delivery hatch" open, it's time to lock it for good.

At XeroWP, we believe hosting should be proactive, not reactive. Our managed platform is designed to mitigate these risks automatically, so you can focus on building your brand while we handle the technical heavy lifting. If you are looking for a hosting partner that takes performance and security as seriously as you do, explore our plans today and see the difference a truly managed environment can make.