Hacked WordPress

WordPress disinfection and malware removal

If your WordPress has been hacked with redirects, spam, or pages you didn't put there, the job is to remove what they left and close how they got in. I review the code by hand, because automatic cleanup plugins only catch what's already known.

WordPress disinfection and malware removal
Cleaned by hand, not automated
File-by-file review
Report of what was found
Signs

How to know if your WordPress has been hacked

Strange text in Google search results

Words in Japanese, or pages about casinos or pharmacies that have nothing to do with your content, show up when you search for your site on Google.

Your Google Ads account gets suspended

Google blocks advertising accounts linked to sites it detects as compromised.

There are users or files you don't recognise

New administrators you didn't create, or files with nonsensical names in your site's folders.

Pop-ups that lead to suspicious sites

Your visitors see pop-up ads you never configured, redirecting to other websites.

The site stops responding for no obvious reason

If the server maxes out its capacity without a real increase in visits, someone has likely infected it to use your processor for malicious tasks.

Customers complain about attempted data theft when buying

If you have a store, this can mean payment information is being intercepted during checkout.

The browser or Google warns that the site is not secure

A red warning on entry, or the message "this site may harm your computer" in search results.

Mass emails are sent from your domain without you doing it

Outgoing spam using your server and your name, usually flagged by your hosting provider or by your own contacts.

Why it usually happens

Outdated WordPress

Nearly 40% of hacked WordPress sites were running an outdated version of WordPress, a plugin, or a theme.

Weak passwords and an "admin" username

A predictable username combined with a simple password is the easiest door for a brute-force attack against /wp-admin/.

Unprotected access to /wp-admin/

Leaving the login page open to the world with no filter makes it easy to try thousands of combinations automatically.

Plugins and themes from untrusted sources

"Nulled" versions or downloads from outside the official WordPress repository often include malicious code.

Incorrect file permissions

Overly permissive file or folder permissions make it easier for an attacker to modify things they shouldn't be able to touch.

Using plain FTP instead of SFTP or SSH

Unencrypted FTP exposes your login credentials as they travel across the network.

What's at stake

What happens if you let it run

Malware doesn't sit still. The longer it stays inside, the deeper it burrows into legitimate files, and the trickier the clean-up becomes.If you have a store, the customer leaves the moment they see a strange warning, and payment gateways can block your account if they detect unusual activity.If Google ends up flagging the site as "not secure", a large part of the traffic you spent years building will disappear, and getting it back is a separate job altogether.And if the attack reaches your customers' data — emails, addresses, order history — beyond the problem it causes them, it's a potential breach that has to be handled properly.

Malware doesn't sit still: the longer it takes to clean up, the more ground it gains.

How I work

What I do in a disinfection

01

I review every file

I compare your installation against the official WordPress source to spot any changes. That's where hidden code they're trying to conceal shows up.

02

I identify the type of infection

I work out what kind of malware has infected you and exactly what it has modified (files, database, scheduled tasks).
03

I remove the malware by hand

I strip out the scripts, backdoors, and scheduled tasks they left behind.

04

I reinstall from official sources

WordPress core, theme, and plugins reinstalled from source, to make sure nothing malicious is left.

05

I close the entry point

I find out how they got into your WordPress in the first place, to stop them getting back in.

06

I check everything and document it

I check everything works and hand you a written record of what I found, exactly what I touched on your site, and the steps to take from here.

After the clean-up

Hardening, to actually close the door

Cleaning up malware without hardening WordPress leaves it ready for the next attack. Hardening is the set of changes that shrinks the attack surface once the site is clean again.

What I check and reinforce

File and folder permissions
Extra protection for /wp-admin/ access
Updating WordPress, the theme, and plugins
Removing unnecessary plugins and users
Reviewing access and users
Part of the service

Disinfecting the server doesn't remove the spam from Google

While it was compromised, the attack likely created fake pages or spam that Google has indexed. If they aren't deindexed, those pages can keep showing up in search results for weeks after the site has been disinfected. I check what's still indexed on Google and what warnings appear in Search Console to remove those spam pages.

On a corporate site, a hack costs you image. On a store, it costs you money and customer data from the very first minute.

If you have a store, the problem is more serious

  • That no third-party code reads payment data
  • That your server isn't used to send spam under your name
  • That your customer and order database doesn't get copied

What I need to get started

01

Access to your hosting or control panel

02

Access to the WordPress admin

03

Your site's address and what you've noticed

Not sure if your website has been infected?

If you have any suspicion or doubt, get in touch and I'll confirm whether it's been hacked, no obligation.

What you get in a full disinfection

Full diagnosis

I review the entire installation, identify the type of infection and how far it's spread, before touching anything.

Manual file-by-file clean-up

I remove the malicious code by comparing against official sources.

Closing the entry point

Passwords, permissions, vulnerable plugin: I identify and fix how they got in.

Verification that everything works

I check that the most important parts of the site work again — forms, logins, emails...

Report of what was found

A written summary of what was there, what I did, and the next steps to take.

Who does the work

I'm Javier Afan, specialised in WordPress disinfection

I've spent over 10 years working with WordPress at agencies, and I've specialised in the security side: I review the code by hand, because an automated scanner only finds what it already knows, and an attacker who knows what they're doing doesn't leave such obvious traces.

I review the code by hand, file by file
I apply hardening, not just clean-up
Direct work, no middlemen
I explain in writing what happened
WordPress security and disinfection expert Javier Afán
Contact

Tell me what's going on

Tell me what you've noticed and your site's address. I'll review it and confirm whether it's compromised and what it would take to clean it.

Direct contact [email protected]

Your data is used solely to respond to your enquiry. It is not shared with third parties or used for commercial purposes.

No spam. A reply focused on diagnosis.

Frequently asked questions

About disinfection

How long does it take to disinfect a WordPress site?

The exact time depends on how deep the attack goes and the size of your WordPress. Generally, the full manual clean-up and technical server hardening takes me between twenty-four and forty-eight hours from when I get access to the code.

Will the malware come back?

It won't come back if we do the full job and seal the hole they got in through. That's why I never just wipe the trace of the infection — I always apply advanced security measures to fully lock your site down.

Do I have to give you access to everything?

I need access to the hosting and the WordPress panel at minimum. If you're not sure how to give me that, I can coordinate directly with your provider.

Will my Google ranking take a hit?

Ranking damage is real if the malware stays active generating junk content. The longer it takes to clean the installation, the harder it is to earn back search engines' trust. By acting fast on the code and cleaning up indexed results, we make sure the hit to your traffic is only a temporary bump.

How do I know if my site is infected even if it looks fine from the outside?

Often WordPress malware doesn't break your site's design, because the attacker's goal is to use the server quietly in the background or generate spam pages to get indexed on Google. The most common symptoms are the site suddenly loading very slowly, your hosting provider warning you about excessive resource use, or strange text appearing when you search for your site on Google.

Why doesn't installing a security plugin fix the infection?

Automated tools only detect malicious code they already have on record. Attackers constantly change their methods to hide inside core system files or the database. To guarantee a real clean-up, you have to audit the files by hand and find what automated scanners can't see.

How long will the site be down while you clean it up?

The intervention time depends on how deep the attack went and the size of your database. Usually I put up a maintenance notice to protect your users while I clean the files on the server. Once the code is secure again and the entry point is closed, the site comes back online instantly.

What do I do if my hosting company has fully blocked and suspended my site?

That's the standard measure providers take to protect their own servers when they detect an attack. To get your access back, you need to clean the infected files from the ground up and apply measures that prove your WordPress is secure again and no longer a risk to other customers.

Why does my site keep getting reinfected even after restoring a clean backup?

Restoring an old backup is useless if the attacker managed to hide a backdoor among the original system files. If you don't audit the code to find and destroy that hidden access, the intruder will regain control automatically within minutes of restoring the site.

Is keeping all plugins and the theme updated enough to prevent a hack?

Keeping WordPress updated is important, but it's not an impenetrable shield. Many security flaws take weeks to become public, and during that window your WordPress is exposed to automated attacks if you don't have extra technical hardening at server level to block malicious requests.

Do you work with hacked WooCommerce stores?

A hacked WooCommerce store puts buyer information at risk and blocks your daily income. My technical work involves getting into the server to locate and destroy the threat while keeping recent orders intact and reinforcing security so your customers can shop again with full confidence.

Do I really need hardening if my site barely gets any visits?

Automated attacks don't discriminate by traffic volume or company size. Bots crawl the internet at scale looking for any vulnerable installation to infect, which makes securing WordPress essential for any professional project.

A hacked WordPress doesn't fix itself

Every day that passes, the clean-up gets harder and the number of spam pages on Google grows.