| Chrome shows “Deceptive site ahead” or “Dangerous site” | Google Safe Browsing saw the site serve deceptive or harmful content to someone, often only under victim conditions | Deceptive site ahead warning |
| Google results say “This site may be hacked”, or show Japanese titles under your domain | Spam pages or injected content were indexed under your domain, usually cloaked so you do not see them | Japanese keyword hack |
| Your host suspended the account for malware | The host’s scanner flagged files in the account; the notice lists damage, not how it got there | Host suspended the site for malware |
| ImunifyAV or cPanel reports infected files | Files matched malware signatures; whatever wrote them may be somewhere the scan does not read | ImunifyAV found infected files |
| Several accounts on one WHM server are flagged | A server incident, not a set of unrelated site infections | WHM or cPanel server hacked |
| You found defunct or defunct.dat in ~/.config/htop | A gsocket backdoor: an encrypted outbound shell into the hosting account | gsocket backdoor (defunct.dat) |
| Files, dot-directories, or executables you cannot explain above public_html | Something was planted where WordPress scanners never look | Hidden files in a Linux home directory |
| Deleted malware reappears on a schedule, or a cron job nobody recognises | A scheduled task is re-downloading or rebuilding what you remove | Malicious cron jobs on cPanel and Linux |
| The host says the account is sending spam, or the server IP is on a blacklist | A compromised mailbox, a malicious script, or an abused form is sending mail | Server sending spam (Exim) |
| A .user.ini or auto_prepend_file line you did not write | Code that runs before WordPress and can rewrite files as fast as you delete them | auto_prepend_file malware |
| Every scanner says clean, but a warning is still up | A stale flag, cloaked delivery, or a mechanism outside what the scanner reads | Scan clean but still flagged |
| Visitors report a fake CAPTCHA or “verify you are human” step | The site is serving a ClickFix lure to its visitors | Fake verification page |
| Visitors are redirected to ads or scam pages, but you are not | A cloaked redirect injection that targets search or mobile visitors | WordPress redirecting to spam |
| Customers report card fraud after buying from your store | The checkout may be skimmed while every order still succeeds | WooCommerce checkout skimming |
| An administrator account you never created | Persistence from an active compromise, not a glitch | Unknown admin user in WordPress |
| The same infection returns after every cleanup | Something survived: a startup directive, a scheduled task, a credential, or a neighbouring site | WordPress keeps getting hacked |
| An insurer or client sent a security questionnaire | You need evidence for each control, not a yes | Cyber-insurance requirements |
| An advanced-cache.php, object-cache.php or db.php in wp-content that no installed plugin owns | A loader using a reserved drop-in name, which runs before every plugin | Drop-in backdoors |
| Customers say checkout asked for their card twice, or showed an error and then a different card form | A script injected a fake card form in front of the real gateway; the first entry went to the attacker | Fake payment form at checkout |
| A plugin folder nobody installed, a hello.php with extra code, or an active plugin missing from the list | A backdoor packaged as a plugin and named to be overlooked | Fake WordPress plugins |
| View-source shows String.fromCharCode, document.write or an unknown <script src> in your pages | Script injected into the database: posts, widgets, or the siteurl and home options | fromCharCode script injection |
| Google Ads disapproves ads for a “Compromised site” or malicious software, or suspends the account | Google’s checks found the landing pages compromised or serving harmful content; the site has to be clean before an appeal can succeed | Google Ads compromised-site appeal |
| Search Console reports “Harmful downloads” or “Uncommon downloads” | The site serves or links to files Safe Browsing considers malicious, unwanted, or too rarely seen to trust | “Harmful downloads” in Search Console |
| RewriteCond lines on HTTP_REFERER or HTTP_USER_AGENT in .htaccess, or the same .htaccess in every folder | Malicious rewrite or handler rules: cloaked redirects, a prepended loader, or a lockdown protecting a backdoor | .htaccess malware rules |
| An unfamiliar hook in wp cron event list, or malware that returns every few minutes on a site with no server access | A scheduled WP-Cron event whose callback rewrites files or content | Malicious WP-Cron event |
| A PHP file in wp-content/mu-plugins that nobody installed, or a Must-Use tab you never noticed | A loader that runs on every request without activation and survives a plugin cleanup | Rogue mu-plugins loader |
| Search Console emails “Social engineering content detected” | Safe Browsing saw deceptive pages on the site — phishing, fake support, fake downloads or a fake verification prompt — and will warn visitors | “Social engineering content detected” |
| Google shows “This site may be hacked” under your search result | Google indexed spam pages, injected links or altered content on the domain, often cloaked so only crawlers and searchers see it | “This site may be hacked” label |
| An add_action on woocommerce_checkout_process, woocommerce_checkout_order_processed or woocommerce_payment_complete in a file you cannot place | PHP running inside the order flow, able to read what customers submit and copy it elsewhere | Rogue WooCommerce checkout hooks |
| An @include with \x2f or \057 escapes at the top of index.php, wp-load.php or wp-config.php | A loader that runs a hidden payload — often a fake .ico or .png — on every request | Obfuscated @include in core files |
| A database scan or query shows base64_decode, eval or gzinflate inside wp_options | A payload stored in the options table, run by a loader file elsewhere | base64_decode in wp_options |
| A subscriber, customer or custom role can reach Settings, Plugins or Users | The role definitions in wp_user_roles or one user’s capabilities were altered | wp_user_roles tampered |
| Files named wp-vcd.php, wp-tmp.php or class.theme-modules.php, or ads on the site you never placed | WP-VCD, brought in by a nulled theme or plugin and spread to the site’s other themes | WP-VCD malware |