Back to Article List

"Secure WordPress Hosting" That Failed a Pen Test

The word "secure" on a hosting plan mostly protects the host's marketing, not your WordPress site. A pen-test talk at WordCamp Europe put several "secure WordPress hosting" plans through real attacks and found the WordPress-specific holes — vulnerable plugins, weak admin endpoints, leaky XML-RPC — sailed straight through. The server was fine. The application on top of it was wide open.

That gap is the whole point. Most host-level security stops at the operating system and the firewall. The attacks that actually take WordPress sites down happen one layer up, inside your plugins, themes and login flow. A host can be genuinely well-run and still leave that layer entirely to you.

So instead of trusting the badge, test it. Below is a checklist you can run against any host — including us — in an afternoon, with tools you already have.

Why "secure hosting" and "secure WordPress" are not the same thing

A "secure" host protects the infrastructure; almost nothing on a stock plan protects WordPress itself. Firewalls, isolated accounts, patched PHP and DDoS filtering all matter, and a decent host handles them. But none of that stops an outdated contact-form plugin from handing an attacker a shell.

The researcher's finding was blunt: hosts marketed as "secure for WordPress" often ship the same default WordPress config as everyone else. No login rate limiting, XML-RPC open, REST API user enumeration live, file editing enabled in the dashboard. The marketing implied WordPress-aware protection. The reality was a normal LAMP stack with a nice landing page.

This isn't a reason to distrust every host — it's a reason to know exactly where their job ends and yours begins. A good host tells you that line clearly. At TPC Hosting we'd rather say "here's what we lock down at the server, here's what you own in wp-admin" than let a badge do the talking.

Run these five tests against your host today

You can verify most of a host's real WordPress posture with five checks and a browser. Do them against your own live site — you have permission to test what you own.

  • User enumeration: open yoursite.com/wp-json/wp/v2/users and yoursite.com/?author=1. If either returns usernames, your logins are half-guessed already.
  • XML-RPC: visit yoursite.com/xmlrpc.php. A "XML-RPC server accepts POST requests only" message means it's live — and it's the classic route for brute-force amplification.
  • Version leakage: view page source and search for meta name="generator". A visible WordPress version tells attackers exactly which exploits to try.
  • Login brute-force: enter a wrong password at /wp-login.php ten times fast. If you're never slowed, throttled or blocked, there's no rate limiting.
  • Directory exposure: check /wp-content/uploads/ and /.git/. An open index listing or a reachable .git folder leaks structure and sometimes credentials.

If a plan sold as "secure WordPress hosting" fails three or more of these, the label is decoration. A truly WordPress-aware setup blocks user enumeration and rate-limits login attempts at the edge, before the request ever hits PHP.

The one test that separates real security from theatre

Ask the host a direct question: "Do you patch known-vulnerable plugin versions at the network level, or is that on me?" The answer sorts the field instantly. Most WordPress compromises trace back to a plugin with a public CVE that nobody updated. Server hardening does nothing about that.

Some hosts run virtual patching — a web application firewall with rules that block exploit attempts against known plugin vulnerabilities even before you update. That's genuine WordPress security. Others simply don't, and expect you to keep plugins current yourself. Both are defensible positions. What's not defensible is selling "secure" while quietly meaning the second one.

You can sanity-check any WAF claim in two minutes. Try loading a URL with an obvious probe like yoursite.com/?p=1&test= or a path traversal string. A real application firewall returns a 403 or a block page. A silent 200 means nothing is inspecting your traffic for you.

Questions that get an honest answer out of any host

Support chat is your fastest audit tool — the quality of the answer tells you more than any feature page. Real engineers give specific answers; a marketing script deflects. Send these before you commit, or to the host you're already on:

  • Where does your security stop and mine begin — plainly?
  • Do you rate-limit or block WordPress login brute-force at the edge?
  • Do you virtually patch known plugin CVEs, or do I own updates?
  • Are accounts on shared servers isolated, so one hacked site can't read another's files?
  • How fast are malware scans, and do they alert me or just quarantine silently?
  • If I'm compromised, do I reach a person who can help clean it, at 3am?

That last one matters more than any feature. When a site gets hit, you don't want a ticket queue — you want someone who knows the stack picking up. We staff real engineers on support around the clock at TPC Hosting for exactly this reason, and it's the kind of thing worth confirming in a live chat before you sign anywhere.

What to lock down yourself, no matter how good the host is

Even on a genuinely secure host, five WordPress settings are always your job — do them once and you close most of the gaps a pen test exploits. Hosts secure the building; these lock your own front door.

SettingActionWhy
Dashboard file editingAdd define('DISALLOW_FILE_EDIT', true); to wp-config.phpStops a hijacked admin from injecting code instantly
Login protectionEnable 2FA + limit login attemptsKills brute-force and credential-stuffing
XML-RPCDisable it unless an app needs itRemoves a common amplification vector
User enumerationBlock the REST users endpoint and ?author queriesHides valid usernames
Plugin hygieneRemove unused plugins, update weeklyCuts your CVE exposure directly

None of this needs a paid plugin. A single security plugin like Wordfence or the config edits above cover it. The habit that matters most is the boring one: update weekly and delete what you don't use. A dormant, outdated plugin is a live entry point whether it's active or not.

If you're moving to get a cleaner setup, keep the transition simple. TPC Hosting handles free migration and gives you 30 days to back out, so you can run every test above on your new home before you fully commit — GDPR-friendly and EU-hosted, if that's on your list too.

The takeaway

Treat "secure" as a claim to verify, not a promise to trust. Run the five browser tests, ask the six questions, lock down your own five settings. If a host answers plainly and passes the probes, the badge means something. If it dodges, you've learned what you needed to know for the price of an afternoon.

FAQ

Is it legal to run these tests on my own site?

Yes — testing a site you own or control is entirely legal. The checks here (viewing endpoints, source code and login behaviour) are passive or low-impact. Never run the same probes against a site you don't own or have written permission to test.

Does a 'secure WordPress hosting' plan mean I don't need a security plugin?

No — you still need application-level protection like 2FA and login limiting. Host security covers the server and network, but the most common WordPress attacks target plugins, themes and the login flow, which live inside your install and remain your responsibility.

What's the single most important thing a host can do for WordPress security?

Block login brute-force and known plugin exploits at the edge, before requests reach PHP. Ask directly whether they rate-limit logins and virtually patch known plugin CVEs — the specificity of the answer tells you whether the 'secure' label is real.

How often should I re-run this checklist?

Run it once now, then after any major change — a new host, a plugin overhaul, or a suspected compromise. A quick monthly pass on the five browser tests takes ten minutes and catches config drift before an attacker does.

My host failed several tests. Should I switch immediately?

Not necessarily — first fix the settings you own, since several failures are WordPress-side, not host-side. If the host also can't answer basic questions about isolation, rate limiting or incident support, then it's worth moving to one that can, ideally with free migration and a trial window.