Manage GPL

← Back to blog

Why WordPress sites get hacked — and how plugin updates actually protect you

· John MM
Why WordPress sites get hacked — and how plugin updates actually protect you

If you're new to WordPress, you've probably heard some version of this advice already: keep your plugins updated. It usually shows up in a list of "WordPress security best practices" right alongside vague tips like "use a strong password" and "back up regularly," and it's easy to nod along and then forget about it. The thing is, plugin updates aren't just generic hygiene — they're specifically the single biggest factor between a WordPress site that stays online for years and one that gets defaced, ransomed, or quietly turned into part of someone else's malware operation. This post explains why, in plain language, with real examples.

I'll walk you through what "getting hacked" actually means in 2026, why outdated plugins are the way most attackers get in, what a plugin update actually contains under the hood, and why the gap between a vulnerability being announced and you clicking Update Now is the window every attacker is racing to exploit. By the end you should understand exactly why the orange "1 update available" badge in your WordPress admin matters, and what to actually do about it.

The boring truth: most hacks aren't sophisticated

When people picture a website being hacked, they imagine a hooded figure typing furiously in a green-on-black terminal, breaking through layers of cryptography. The reality is much more mundane. The vast majority of WordPress sites that get compromised aren't broken into by skilled human attackers at all — they're picked up by automated scanners that try a handful of known exploits against millions of sites a day, and any site running a vulnerable version of a popular plugin gets caught in the net.

You can think of it like this: imagine a thief walking down a street, jiggling every door handle. They aren't looking for hard targets. They're looking for the small percentage of doors that are unlocked. On the internet, "unlocked" means "running a plugin version with a publicly disclosed vulnerability that hasn't been patched on this particular site yet." If your plugins are up to date, the scanner finds nothing to exploit and moves on. If even one plugin is six weeks behind on a security update, the scanner walks right in.

This is why the same defensive advice keeps showing up everywhere: it's not because security people are unimaginative — it's because the threat is genuinely that simple, and the fix is genuinely that effective.

What "hacking" actually means in practice

Before we get to the role of plugin updates, it helps to know what a successful attack actually looks like. WordPress hacks tend to fall into a few common categories:

  • SEO spam injection. The most common outcome. Attackers add hidden links to your site pointing at gambling sites, knock-off pharmacies, or shady casinos. You won't notice anything visually, but your site's Google ranking quietly tanks and Search Console eventually flags your domain. This is the digital equivalent of someone wallpapering the back of your shop with leaflets — annoying, hard to clean up, but not immediately catastrophic.
  • Defacement. The attacker replaces your homepage with their message, usually political or chest-thumping ("Hacked by [group name]"). Embarrassing, fixable, but a public signal to your visitors that you've lost control of your site.
  • Cryptocurrency mining. Your visitors' browsers get hijacked to mine crypto for the attacker. They don't know it; their laptop fans just spin up whenever they're on your site. You don't know either, until someone reports it.
  • Backdoor installation. The attacker adds a hidden admin user (often called something like wpuser or admin1) and a small PHP file in your uploads folder that lets them come back later. Even if you patch the original vulnerability, they're already in. Cleaning this up properly means a full file audit and database scan, not just an update.
  • Phishing page hosting. Your site becomes a host for fake login pages — often branded as PayPal, Microsoft, or your local bank. Visitors who land on those pages via email links get their credentials stolen. The attacker uses your hosting and your domain reputation as cover.
  • Ransomware. Less common on WordPress specifically, but it happens: the attacker encrypts your database or files and demands payment to restore them. If you don't have a recent backup, you're stuck.

In every one of these cases, the attacker needs some way in. They're not magicians. They need a vulnerability — an unintended hole in your site's code that lets them do something they shouldn't be able to. And the overwhelming source of those vulnerabilities is plugins.

Why plugins specifically?

WordPress core itself is, on the whole, pretty solid. The team that maintains it is well-funded, the codebase is heavily reviewed, and the security release process is mature. Hacking WordPress core directly is hard — and when a core vulnerability does surface, it's patched fast and most sites auto-update within hours.

Plugins are a different world. There are roughly 60,000 plugins in the WordPress.org directory alone, and many more sold privately. They're written by tens of thousands of different developers, ranging from full-time security-savvy professionals to part-time hobbyists who built something five years ago and never touched it again. Each plugin is essentially a separate piece of software running with full permission inside your site. A single one with a security flaw is enough.

And popular plugins are particularly attractive targets, because finding one bug in a plugin that's installed on a million sites lets the attacker compromise a million sites with the same exploit. This is why the headline-grabbing WordPress vulnerabilities are almost always in widely-used plugins — caching plugins, page builders, form plugins, e-commerce plugins. Big install base = big payoff for the attacker if they find one bug.

A concrete example: how a vulnerability becomes a hack

Let me walk through a real example so this isn't abstract. In 2024, a popular caching plugin called LiteSpeed Cache — installed on more than five million WordPress sites at the time — disclosed a vulnerability that let an unauthenticated attacker (someone with no account on your site at all) escalate themselves to administrator. The bug was in how the plugin handled session simulation. An attacker just needed to send a specific HTTP request, and the plugin would treat them as logged in as any user they chose, including the site admin.

The patch came out the same day the vulnerability was disclosed. Sites running the patched version were safe. Sites that hadn't updated yet were not.

Here's what typically happens after a disclosure like that:

  1. Hour 0. The plugin author publishes the patched version and a security advisory.
  2. Hour 1–6. Security researchers and threat intelligence services pick up the advisory. Detailed write-ups appear in WordPress security blogs.
  3. Hour 6–24. Attackers and their automated tools reverse-engineer the patch (the diff between old and new versions tells them exactly where the bug was), and weaponise an exploit. Mass-scanning starts.
  4. Day 1–7. The exploit hits its peak: scanners across the internet are now actively probing every site running the vulnerable version.
  5. Week 2 onward. Sites that still haven't updated remain pickable. They'll often stay pickable for years — long-tail attacks against unpatched sites continue indefinitely, because the cost of trying is essentially zero.

If you updated within the first day, you were safe before the exploitation wave even started. If you updated within the first week, you were safe before the wave peaked. If you didn't update for a month — which is genuinely common — you spent that month sitting in the open, waiting for a scanner to find you. And once a vulnerable site is found, the chain runs automatically: scan → exploit → backdoor → spam injection or sale of access on a marketplace, sometimes within minutes.

This is why plugin updates aren't optional, and it's why "I'll get to it next week" is genuinely a security risk and not just a chore you're putting off.

Why plugin authors keep finding bugs (and that's good)

It's tempting to read all this and think "if these plugins keep having bugs, maybe I should avoid plugins entirely." That's the wrong takeaway. Every piece of software has bugs. The question is whether the bugs get found and fixed, or whether they sit there silently until someone malicious finds them first.

A plugin that has frequent security updates is, somewhat counterintuitively, often a sign of a healthier plugin than one that hasn't been updated in two years. The active one has security researchers looking at it, has a maintainer who responds, and is actively closing holes as they're discovered. The dormant one isn't bug-free — it just doesn't have anyone looking. Vulnerabilities in unmaintained plugins get found eventually, usually by the wrong people, and there's no patch to install when they do.

So when you see your favourite plugin push out its third security update of the year, it's not a reason to switch to something else. It's the system working: bug found, bug fixed, users protected — assuming users actually install the update.

What's actually inside a plugin update

"Plugin update" is one of those phrases that sounds vague unless you've looked at what one literally contains. Underneath the version number bump, an update is just a new copy of the plugin's PHP files, JavaScript, CSS, and assets, replacing the old ones in your wp-content/plugins/[plugin-name]/ directory. Sometimes there's also a one-time database migration that runs on activation — adding a new column, renaming a setting, that kind of thing.

A security update specifically usually includes:

  • The patched code path. Often a few lines of input validation, an authorisation check that was missing, or a fix to how the plugin handles user input. Usually small in size, large in impact.
  • A version bump. So WordPress's update system knows you're behind.
  • A changelog entry. Sometimes vague ("Security improvements"), sometimes detailed ("Fixed an issue where unauthenticated users could trigger the export endpoint").
  • Sometimes a CVE number. If the vulnerability got an industry-standard tracker, it'll be referenced.

The fix itself is often genuinely tiny. The famous File Manager plugin vulnerability from 2020 — which let attackers run arbitrary code on hundreds of thousands of sites — was patched in a single line of code. A single line, applied to your site by clicking Update Now, was the difference between having a working WordPress site and having an unintentional malware host.

The update gap

The dangerous window is the time between an update being available and you actually installing it. Security people call this the "patch window." For WordPress, it varies wildly based on how the site is managed:

  • Automatic updates enabled. Patch window: hours. Most managed hosts and many self-managed sites now auto-install minor plugin updates. WordPress has supported per-plugin auto-updates natively since version 5.5 (2020).
  • Manual updates, owner pays attention. Patch window: days. Owner sees the badge, clicks Update sometime that week.
  • Manual updates, owner forgets. Patch window: months. The site quietly accumulates outdated plugins until someone notices or something breaks.
  • Multiple sites, no central tooling. Patch window: indefinite. Owner forgets which sites have which plugins. Updates land on the first three sites in the bookmarks list and never on the rest.

The hacked sites that show up in security incident reports overwhelmingly come from the bottom two categories. Not because their owners are careless people — almost always the opposite, they're busy people who have other responsibilities and treat their site as something that "just works" until it dramatically doesn't.

Why people don't update (with empathy)

If updates are this important, why doesn't everyone install them immediately? There are real reasons, and most of them aren't laziness:

  • Fear of breakage. Anyone who's ever clicked Update on a Tuesday morning and had their checkout page disappear has learned to be cautious. Plugin conflicts are real, and an update can genuinely take a working site down.
  • No backup confidence. If you don't trust your backup, you don't want to take any risk. Better to leave the site alone than to break something with no rollback path.
  • Managing multiple sites. If you run five client sites, updating each one individually means logging in five times, navigating to five plugins pages, clicking five Update buttons, and verifying five sites still work. That's an hour minimum, every week. People skip weeks.
  • Premium plugins behind licenses. If you have premium plugins (Elementor Pro, Rank Math Pro, WP Rocket), each one requires its license to be active for updates to even appear. Lapse a license and updates silently stop. You think you're up to date, you aren't.
  • Decision fatigue. A site might have 25 plugins all wanting updates at once. Reading 25 changelogs to figure out which are critical is overwhelming, so people freeze and skip them all.

None of these are character flaws. They're real trade-offs, and they're the reason a workflow that takes the friction out of updating is more important than any amount of telling people to update more often.

What a workable update routine looks like

The goal isn't to be perfect — it's to close the patch window from "months" to "hours or days" without burning yourself out. A few habits get most of the value:

  1. Take a backup before updating, automatically. Most managed hosts include daily snapshots; if yours doesn't, install UpdraftPlus or BackupBuddy and set them to back up before any plugin update. Not having to think about backups removes the biggest psychological barrier to updating.
  2. Enable auto-updates for plugins you trust. WordPress lets you turn on auto-updates per-plugin from the Plugins page. For widely-used plugins from reputable developers — Yoast, Wordfence, WooCommerce, Akismet — auto-updates are almost always safe. The risk of an update breaking something is much smaller than the risk of going unpatched.
  3. Make a weekly time slot. Pick a day. Tuesday at 9am. Or whenever your traffic is lowest. Update once a week on a fixed schedule rather than reactively. Most plugin updates are minor, and grouping them into a known-cadence routine keeps the cognitive load down.
  4. Verify after. Click into your homepage, your contact form, your most important page. A visual check takes thirty seconds and catches the rare case where an update did break something.
  5. Don't ignore the abandoned plugins. If a plugin hasn't been updated in over two years, treat it like a security risk regardless of whether there's a known vulnerability. Replace it. Old plugins don't get safer over time.

If you're managing one site, this routine is genuinely doable in fifteen minutes a week. If you're managing five or fifty, you need tooling — there's no way to keep that workflow going across that many sites by hand without it becoming the dominant thing you do.

Where centralised tools fit in

This is the gap that products like Manage GPL exist to fill. Instead of logging into each site, you connect each WordPress site once and the dashboard shows you every pending plugin update across every site in one place. You can update one plugin on twenty sites with a single click, and every action is logged so you can see exactly what changed and when. Premium plugin updates flow through the same path, so plugins from the GPL Times catalogue update without per-site licenses needing to be active.

If you only run one site, you genuinely don't need this — WordPress's built-in updater is fine. If you run several, it's the difference between updates being a routine background task and being a weekly chore you keep putting off. And from a security standpoint, the difference between updating in hours and updating in weeks is exactly the difference between safe and exposed.

The bottom line

Most WordPress sites that get hacked aren't victims of clever attackers — they're victims of automated scanners finding vulnerabilities that have already been patched, on sites where the patch hasn't been installed yet. The fix isn't to add layers of expensive security software on top of an unpatched site. The fix is to install the updates. Everything else is secondary.

Plugin updates are unglamorous, low-status, easy to forget. They're also, in nearly every successful hack, the thing that would have stopped it. If you take one habit away from this post: enable backups, enable auto-updates on the plugins you trust, and check the rest weekly. That's the system. It works. It's the whole reason your site is still online tomorrow morning.

Tired of updating plugins one site at a time?

Manage GPL connects all your WordPress sites and keeps premium plugins and themes up to date with one click.

Get started — free