Troubleshooting
Most VMP Security issues are covered by a more specific troubleshooting article: Firewall Troubleshooting, Scan Troubleshooting, or Blocking Troubleshooting. This article collects general troubleshooting that does not fit into one of those, plus the steps to take before opening a support ticket.
In This Article
First steps
Before chasing a specific symptom, run the four checks that catch most one-off issues:
- Update. Make sure VMP Security itself is at the latest version. A surprising number of “the plugin is broken” reports are issues that were fixed two releases ago.
- Open Diagnostics. Open VMP Security → Tools → Diagnostics. Anything red or yellow on that page is a clue. Note especially the WP-Cron section, the Connectivity section, and the Background workers section.
- Clear caches. OPcache, WordPress object cache, and any page cache plugin. Configuration changes that “do not take effect” are often just cached.
- Check for plugin/theme conflicts. Temporarily switch to a default theme (Twenty Twenty-Five or similar) and disable other plugins. If the issue goes away, the cause is a conflict; see the Plugin / Theme Conflicts article.
Admin dashboard issues
VMP Security menu does not appear
If the menu is missing for an administrator, the most likely cause is a role or capability filter from another plugin removing the menu. Check by switching to a different administrator account; if the menu is there, something is filtering for the original user. As a quick test, deactivate plugins one at a time until the menu reappears.
Pages take a long time to load
The plugin’s admin pages query a lot of data. On large sites, the queries can be slow. If specific admin pages are slow, the most common causes:
- Live Traffic. Long retention with no sampling makes the table large. Reduce retention or enable sampling.
- Audit log. Same shape as Live Traffic. Reduce retention.
- Findings list. Tens of thousands of historical findings. Filter to recent or open status, or archive resolved findings.
The Database section of Diagnostics shows row counts for each plugin table; oversized tables are usually the smoking gun.
Settings revert to defaults after saving
Almost always a database write issue: the WordPress options table cannot accept the new value. Common causes are a corrupted options table, a database disk that is full, or a security plugin (yes, sometimes another security plugin) intercepting writes to wp_options. The first thing to check is whether the database has room to write — if free space is small, no plugin can save settings reliably.
Performance issues
VMP Security adds work to each request, but the per-request overhead should be invisible on a healthy site. If you notice the site is slower after enabling VMP Security than before:
- Profile. Use Query Monitor or a server-side profiler to see where time is being spent. The firewall’s evaluation should be sub-millisecond on most hosts; if it is much more than that, something is wrong with the rule storage or the evaluation path.
- Check the storage engine. The MySQLi storage engine adds database load relative to file storage. If the database is already a bottleneck, switching back to file storage removes that contribution.
- Disable Live Traffic. Each request writes a Live Traffic row. On very high-traffic sites, this can become a bottleneck. Sampling, reduced retention, or full disable resolves it.
- Disable advanced scan options. Heavy scan options add load while a scan is running. The Performance section of the Scan Options page has knobs to reduce that.
Contacting support
When you do open a ticket, providing the following up front makes the back-and-forth far shorter:
- Plugin diagnostics. Click Send to Support on the Diagnostics page; the diagnostics URL will be associated with your ticket automatically.
- What you expected to happen. Specific is better than general. “The scan should produce findings” is less useful than “the scan should report a finding for the modified file at
wp-content/themes/our-theme/functions.php.” - What actually happened. The exact behavior, including any error messages or log entries.
- What you have already tried. Cuts off back-and-forth on steps you have already done.
- When the issue started. Recent change (a plugin update, a hosting change, a configuration edit) is usually the cause. If you can correlate the issue with a specific event, mention it.
Known issues
Issues affecting more than one customer are tracked publicly on the support knowledge base, organized by symptom. Before opening a new ticket, search the knowledge base for the symptom you are seeing — if there is an existing entry, it usually includes a workaround or an expected fix date.
For issues that affect a specific WordPress version, PHP version, or hosting environment, the entry will say so explicitly. The Compatibility article also documents long-running interactions that may never be “fixed” per se, but have known workarounds.