How to run a vulnerability scan
SecurityWP Warden checks every plugin, theme, and WordPress core version across all your sites against known CVE databases. Scans run automatically on a schedule, but you can also trigger one on demand.
-
Automatic scans happen daily
WP Warden runs a full fleet vulnerability scan every day at 4:00 AM using WPVulnerability.net. If Patchstack is configured instead, that daily scan is replaced by a scheduled Patchstack sync every 6 hours with virtual-patch status. -
To run a manual scan
Go to Vulnerabilities in the sidebar. Click Run Global Security Audit at the top of the page. WP Warden immediately scans all connected sites and refreshes the results. -
Review the vulnerability list
Results show: affected plugin/theme name, CVE ID (if available), CVSS severity score (0β10), severity badge (Critical / High / Medium / Low), affected version range, and the fixed-in version. -
Check for virtual patches (Patchstack users)
Vulnerabilities with an active Patchstack virtual patch show a Warning severity instead of Critical/High, and display the note: “Virtual patch active via Patchstack. Update still recommended.” -
Remediate vulnerabilities
For each vulnerability, go to the Plugin Inventory and update or deactivate the affected plugin. See How to update a plugin.
Screenshot: Vulnerabilities page
The vulnerability feed showing severity badges, CVE IDs, affected plugins, and the fixed-in version column.
Every client report includes a Security Status section and a Security Hardening Checklist (user registration, file editor, XML-RPC, DB prefix, directory browsing). Enable these sections when generating reports for security-conscious clients.
How to configure and manage alerts
MonitoringWP Warden generates alerts automatically for downtime, cron failures, broken links, vulnerabilities, and more. Here’s how to view, filter, resolve, and snooze them.
-
View all alerts
Click Alerts in the sidebar. The alerts page lists all active alerts across your entire fleet. -
Filter by severity or type
Use the filter dropdowns to narrow by: Severity (Critical / High / Warning / Info) or Type (downtime, cron_failure, vulnerability, zombie_plugin, broken_link, visual_regression, etc.). -
Resolve an alert
Click the Resolve button on an alert row. For certain alert types (cron failures, broken links, zombie plugins, vulnerabilities), WP Warden performs a verify-before-resolve check. If the underlying issue is still present, a “Still Persisting” modal explains why. You can choose to Force Resolve to override. -
Snooze an alert
Click the clock icon to snooze an alert until a future date/time. Snoozed alerts are suppressed from notifications and the dashboard badge until the snooze period expires. -
Configure which alerts trigger emails
Go to Settings β Notifications tab to control which alert types send email notifications. See notification preferences.
Screenshot: Alerts page with severity filter and Resolve
button
The alerts list with severity color-coding (red border = critical, amber = warning, blue = info), filter dropdowns, and per-row Resolve and Snooze buttons.
WP Warden deduplicates alerts β if the same cron hook misses again on the next engine run, no second alert is created for the same issue on the same site.
Unresolved Critical and Warning alerts generate hourly follow-up emails until they are resolved or acknowledged. This is configurable in Settings β Notifications.
How to monitor DNS health
InfrastructureWP Warden checks DNS records, SSL certificates, email authentication (SPF, DKIM, DMARC), and global DNS propagation for all your sites every 6 hours and alerts you when something changes.
-
Go to DNS Health
Click DNS Health in the sidebar to see the fleet-wide DNS overview. -
Review the DNS health scores
Each site has a 0β100 DNS Health Score based on five categories: Email Auth (SPF/DKIM/DMARC), SSL Security, DNS Records (A, MX, Nameservers), Uptime, and Propagation across 6 global resolvers. -
Click a site to see full details
The per-site DNS detail page shows every individual check result β pass, fail, or warning β with timestamps. -
Read fix guides for failed checks
For each failed check, a Fix Guide button appears. Click it for step-by-step remediation instructions including exact DNS record values to copy into your DNS provider. -
Trigger a manual recheck
Click Recheck Now on any site’s DNS detail page to run an immediate check without waiting for the 6-hour scheduled run. Rate-limited to once per 10 minutes.
Screenshot: DNS Health fleet overview
The fleet table showing each site’s DNS score, category breakdown bars, and last check time.
Screenshot: Per-site DNS detail page
Individual check results for A record, MX, SPF, DKIM, DMARC, SSL certificate expiry, and propagation across 6 resolvers.
A missing DMARC or SPF record triggers a Critical alert because it leaves your domain open to email spoofing. Use the Fix Guide to add the correct records in under 5 minutes.
How to monitor uptime and downtime
AvailabilityWP Warden probes every site every 5 minutes from the backend server, completely independent of the WordPress plugin. When a site goes down you get an alert instantly β not on the next heartbeat.
-
Uptime monitoring is automatic
No setup required. Every site you add to WP Warden is automatically included in the 5-minute uptime probe cycle. -
View uptime statistics
Open any site’s detail page and scroll to the 30-Day Health Trend chart, which overlays response time as an amber dashed line alongside the health and security score trends. Hover any point for the exact response time at that check. -
View downtime incidents
When a site was down, downtime incidents are recorded with: start time, end time, duration, and root cause (DNS failure, timeout, connection refused, HTTP 5xx). These appear in the Uptime section of client reports. -
Check the active alert when a site is down
Go to Alerts. A Site Unreachable critical alert is created automatically the moment a probe fails. The alert is automatically resolved when the site comes back up β no manual action needed.
Screenshot: Site detail page β 30-Day Health Trend
chart
The interactive sparkline chart showing health score (green), security score (blue), and response time (amber dashed) over 30 days.
Uptime statistics (7-day, 30-day, and 90-day %) appear in the Availability & Uptime section of client reports β a great way to demonstrate your service reliability.
How to view visual regression results
Quality ControlEvery time WP Warden applies a plugin, theme, or core update, it automatically captures before/after screenshots and compares them pixel by pixel. If the site looks different, you get a Visual Regression alert.
-
Visual regression runs automatically after updates
No configuration needed. Whenever an update command is executed via WP Warden (toggle, bulk update, or maintenance window), a before-screenshot is captured, then a second after-screenshot is taken, and the two are diff’d. -
Check for Visual Regression alerts
If the pixel mismatch exceeds the threshold (default 5%), a Visual Regression warning alert appears in the Alerts page. Click it for details. -
View the before/after images
Open a site’s detail page and go to the Regressions tab. Each entry shows the diff score (%), and you can click to view the before screenshot, after screenshot, and the red-highlighted diff image side by side. -
Investigate the change
A high diff score means something visible changed on the homepage. This could be a legitimate UI update or an unintended breakage. Open the site in a browser to confirm. -
Resolve the alert
Once you have confirmed the change is expected (or fixed the issue), return to Alerts and click Resolve on the visual regression alert.
Screenshot: Visual Regression β before/after/diff
view
Three screenshots side by side: before the update, after the update, and the pixelmatch diff image with red-highlighted changed areas.
The sensitivity threshold defaults to a 5% pixel difference before an alert triggers β tuned to catch real layout breaks without flagging normal, minor rendering differences.
Screenshots are captured at 1280Γ900 viewport after waiting for the page to fully load. They are stored securely and accessible only to authenticated users of your account.
How to monitor file integrity & block malware
Malware DefenseWP Warden hashes every core, plugin, and theme file and diffs it against a known-good baseline, and separately scans for malicious code patterns and blocks brute-force logins β so a compromise gets caught whether it shows up as an unexpected file change or as a webshell that was never a “change” at all.
-
Hash-based change detection (core, plugins, themes)
Every file in scope is SHA-256 hashed on each scan and compared to the last known-good baseline. Core files are additionally cross-checked against the official WordPress.org checksum manifest, so tampering is caught even on the very first scan. -
Malware & webshell signature scanning
Independent of hash diffing, WP Warden scans file content for known malicious-code patterns β obfuscatedeval()/base64_decode()chains, dynamic function construction, and webshell request patterns. This catches a webshell even if it was already present before monitoring started, which a hash baseline alone cannot. -
Uploads directory coverage
wp-content/uploadsis excluded from hash-diff baselining (it changes constantly by design) but is still scanned for disallowed executable extensions and malicious content β the single most common place a dropped webshell hides. -
Uploads directory hardening
The WP Warden plugin pushes a server rule intowp-content/uploadsdenying execution of PHP and other script extensions, so even a file that slips past scanning can’t be run directly. -
Brute-force login protection
Repeated failed logins from the same IP are rate-limited and locked out automatically. If the same IP targets multiple sites in your fleet within an hour, WP Warden raises one fleet-wide alert instead of one alert per site. -
Configure scan scope and review flagged files
Open a site’s File Integrity page to set scan scope (core only, core + plugins, core + themes, or all) and frequency (daily or hourly), and review every modified, added, deleted, or content-flagged file with its matched pattern.
A critical alert on a content-flagged file means WP Warden found a known malicious-code pattern, not just a change β review it immediately rather than whitelisting it.
A backup taken right after a fully clean scan is marked Verified Clean in the Backups page β the safest restore point to roll back to after a compromise.
How to get an AI second opinion on flagged files
Malware DefenseWhen the file-integrity scanner flags a file, you can optionally connect your own AI provider β Claude, ChatGPT, Gemini, or a locally-hosted model β for an independent second opinion before deciding what to do about it.
-
Connect your AI provider
Go to Settings β AI Security. Toggle it on, choose a provider (Claude, ChatGPT, Gemini, or Local / OpenAI-compatible for something like LM Studio or Ollama), and enter your API key β or, for a local server, its URL (e.g.http://localhost:1234/v1). No API key is needed for a local server. -
Choose which locations the AI can see
Turn Core, Themes, Plugins, mu-plugins, and Uploads on or off independently. Only files inside an enabled zone are ever sent for a second opinion β nothing is scanned proactively, only files the deterministic scanner already flagged. -
Set a daily call limit
Cap how many findings per day get sent to your AI, so your own usage costs with that provider stay predictable. -
Test the connection
Click Test Connection to confirm WP Warden can reach your provider (or local server) and get a real response back before relying on it. -
Review AI verdicts on flagged files
Open a site’s File Integrity page. A finding that has completed AI review shows a colored π€ badge β malicious, benign, or uncertain β with the AI’s rationale on hover. -
Quarantine or permanently delete a confirmed threat
Click Quarantine on site to rename and lock the file in place on the live site β reversible, evidence preserved. Once quarantined, a separate Permanently delete button appears as a deliberate second step. -
Track your usage
Settings β AI Security shows token usage for today, this month, and all time, so you can see roughly what you’re spending with your own provider.
This is bring-your-own-key: WP Warden never sees or bills for your AI usage β every call goes directly between your account and your chosen provider.
A local model (via LM Studio, Ollama, or any OpenAI-compatible server) works too, and costs nothing per call beyond your own hardware β a good option if you want a second opinion without a cloud subscription.
The AI’s verdict is a second opinion, not an automatic action β nothing is quarantined or deleted without you clicking the corresponding button yourself.