What this warning actually is
"Deceptive site ahead" is not a generic quality signal, a slow-loading penalty, or anything cosmetic. It's Google's Safe Browsing system flagging your specific domain for one of a few defined categories of harmful behavior — in this case, social engineering: content designed to trick a visitor into doing something dangerous, like entering a password on a fake login form or downloading something they shouldn't. Chrome, and every other browser that uses the same Safe Browsing data, shows this interstitial instead of your page to every visitor until the flag is cleared.
Google's own documentation defines it precisely: a page counts as social engineering if it "pretends to act, or look and feel, like a trusted entity" or tries to "trick you into doing something you'd only do for a trusted entity, like sharing a password." That's a much narrower, more specific claim than "something's wrong with this site" — and it matters, because it tells you exactly what kind of content you're looking for when you go clean it up.
Not the same as "This site may be hacked"
Worth separating these two, because they get confused constantly and the fix path differs slightly. "This site may be hacked" is a subline that appears only inside Google's search results — never as a full-page browser warning — and it flags content that looks injected for SEO purposes: spammy outbound links, pages in a language you don't publish in, hidden text stuffed with unrelated keywords. "Deceptive site ahead" is the full-page red interstitial from Safe Browsing specifically, and it means active phishing or harmful redirect content, not just spammy injected links. A site can absolutely have both at once — the same compromise that plants SEO spam links often plants a phishing redirect too — and both get cleared through the same Security Issues report and review process described below.
Why WordPress sites get flagged for this specifically
Almost nobody builds a phishing page into their own site on purpose. The overwhelmingly common path is a compromise: an attacker who's already gotten some level of access uses it to plant fake login pages, credential-harvesting forms, or scripts that redirect visitors to a phishing destination — often without touching anything a site owner would notice on a casual look. Two mechanisms covered elsewhere on this site show up constantly as the actual entry point behind these flags:
- A silently altered core file is a classic way to inject a redirect or a phishing page that only appears to certain visitors (search engine crawlers are frequently excluded on purpose, so the site owner's own browsing doesn't show anything unusual).
- A rogue cron job is a common way that injected content keeps coming back even after a manual cleanup — the scheduled task just re-plants it.
If you're dealing with a "deceptive site ahead" flag right now, both of those are worth checking specifically, not just generally "looking around" the site.
Confirming it — don't just take the warning's word for it
Chrome's interstitial tells you visitors are being blocked, but not what specifically triggered it. That detail lives in Google Search Console's Security Issues report — assuming you've verified ownership of the site as a property there. It shows one of three categories: Hacked Content (material placed on your site without permission via a vulnerability), Malware and Unwanted Software, and Social Engineering — the one specifically behind a "deceptive site ahead" warning. The report names the affected URLs directly, which is the fastest way to find exactly what needs removing instead of guessing across your whole site.
Clean the actual content first — don't request a review yet
It's tempting to hit a review button immediately to get the warning lifted faster. Don't — Google's own guidance is explicit that a review request only makes sense after every flagged issue across the entire site has actually been fixed. Submitting while anything is still live gets the request rejected, and doesn't speed anything up; if anything, it delays things further since Google explicitly asks you not to resubmit before a final decision comes back on the request already in progress.
In practice, that means:
- Remove the actual phishing/deceptive content from every flagged URL — not just the one Chrome happened to show you.
- Check for the injection point, not just the symptom. If a core file or a scheduled task planted the content, removing only the visible page leaves the mechanism in place to recreate it.
- Check third-party embeds too. Google's guidance specifically calls out that flagging can happen through embedded ads or other third-party content on your pages, not just your own code — worth a look if your theme or a plugin pulls in outside scripts or ad content.
- Re-scan the whole site before moving on, not just the one URL you already knew about.
Requesting the actual review
Once you're confident everything is genuinely clean, the real process — per Google's own Search Console documentation — is:
- Open the Security Issues report in Search Console and select Request Review.
- Describe what you found and fixed in real detail — the specific issue, the remediation steps taken, and the outcome. A vague "I think it's fixed now" is far less useful to the reviewer than "found injected script in wp-includes/post.php, restored from official WordPress source, removed the scheduled task calling it, rotated all admin credentials."
- Wait. Google states reviews typically take several days to weeks to complete, and you'll get an email both when the request is received and when the review concludes.
There's no way to speed this up beyond making sure the write-up is genuinely thorough the first time — a rejected review just means starting the wait over again.
Preventing the next one
A "deceptive site ahead" flag is a lagging indicator — by the time Google's Safe Browsing crawler catches it, the actual compromise has usually been sitting there for a while, quietly serving phishing content to real visitors before anyone noticed. The two entry points behind most of these cases (an altered core file, a persistence mechanism like a cron job) are exactly the kind of thing continuous file-integrity and scheduled-task monitoring catches at the moment they happen, rather than after Google's own crawler stumbles onto the result days or weeks later.
Catch the file change or rogue task behind a flag like this before Google does.
Install free →