Why your WordPress site keeps getting hacked.

Spam pages in Google, visitors sent somewhere else, an admin you never created, a site that was cleaned last month and is infected again. Here is what is actually happening, what to do about it today, and why a website with nothing to patch doesn't have this problem.

Nobody tells you this part when you get a website. You will find out it has been hacked from someone else. A customer rings to say your site sent them to a casino. Google puts a warning under your business name. Your host emails to say the account is suspended. And the version owners describe most often is the second time: the site was cleaned, you paid for it, and within a week the spam pages are back.

This post is for the owner in that situation. Most of it is about WordPress, because that is where you are, and most of what you will find elsewhere is a comparison that turns into an advert halfway down. The fix list comes first and names no products. The part about us comes last, and it is plain about who it is not for.

✦

What it looks like when it happens

Owners rarely say "my site has malware". They say one of these:

That last one matters more than it sounds. In a 2026 survey of WordPress professionals reported by Help Net Security, when the first warning of an incident came from a search engine, 46% of those cases involved lost search rankings, against 14.5% of incidents found any other way. Fewer than three in ten of the people surveyed had any recovery plan at all, and those are the professionals. (Help Net Security on the Melapress 2026 survey, helpnetsecurity.com)

And then the sentence that brings most people to this page: "It was cleaned, and it's back."

Why it keeps coming back

Here is the thing nobody explained when you got the site. A WordPress site is not a set of pages sitting on a server. It is a program that runs on a server every time anyone visits, and "anyone" includes every bot on the internet. It is made of a core, a theme, and often a dozen plugins, written by different people who have never met, each running with full access to your site. Every one of them is a door.

Most of the doors are plugins. Patchstack counted 11,334 new vulnerabilities in the WordPress ecosystem in 2025, 42% more than in 2024. Ninety-one per cent were in plugins and 9% in themes; WordPress itself accounted for six. Paying for a plugin does not buy safety either: 76% of the vulnerabilities found in paid or freemium plugins were exploitable in real attacks. (Patchstack, State of WordPress Security in 2026, patchstack.com)

Updates close one door and open another. You are told to keep everything updated, and you should. But an update is also the thing that turns the site into a white screen, which is why so many owners quietly turn them off. And updating only helps if a fix exists: in the same Patchstack report, 46% of vulnerabilities had no fix from the developer by the time they were made public. A plugin whose author has moved on stays on your site, doing its job, with a hole nobody is going to patch. "Fully updated and still hacked" is a sentence the support forums know well.

A cleanup that misses one back door is a pause, not a cleanup. Sucuri's analysis of the sites it cleaned found that about half, 49%, had at least one back door installed: a hidden way back in that survives deleting the spam pages and the fake admin. (Sucuri, 2023 Hacked Website and Malware Threat Report, sucuri.net) Remove the symptoms and leave the door, and the same visitor lets themselves in again on Tuesday. That is the whole reinfection loop, and it is why a cleanup service can become a subscription: published prices run from about $99 a year for scanning to $2,000 and more for a one-off recovery. (MalCare pricing, malcare.com; Codeable, WordPress maintenance pricing guide 2026, codeable.io)

Sometimes it was never a plugin. Wordfence's cleanup team reports that compromised hosting-account passwords are a frequent way in. (Wordfence, 2024 Annual WordPress Security Report, wordfence.com) A password reused from somewhere that leaked, an old developer's login that still works; and a "free" copy of a paid theme can carry its own back door. Plenty of people did everything right on the plugin side and left the front door open.

The probes never stop. This is the part owners find hardest to believe, so here is what we see on the sites we host, none of which run WordPress. A new domain is walked by automated scanners within hours of going live. The address /wp-admin is tried every day on sites that have never been WordPress, and one hosted domain takes more than a thousand such probes a day. Nobody is targeting you. They are targeting everything, all the time, and a WordPress site is the one that answers.

Your neighbours count too. On a cheap shared plan, several sites often sit in one hosting account, and an infection in one can walk into the next. Owners of two or three sites describe cleaning one and watching it come back from the one beside it.

A cleanup that removes the spam pages and leaves the back door is not a cleanup. It is a pause.

What to do today if you're on WordPress

If your site is on WordPress and staying there, this is the list. It names no products and links to nothing you can buy. Most of it costs nothing but an afternoon.

  1. Change every password, starting with the host. Your hosting account first, then every WordPress admin, then the email address your admin uses, and the database password if your host's control panel lets you. Make each one long and different. If a developer or an old agency still has a login, this is the day it stops working.
  2. Read your users list. In WordPress go to Users. Delete anyone with administrator rights you don't recognise, and check that your own account's email address is still yours. Then open your profile and remove any "application passwords" you didn't create.
  3. Ask your host for a clean restore. Ask for a backup from before the infection started, not from last night. If they offer a paid cleanup instead, ask whether it finds the way in or only removes what it finds; those are different services. Ask them to check the other sites in the same account.
  4. Remove what you don't use, and delete rather than deactivate. A deactivated plugin is still there on the server and still a door. Delete unused plugins and themes outright. For what remains, look at the "last updated" date: anything untouched for a couple of years is a door nobody is guarding. A Liquid Web study found 77% of WordPress users rarely or only occasionally review and remove plugins. (Liquid Web, WordPress plugin fatigue study, liquidweb.com) Never install a free copy of a paid plugin or theme.
  5. Keep updates on, and back up before each one. Updates are still your best defence on WordPress. Take a backup first, every time, and keep a copy somewhere that is not the same server.
  6. Turn on two-factor for every admin. And have fewer admins. Most people who edit the site only need to be an editor.
  7. Tell Google when it's clean. In Search Console, look under Security issues and request a review. While you are there, check the list of owners and remove any you didn't add.
  8. If it has been cleaned twice, change the question. Not "who do I pay next" but "does this site need to be a program at all?" A business site with six pages, a form and a map doesn't run anything. It just needs to be shown to people. Only one of those two things has anything in it to break into.
✦

The other way: a site with nothing to patch

Ullbek is an AI website builder: you describe your site in plain words and it builds and publishes a real, custom website around what you said. For an owner who has been through the above, the part that matters is not what a site here has. It is what it doesn't.

We won't claim nothing can ever go wrong; nobody should, about anything with a login. Your Ullbek account is a login like any other and can be phished, so use a strong password you use nowhere else. What we can say is narrower and true: there is nothing on the site itself to patch, and nothing on it to break into.

The move itself is one request. You give it your current address and tell it what to keep.

YouRebuild [your site's address] as a new site. It's my current WordPress website. Keep every page and all the wording, and bring across the photos.
Reading six pages · downloading 15 photos
UllbekI've read all six pages and have the photos. Three quick questions before I build:
  1. What name should appear on the site? The old site only says "Plumber".
  2. Some sections still have placeholder text. Should I write real copy, keep it as it is, or write it and mark it for your review?
  3. What are the real contact details: phone, email and address?
You[Your business name]. Write real copy and mark it for review. Phone [number], email [address], [street address].
UllbekDone. Six pages, every section and heading kept, the six services with their lists, all seven reviews and the twelve FAQs, every photo placed where it was. The header stays with you as you scroll with the phone number on it, and the quote form is wired to your inbox; I sent a test enquiry and it arrived. Here's the preview.

In our tests, a six-page small-business site from its address took about 17 minutes of building, with one round of questions. The pages, menus, wording, photos, services, reviews and FAQs come across; the form is rebuilt and tested. The design is rebuilt, not copied. Every move is a redesign, which is the point. There are three ways in: from the site's address while it is still up, from a WordPress export, or from saved pages and pictures if the hosting is already gone. The move guide walks through all three.

Who this is not for

In short
  • It keeps coming back because the site is a program made of dozens of parts by different authors, and 91% of the holes found in 2025 were in plugins.
  • A cleanup without the way in is a pause. About half of hacked sites carry a back door a cleanup can miss.
  • Today: change every password starting with the host, read your users list, ask for a restore from before the infection, delete what you don't use, back up before updating, two-factor on, tell Google when it's clean.
  • If it has happened twice and your site is a brochure, a portfolio, a menu or a clinic, it doesn't need to be a program. No plugins, no updates, no admin page on the site: nothing to patch.
  • Not for shops, memberships, or anything that takes payment on the site.

Move your WordPress site

Three ways in, what carries across and what doesn't, and what to collect before you leave. Or see the side-by-side first.