WP Usage Analyzer
Scans your WordPress site and detects installed plugins and themes that are not actively used in any page, widget, shortcode, or block. Intelligently recognises infrastructure plugins (SEO, security, backup, logging, code injection) that work without leaving content signatures.
by Furqan Yasin · github.com/furqanyasin/wp-usage-analyzer · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/furqanyasin/wp-usage-analyzer/archive/refs/heads/main.zipScans your WordPress site and identifies plugins and themes that are not actively used anywhere on your website. Intelligently recognises infrastructure plugins that work without leaving content signatures.
Description
WP Usage Analyzer — developed by Furqan Yasin — helps you keep your WordPress installation clean and performant by detecting installed plugins and themes that have no detectable usage on your site.
What it scans:
- Post and page content — shortcodes, Gutenberg blocks, classic HTML embeds
- Widget areas — any plugin-registered widget placed in a sidebar
- Page builder content — Elementor, WPBakery, Divi serialised meta fields
- Navigation menus — post types referenced in nav menu items
- Active theme template files — plugin function calls, do_shortcode() invocations
- Custom post types — checks whether any published content uses CPTs registered by each plugin
- WordPress options table — detects option keys belonging to each plugin
Infrastructure Plugin Intelligence:
Many plugins are essential but leave no shortcode, block, or widget in your content. WP Usage Analyzer recognises these automatically and classifies them correctly:
- Code Injection — WPCode, Code Snippets (inject scripts into header/body/footer)
- SEO — Rank Math, Yoast SEO, AIOSEO (manage meta tags, sitemaps, schema)
- Security — Wordfence, Wordfence Login Security, iThemes Security
- Activity Logging — WP Activity Log, Simple History
- Backup — WPvivid, UpdraftPlus, BackWPup
- Custom Fields — Advanced Custom Fields (PRO), Meta Box, Pods
- Editor — Classic Editor, Disable Gutenberg
- Caching — WP Rocket, W3 Total Cache, LiteSpeed Cache
- Email / SMTP — WP Mail SMTP, Post SMTP
- Redirects — Redirection, Safe Redirect Manager
Developers can extend the registry via the wpua_known_plugins filter.
Status classifications:
- ✅ Actively Used — Found in content, widgets, blocks, or theme files
- 🔵 Infrastructure — Known server-side / hook-based plugin correctly identified as active
- ⚠️ Uncertain — Has database options but no visible front-end usage detected
- ❌ Likely Unused — No usage signals found anywhere on the site
- 💤 Inactive — Plugin is deactivated
Features:
- One-click manual scan from the admin dashboard
- Summary cards showing counts per status (including Infrastructure)
- Filter tabs to quickly view only unused or uncertain items
- Per-item reason list explaining why a plugin was classified as it was
- Ignore list — mark plugins you want to keep even if unused
- CSV export of full scan results
- Automatic background scan via WP-Cron (weekly)
- Extensible known-plugin registry via
wpua_known_pluginsfilter
Installation
- Upload the
wp-usage-analyzerfolder to/wp-content/plugins/. - Activate the plugin through the Plugins menu in WordPress.
- Navigate to Usage Analyzer in the admin sidebar.
- Click Run Scan Now to perform your first scan.
Frequently Asked Questions
Will this plugin delete or deactivate anything for me?
No. WP Usage Analyzer only scans and reports. It never modifies, deactivates, or deletes plugins or themes. All decisions remain with you.
A plugin I know is being used is showing as "Unused" — why?
Some plugins work entirely via PHP hooks and filters with no shortcode, block, widget, or CPT front-end presence. The most common ones (SEO, security, backup, logging, etc.) are already in the built-in registry and will show as "Infrastructure". If you have a custom or less common plugin that isn't recognised, use the Ignore List to exclude it from reports, or add it via the wpua_known_plugins filter.
How do I add my own infrastructure plugins to the registry?
Add this to your theme's functions.php or a custom plugin:
add_filter( 'wpua_known_plugins', function( $registry ) { $registry['my-plugin-slug'] = array( 'category' => 'My Category', 'status' => 'used', 'reason' => 'This plugin does X via hooks.', ); return $registry; } );
Does the scan slow down my site?
No. Manual scans run synchronously in the admin only. The automatic weekly scan runs via WP-Cron in the background and has no effect on front-end performance.
Author
Developed by Furqan Yasin
- LinkedIn: https://www.linkedin.com/in/mfurqanyasin/
- GitHub: https://github.com/furqanyasin
Screenshots
- Dashboard with summary cards including Infrastructure count.
- Filter tabs showing only "Likely Unused" items.
- Infrastructure tab showing recognised server-side plugins.
- Ignore list management page.
Changelog
1.1.0
- Added Known Plugin Registry — 40+ infrastructure plugins now correctly classified (SEO, security, backup, logging, code injection, editors, caching, SMTP, redirects).
- Added "Infrastructure" status, badge, summary card, and filter tab.
- Updated author details (Furqan Yasin).
- Added
wpua_known_pluginsfilter for developer extensibility.
1.0.0
- Initial release.
Upgrade Notice
1.1.0
Major accuracy improvement: infrastructure plugins (Rank Math, Wordfence, WPCode, ACF, Classic Editor, WP Activity Log, WPvivid, etc.) are now correctly identified as active instead of showing as Unused.