Tools
WordPress exposure checker
A WordPress exposure check requests the handful of paths a standard installation serves — the login page, the REST API index, the XML-RPC endpoint — and the paths where configuration, backup or debug files end up when they are accidentally left in the web root. Each is a plain request. No credentials are submitted, no RPC method is called, and nothing found is ever stored or displayed. The result tells you which parts of a default install are reachable, so you can decide which of them you still need.
What is requested, precisely
The login page: a request to see whether it is served at the default path. Nothing is posted, no username is tried, and no login is attempted.
The REST API index: a request to the public index to see whether it answers. Only the public index is read, and no authenticated route is called.
The XML-RPC endpoint: a plain GET, to see whether the file responds. No XML-RPC method is ever invoked.
Configuration and debug paths: a defensive check for files that should never be served — a configuration file, a backup copy, a debug log. Contents are never stored or shown, only the fact that the path answered.
Reading the result without over-reacting
A login page at the default path is normal. It is also the first thing credential-stuffing traffic tries, which is an argument for rate limiting and two-factor authentication rather than for moving it.
A reachable REST API index is normal too, and by design on most installations. Knowing it answers is what lets you decide whether any of its public routes need restricting.
A responding XML-RPC endpoint is a normal WordPress endpoint, not a vulnerability. It widens the surface, and if no client needs it — no remote publishing, no mobile app, no connected service — it can be turned off.
A served configuration, backup or debug file is the one finding on this page that is serious on its own, and it is serious immediately.
Why a served configuration file is different from the rest
A WordPress configuration file contains the database credentials and the authentication salts. Anything that can read it has both.
Removing the file from the web root is the first step and it is not the last one. Every credential it contained has to be rotated, because you cannot know from the outside how long the path was answering.
The same applies to a backup copy of it, which is how this usually happens — an editor leaving a file with a backup suffix that the server no longer recognises as one to execute, and therefore serves as text.
A debug log belongs in the same category for a different reason: it accumulates whatever the application wrote while something was going wrong, which is frequently more than anyone intended to keep.
The limits, stated plainly
No credentials are submitted anywhere, so nothing behind the login is examined.
No path enumeration. A fixed set of conventional paths is requested; there is no wordlist and no generated path, so absence is not proof of absence.
Nothing found is exploited, downloaded or reproduced in the report. A served file is reported as a served path.
A path that answers 403 is recorded as refused. Whether that refusal comes from the server, a plugin or a protection layer is not distinguishable from outside.
What VeriFixScan uses
`wordpress.login` checks whether the login page is served. `wordpress.rest_api` checks whether the public REST index answers. `wordpress.xmlrpc` checks whether the XML-RPC file responds to a plain GET.
`wordpress.config_exposure` is the defensive check for accidentally served configuration, backup or debug files.
`wordpress.detected` establishes that the site is WordPress in the first place, from the signals the profile detector already collected — the checks above run only when it does.
Frequently asked questions
- Does this try to log in to my site?
- No. The login path is requested to see whether it is served. Nothing is posted to it, no username or password is tried, and no account is touched.
- Should I disable the REST API?
- Usually not — the block editor and many plugins depend on it. The useful action is knowing it answers and reviewing which public routes are exposed, then filtering the specific ones you do not want public.
- Is a responding xmlrpc.php a vulnerability?
- No. It is a standard WordPress endpoint. It widens the attack surface, so the question is whether anything still uses it — remote publishing, a mobile client, a connected service. If nothing does, turning it off removes a surface at no cost.
Sources
Related
VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.
Scan a website