Skip to content
Mastodon

Blog · Field-tested knowledge

Practical WordPress security insights.

Field-informed articles about malware behavior, hacked-site recovery, WordPress errors, maintenance, development, and safer website ownership.

Fixing "Ghost" Admins & Fatal Errors in WordPress Posts After a Hack
01

Fixing “Ghost” Admins & Fatal Errors in WordPress Posts After a Hack

The Symptoms: Thousands of blank admin users in the dashboard, and a “critical error” that crashes the Posts page. The Cause: Advanced database malware stripping primary key constraints to inject spam and rogue accounts using an ID of 0. The Fix: Executing targeted SQL queries via phpMyAdmin to purge the zero-ID records and repair the […]

Read blog
WordPress security scan shows no threats while hidden malware remains in the database, server cron jobs, or DNS settings
02

WordPress Malware Scan Says Clean but the Site Is Still Hacked: Check These 3 Layers

A WordPress malware scanner reports that everything is clean. However, visitors are still being redirected, unfamiliar scripts continue loading, or the infection returns shortly after suspicious files are removed. This does not necessarily mean that the scanner is broken. It usually means that the investigation has been limited to only one part of the website. […]

Read blog
How to Stop Spam on WordPress Without Slowing Down Your Site
03

How to Stop Spam on WordPress: Start Lightweight, Add Protection When Needed

Spam on WordPress does not always look the same. One website may receive hundreds of promotional comments. Another may get nonsense messages through its contact form. An online store may suddenly receive fake WooCommerce orders, while a membership site may fill up with bot-generated user accounts. The mistake I often see is treating every type […]

Read blog
04

WP-VCD Malware in WordPress: How It Spreads, What It Breaks, and Why It Comes Back

During a recent WordPress malware investigation, I found this code at the beginning of a plugin file: <?php if (file_exists(dirname(__FILE__) . ‘/class.plugin-modules.php’)) { include_once(dirname(__FILE__) . ‘/class.plugin-modules.php’); } ?> It is only one short line, and the rest of the file looked like normal plugin code. But the referenced file name immediately stood out: class.plugin-modules.php This […]

Read blog
How to Secure WordPress Without Security Plugins
05

How to Secure WordPress Without Security Plugins

Quick answer: Yes, you can secure WordPress without any security plugins. Most real protection comes from two layers you control directly: application hardening (wp-config.php rules, correct file permissions, disabled file editing) and server-level controls (a web-server firewall, blocked PHP execution, least-privilege database access). Plugins add convenience and monitoring, not the foundation. After manually cleaning more […]

Read blog
WordPress Pages Loading Hidden Spam Backlinks? Fix Guide
08

WordPress Pages Loading Hidden Spam Backlinks? How to Diagnose and Remove the Database fetch() Injection (Symptom-First Guide)

If your WordPress site is loading scripts from domains you’ve never heard of, if Google Search Console suddenly shows queries about slot gacor or zeus379, or if your security plugin keeps saying “site is clean” while your traffic quietly tanks — you are almost certainly dealing with a database-level spam backlink injection. This isn’t a […]

Read blog
htaccess.spam-seo.redirect.006: What This Sucuri Signature Means and How to Fix It in WordPress
010

htaccess.spam-seo.redirect.006: What This Sucuri Signature Means and How to Fix It in WordPress

Quick answer: htaccess.spam-seo.redirect.006 is a Sucuri SiteCheck signature — not a virus name. It means Sucuri’s scanner found malicious RewriteRule or RewriteCond directives inside your WordPress .htaccess file that redirect visitors (or only Google’s crawler, or only mobile users) to spam, gambling, or pharmacy domains. The fix is to restore the default WordPress .htaccess, then […]

Read blog