Opens in a new tab
Turquoise abstract wavy W logo on a black background
Turquoise abstract wavy W logo on a black background
White WP PowerSuite logo on a black background
White WP PowerSuite logo on a black background
[wpps_ai_summarize]
On This Page
Last updated: 01/09/2026

Disable XML-RPC

Closes the old XML-RPC channel many password-guessing tools still target. Fine for most sites; skip if you rely on legacy apps or remote publishing that need it.

Overview

Disable the WordPress XML-RPC API when your website does not rely on legacy remote publishing, Jetpack XML-RPC connectivity, or other applications that still use the endpoint.

Disable XML-RPC blocks direct requests to xmlrpc.php, disables WordPress XML-RPC methods, and removes related discovery information such as the RSD link and X-Pingback response header. The protection is applied at multiple levels so another plugin cannot simply re-enable XML-RPC later in the request.

Disable XML-RPC is a Free security module in WP PowerSuite with no settings to configure.

Solid black square
Solid black square
Who is this for?
  • WordPress websites that do not use XML-RPC integrations
  • Agencies hardening production websites for clients
  • Sites that use modern WordPress workflows instead of legacy remote publishing
  • Administrators who want to reduce unnecessary public WordPress endpoints
  • Security-conscious sites that do not depend on Jetpack XML-RPC connectivity

Features

Completely Disable WordPress XML-RPC
Turn off WordPress XML-RPC functionality and remove the registered XML-RPC methods while the module is active.
Prevent Plugins From Reopening XML-RPC
Protection runs at a very late filter priority so plugins running afterward cannot simply turn xmlrpc_enabled back on or restore XML-RPC methods.
Remove XML-RPC Discovery
Remove WordPress's RSD and Windows Live Writer discovery links from the frontend <head>.
Remove X-Pingback Headers
Strip X-Pingback response headers that would otherwise advertise the WordPress XML-RPC endpoint.

What Is WordPress XML-RPC?

XML-RPC is a remote communication interface that has been part of WordPress for many years. It allows external software to communicate with a WordPress website and perform supported operations without using the normal browser-based dashboard.
Historically, XML-RPC was important for remote publishing applications, desktop blogging software, WordPress mobile workflows, pingbacks, and integrations that needed programmatic access to a website. Some services, including certain Jetpack functionality and older publishing tools, may still rely on it.
Modern WordPress also has the REST API, and many newer integrations have moved toward REST-based workflows. As a result, a large number of WordPress websites continue exposing xmlrpc.php even though nothing in their current technology stack actually uses it.
If your website has no legitimate XML-RPC dependency, Disable XML-RPC gives you a straightforward way to close that interface instead of leaving an unused remote API available

Block the XML-RPC Endpoint, Not Just Individual Features

There is an important difference between disabling a particular XML-RPC feature and disabling XML-RPC itself.
Some WordPress hardening approaches remove only selected XML-RPC methods, such as pingbacks. That can be useful when other XML-RPC functionality still needs to operate, but the xmlrpc.php interface itself remains available.
WP PowerSuite's Disable XML-RPC module takes the broader approach. Direct requests to the actual XML-RPC endpoint are blocked with an HTTP 403 response, WordPress's xmlrpc_enabled state is forced off, and the available XML-RPC methods are emptied.
These protections are applied with a very late priority so another plugin cannot casually re-enable the interface later during the same WordPress request.
The module does not physically delete xmlrpc.php or modify WordPress core files. Disable the module and WordPress can return to its normal XML-RPC behavior

Reduce an Unused WordPress Attack Surface

XML-RPC is a legitimate WordPress feature, but any remotely accessible interface can become an additional surface that needs to be maintained and protected.
Historically, automated attacks have targeted XML-RPC functionality for activities such as authentication abuse and pingback-related attacks. If a website genuinely depends on XML-RPC, the appropriate response is to secure and monitor that functionality rather than blindly disable it.
But when the website does not use XML-RPC at all, keeping the endpoint publicly available provides little benefit.
Disabling an unused interface can simplify the site's security posture because there is one less remote entry point that administrators need to consider. This is particularly relevant for business websites and agency-managed installations where the approved application stack is known and remote XML-RPC publishing is not part of it.
Disable XML-RPC should therefore be viewed as targeted hardening: disable functionality you know the website does not need, rather than assuming XML-RPC must always be turned off on every WordPress installation.

Remove XML-RPC Discovery From the Frontend

Blocking xmlrpc.php handles direct access, but WordPress can also advertise related functionality through frontend markup and HTTP headers.
Disable XML-RPC removes the standard RSD discovery link from the HTML <head>, along with the Windows Live Writer manifest link associated with older remote-publishing workflows. It also strips X-Pingback headers that can expose the site's XML-RPC pingback endpoint.
Removing these references keeps the frontend consistent with the actual security state of the website. If XML-RPC has intentionally been disabled, WordPress no longer needs to advertise discovery information for functionality visitors and external applications cannot use.
Discovery removal is not the primary security control—the endpoint and methods themselves are blocked—but it provides useful cleanup alongside the actual restriction.

Use Cases

  • Harden Business Websites
    Disable an unused remote WordPress interface when the site is managed entirely through normal dashboard and modern API workflows.
  • Reduce Unnecessary Public Endpoints
    Remove XML-RPC from websites where no approved application or integration depends on it.

Frequently Asked Questions

Related Modules

Tell modern browsers to enforce sensible safety rules—like blocking sneaky scripts and iframe tricks—with strong defaults you can tighten further for HSTS...
Disabled
Turn off public "forgot password" self-service for everyone. Use only when you reset passwords another way (manual admin password, WP-CLI, or admin-sent...
Disabled
Always open your dashboard and login screen over a secure https:// link. Anyone using the old http:// address is sent to the...
Disabled
Allow or block visitors by IP address—ideal for office-only dashboards or shutting out known troublemakers. Rules apply site-wide, including wp-admin and login.
Disabled
Automatically protects visible email addresses and mailto links from basic spam bots by safely encoding them while keeping them clickable for visitors.
Disabled
Bot protection with Cloudflare Turnstile on logins, forms, comments, and WooCommerce—low hassle for real people.
Disabled
Keep a clear record of important dashboard activity—who logged in, what changed, and when—so you can investigate issues or stay audit-ready without...
Disabled
Remove the dashboard screens that let anyone edit theme or plugin code from the browser—one less disaster if an account is compromised.
Disabled
Put your whole site behind one shared password—ideal for staging, client previews, or a soft launch before you go public.
Disabled
Blocks risky default usernames during registration so bots have fewer easy targets.
Disabled