
Is My WordPress Site Hacked?
Something feels off about your WordPress site. Maybe Google is showing a warning. Maybe a customer called. Maybe you just have a gut feeling. The good news: most of the time, what looks like a hack is actually just a misconfiguration — something exposed but not exploited. Here's how to find out which one you're dealing with.
What a hacked WordPress site actually looks like
Hacked sites don't always look obviously broken. Sometimes the damage is invisible to you but fully visible to Google, your visitors, or your hosting provider. Here are the most common signs:
Your site redirects visitors to an unrelated website — usually a pharmacy, gambling site, or adult content page. You might not see it yourself because the redirect is often targeted at first-time visitors or search engine traffic only.
Google Search Console sends you a "security issue" notification, or your site shows up in search results with a description you didn't write — things like "Buy cheap Viagra" or "Casino bonuses" injected into your pages.
Your hosting provider suspends your account or sends a warning about malware or excessive resource usage. Hosts run automated malware scans and will pull the plug if they find something.
Visitors see a red browser warning: "This site may be dangerous" or "Deceptive site ahead." This means Google has flagged your domain in its Safe Browsing database.
You notice admin accounts you didn't create, or your own admin password stops working. Attackers often lock out the original owner after gaining access.
Your contact form is sending spam. If your form submission rate spikes or customers report getting spam from your address, your site may be used as a spam relay.
The site is inexplicably slow, or your hosting bill spikes. Some attacks use your server resources to send spam, mine cryptocurrency, or run automated attacks on other sites.
If you're seeing one or more of these, keep reading.
Is it actually hacked, or just misconfigured?
Here's something most security articles don't tell you: the majority of "my site is hacked" panics turn out to be misconfigurations, not active infections. The difference matters because the fix is completely different.
A misconfiguration means your site is leaking information that could help an attacker — your PHP version, server software, WordPress version, or the list of plugins you're running. None of these are dangerous on their own, but they make you a more attractive target and make an eventual attack easier to execute.
An actual hack means someone has already exploited those vulnerabilities and placed malicious code, backdoors, or redirects on your site.
The fastest way to distinguish between the two is to run a security scan. A scan tells you what's currently exposed on your site — which of the known vulnerability indicators are present. If your scan comes back clean (or with only low-severity findings), you're almost certainly dealing with misconfigurations, not an active infection. If the scan flags critical issues alongside the symptoms above, you need to act fast.
Run a free scan on GuardingWP to see your site's current security status. It takes seconds.
Immediate steps if you think you've been hacked
Don't panic. Don't start deleting files randomly. Here's a calm, ordered approach:
First, take a screenshot of everything unusual you're seeing. You'll need this when you contact your hosting provider.
Second, change your WordPress admin password right now — even before you know for sure. Go to wp-admin → Users → Your Profile → scroll to "New Password" and set a long, random one. Do the same for any other admin-level users you recognise.
Third, check Users → All Users in your WordPress admin. Look for accounts you don't recognise, especially any with Administrator privileges. If you see unfamiliar accounts, your site has almost certainly been compromised.
Fourth, contact your hosting provider. They have server-level access you don't have, and most hosts have a malware scanning tool built into their control panel. Describe what you're seeing and ask them to run a scan. If they find malware, ask them to restore from a clean backup if one is available.
Fifth, don't make major changes to the site while you're still investigating. You might overwrite evidence, or accidentally remove the one thing that's keeping the site running.
How to run a free security scan
A security scan won't detect malware that's already been injected into your database — that requires server-level tools your host runs. What it will do is tell you which vulnerabilities on your site made you a target, and which of those are still open.
This is useful in two situations: before you've been hacked (to close the doors before anyone walks through them), and after a cleanup (to verify you've actually addressed the root causes, not just the symptoms).
To scan your site, enter your URL in the scanner on the GuardingWP home page. You'll get a report in seconds showing which of the 11 most common WordPress vulnerabilities are present, with a plain-English explanation of each finding and a link to the fix guide.
Pay attention to the plugin vulnerability section in particular. Outdated plugins with known CVEs are the single most common attack vector for WordPress sites. If the scan finds any, treat them as urgent.
If it is hacked: what happens next
If you've confirmed an active infection — malware found by your host, redirects you can reproduce, or injected spam content — here's the realistic picture:
You have three options. Option one: restore from a clean backup. If your host keeps daily backups (most do), this is the fastest path. Ask them to restore to a point before the infection started. The catch: if the vulnerability that let attackers in is still open, they'll be back. You need to identify and close it after the restore.
Option two: professional malware removal. Services like Sucuri or Malcare can clean an infected WordPress site. Expect to pay $100–$200 for a one-time cleanup. They'll remove the malware and, in most cases, identify the entry point.
Option three: do it yourself, carefully. This means scanning your files with a tool like Wordfence or the built-in scanner in your host's control panel, removing suspicious code, and then hardening the site to prevent re-infection. This is feasible if you're comfortable in a file manager and understand what you're looking for, but it's easy to miss things.
Whichever path you take, hardening the site after cleanup is not optional. Cleaning a hacked site without fixing the underlying vulnerabilities is like mopping up a flood without turning off the tap.
How to prevent your WordPress site from being hacked
The good news: most WordPress hacks are not targeted. Attackers use automated tools that scan the internet for sites with known vulnerabilities — outdated plugins, exposed login pages, directory listing enabled. They're not after you specifically; they're after any site with an open door.
That means prevention is mostly about not having obvious open doors. The 11 security checks in the GuardingWP scanner cover the most common ones: keeping your PHP version private, disabling directory listing, removing your WordPress version from the page source, blocking XML-RPC if you don't use it, forcing HTTPS on every connection, adding the standard security headers so browsers apply the right protections, setting secure cookie flags, and keeping plugins updated.
Beyond those basics: use a strong, unique password for your WordPress admin account. Enable two-factor authentication if your theme or a plugin supports it. Keep WordPress core, themes, and plugins updated — most successful attacks exploit known vulnerabilities in software that was already patched, just not updated on the target site.
Automated weekly scanning gives you one more layer: it catches new vulnerabilities as they're disclosed, before attackers find them on your site. That's what GuardingWP Pro does — scans your site every week and emails you if anything new comes up.
Related fix guides
Vulnerable Plugins Detected
One or more WordPress plugins has known security vulnerabilities. Learn how to find and update them.
User Enumeration
WordPress is exposing your admin usernames via its REST API. Block it with one code snippet.
Directory Listing Enabled
Anyone can browse your WordPress uploads folder. One line in .htaccess closes this immediately.
XML-RPC Enabled
XML-RPC lets attackers run thousands of login attempts at once. Learn how to disable it in two steps.
GuardingWP checks your site for the 11 most common WordPress vulnerabilities — plus scans your installed plugins against the known CVE database. Free, no account required.
Scan your site to see if you're currently vulnerable →Prefer to have this handled for you? Get this fixed — Full Hardening ($149) →
Already cleaned up and want forensic certainty before declaring victory? See the Forensic Toolkit →