Prefer email? [email protected]

Free with Managed or Complete

Hacked WordPress site cleanup

A hacked site carries code or content an attacker added: spam pages, redirects, hidden admin accounts and usually a backdoor that lets them back in. Deleting what you can see is not enough. We clean the files and database, find how they got in, or every likely way in, close it and harden the site around it.

  • Comprehensive Fix $349
  • If we can't fix it, you don't pay
  • WordPress and WooCommerce

Sound familiar?

  • Visitors get sent to a spam, dating or fake prize site, but it looks fine when you check
  • Google lists Japanese or pharmacy pages under your domain that you never created
  • An administrator account appeared that nobody on your team made
  • Your host emailed about malware on the account, or suspended it
  • Chrome shows a red warning page, or Google labels your site as hacked
  • The PayPal email or payment keys in your store changed and nobody on your team touched them

Error messages you might see:

  • This site may be hacked.
  • Deceptive site ahead
  • The site ahead contains malware
  • Hacked: Content injection
  • Hacked: Code injection

Why does this happen?

A site gets hacked when an attacker finds a way to run their own code or log in as an admin. Once in, they add what makes them money: spam pages for Google, redirects to scam sites, or code that copies what shoppers type. Then they leave a backdoor, so they can get back in after you delete the spam.

The ways in we find most often, most common first:

  • An outdated plugin or theme. When a security hole in a popular plugin is made public, automated bots scan for sites still running the old version. A site that has not been updated in months is exactly what they look for.
  • A stolen or reused password. Attackers try leaked email and password pairs on the login page. If an admin reuses a password from another service and has no second login step, the attacker simply logs in.
  • A nulled plugin or theme. Pirated copies of paid plugins often come with a backdoor already inside. The site is compromised the day it is installed.
  • An abandoned plugin. A plugin its author no longer maintains never gets security fixes, even when a hole is known.
  • Another site on the same hosting account. An old, forgotten install next to your site can be the way in, because the attacker can reach every folder the account can.

What the attacker leaves behind is rarely in one place. Backdoors hide in the uploads folder, in must-use plugins that load on every page and cannot be switched off from the Plugins screen, in the database, or as admin users hidden from the Users screen. That is why deleting the spam you can see is not enough, and why spam often comes back after a quick cleanup.

Try this first

These steps are safe on a live site and change nothing visitors see. Do them in this order.

  1. Take a backup of the site as it is now. Use your hosting panel’s backup tool. Check it does not replace your older backups, and download a copy if the panel lets you, because some hosts keep only a few. It sounds odd to back up a hacked site, but it keeps the evidence of how they got in, and it gives you a way back if a cleanup step goes wrong. Do not restore an old backup yet.
  2. See what Google sees. Search Google for site:yourdomain.com with your own domain. Pages in Japanese, pharmacy products or brands you do not sell mean spam has been injected. If you use Google Search Console, open Security & Manual Actions, then Security issues. Also check Settings, Users and permissions there for owners you do not recognise, because attackers sometimes add themselves.
  3. Check your admin users and payment settings. In wp-admin, go to Users, All Users and click Administrator above the list. Write down any account you do not recognise. Do not delete it, because it helps trace the break-in, but open it, click Set New Password and save a long random one, so it can no longer log in. A hidden account may not show at all. On a store, also open WooCommerce, Settings, Payments and check each enabled method still connects to your own account. If a payout email or key has changed, contact your payment provider straight away.
  4. Change your passwords from a clean computer. Change your WordPress admin password, your hosting and SFTP passwords and the password for the admin email account. Changing your WordPress password also signs out every other session on your account. This shuts out anyone using your old password, but it does not remove a backdoor, and some malware records passwords typed on the infected site, so we reset them all again after the cleanup.

Stop there and hand it over. Do not delete files you do not recognise or install several security plugins at once: on a store, removing the wrong file can take checkout down, and it wipes out the trail that shows how they got in. It is most urgent if your host has suspended the account, if checkout or payment settings were touched, or if the spam comes back after you remove it. Our guide to the real cost of a hacked WordPress site explains why acting early matters.

Why does the hack keep coming back?

Because the way in is still open, or a backdoor is still there. A cleanup that removes only the spam pages and the obvious malicious files can miss a second copy of the backdoor, a hidden admin account or a scheduled task that reinstalls the malware. One that removes everything but leaves the outdated plugin lets the same bot back in.

A thorough cleanup works in the opposite order to the hack. We find how the attacker got in, then remove everything they left, then close the way in and check every login. After that, regular updates matter most. On a care plan, BoltPress Security tells you in plain English when a plugin, theme or PHP version you run has a known security problem, and runs updates with a backup first. If the site is far behind, see WordPress update catch-up, and for the defences beyond the cleanup itself, see WordPress security hardening.

Is it a hack or something else?

Not every scare is a hack. A wave of failed orders with fake names is usually a card testing attack on your checkout, with no code on your site changed. A redirect that started right after a plugin update can be a setting, not malware. If you are not sure which you have, browse every fix on the Fix WordPress page.

What's included

Included

  • Scanning every file and the database for malware, backdoors, injected scripts and spam pages
  • Removing malicious code, unknown admin accounts and rogue plugins, and replacing WordPress, plugin and theme files with clean copies
  • Tracing how the attacker got in from the server logs, file dates and the plugins and accounts on the site, and where the logs no longer show it, closing every likely way in
  • Closing that entry point by updating, replacing or removing the vulnerable plugin, theme or account
  • Resetting passwords, application passwords and the WordPress security keys, so every existing login is signed out
  • On WooCommerce, checking that payment settings, checkout scripts and order emails were not tampered with
  • Hardening the site after cleanup, such as turning off file editing in wp-admin and tightening admin accounts

Not included

  • Getting the site removed from Google, browser, antivirus or email blocklists; you request that review once the site is clean
  • Cleaning other websites in the same hosting account, or a compromised server beyond your WordPress site
  • A forensic investigation or legal advice about stolen customer data
  • Recovering search rankings lost while the spam was live

When it becomes a Quick Fix job: If what looks like a hack has one simple cause, such as a plugin setting sending visitors elsewhere or a wave of failed card payments with no code changed on the site, the work is a Quick Fix. We tell you before any work starts.

How it works

  1. Secure access

  2. Full backup

  3. Diagnose (on staging for stores)

  4. Fix

  5. Verify (a test order on WooCommerce)

  6. Report

Two ways to get it fixed

Pay once for this fix, or get it free as part of a care plan.

Free with Managed or Complete
  • Managed $249 per month
  • Complete $599 per month

Includes 1 free fix.

Compare plans
Comprehensive Fix
$349

Complex or multi-step: malware removal + hardening, speed optimization, site migration, hack recovery, server tuning.

Fix it for $349 : Hacked site

If we can't fix it, you don't pay.

Prices in USD.

Refunds are handled by email: [email protected]

What we need from you

  • A WordPress administrator login, or a temporary one we can use
  • Hosting control panel and SFTP access, so we can reach the files, database and server logs
  • Any emails from your host, Google or a security plugin about the problem
  • Access to Google Search Console, if your site is set up there
  • When you first noticed something wrong, and anything that changed shortly before

Frequently asked questions

How do I know my site is really hacked and not just broken?

A broken site fails for everyone in the same way, usually right after an update. A hacked site usually does something it was never built to do: sends visitors elsewhere, shows spam to Google, or gains admin users nobody made. Many hacks hide from logged-in admins, so check from a private browser window on your phone and with a Google site search.

Will cleaning the site remove the Google warning?

Not on its own. Google removes the warning after it checks the site again. Once the site is clean, you request a review in the Security issues report in Search Console, and the warning stays until Google approves it. We give you a plain summary of what we found and removed, which is what the review request asks you to describe.

Will it get hacked again?

Nobody can honestly promise a site will never be attacked again. Finding the way in, closing it and removing every backdoor, not just the visible spam, takes away what the attacker used last time. After that, the biggest risk is an outdated plugin or a reused password, so keeping the site updated matters as much as the cleanup.

Can I just restore a backup from before the hack?

Only if you know when the attacker got in, and that is often weeks before anyone noticed. An older backup can carry the same backdoor, and it usually brings back the same way in, such as the outdated plugin they used. On a store it also rolls back every order and customer since that date. Cleaning the current site keeps your recent data.

Were my customers' card details stolen?

On most WooCommerce stores, card numbers are typed into fields served by the payment provider and never stored on your site. But injected code on the checkout page can show a fake card form or copy what shoppers type. We check the checkout for that. If we find it, we show you what we found, and you should tell your payment provider and take legal advice about notifying customers.

Should I take the site offline?

Usually not, unless it is sending visitors to a scam site or showing a fake card form at checkout. In that case a maintenance page protects your visitors while the site is cleaned. Taking it offline does not remove anything the attacker left, and the cleanup still has to happen. If your host has suspended it, send us their email, because it usually says what they found.

Stop fighting your website.
Let us fix it.

If we can't fix it, you don't pay.