Hacked WordPress cleanup checklist: every place malware hides

Updated 2026-10-16 · 10 min read · by the IsHacked team

The visible symptom (spam, redirects, a blank page) is the smallest part of an infection. What matters is the persistence: the pieces that put the malware back after you delete it. This checklist comes from real cleanups where reinfection happened every hour until the last piece was found.

Before you start

1. Files

2. Database

3. Server

4. Credentials

5. Close the hole

6. Search engines and email

7. Watch for the comeback

Reinfection usually shows up within days. Check the site every day from outside: as Googlebot, as a phone from Google, the sitemap, new users, new script sources and new plugins. Start with a free check

FAQ

Is restoring a backup enough?

Only if you are sure the backup predates the infection and you also close the hole that let the attacker in and change every password. Otherwise the site is reinfected, often within hours. In one cleanup we worked on, the malware came back right after a restore.

Why does the malware keep coming back?

Because something re-creates it: a cron job, a must-use plugin, an object-cache drop-in, a payload stored in the database, or a server crontab entry. Removing visible files without removing the persistence doesn't work.

Related guides

How to check if your website is hacked

12 practical tests to tell if a website or WordPress site is hacked: cloaked spam, mobile-only redirects, injected scripts and exposed files.

The Japanese keyword hack: detect it, remove it, keep it out

Google shows Japanese titles for your site? How the Japanese keyword hack works, how to confirm it, and how to clean WordPress and Search Console.

WordPress redirect hack: when only some visitors get sent to spam

Your WordPress site redirects visitors to spam, but not you? How mobile-only and Google-referrer redirects work and where the code hides.

Send feedback

A bug, an idea, a question about this page: anything. It goes straight to the founder.