WP Manifestindependent plugin directory
manifest / performance / wp-usage-analyzer

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

1stars
0forks

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.zip

Scans 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_plugins filter

Installation

  1. Upload the wp-usage-analyzer folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Navigate to Usage Analyzer in the admin sidebar.
  4. 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

Screenshots

  1. Dashboard with summary cards including Infrastructure count.
  2. Filter tabs showing only "Likely Unused" items.
  3. Infrastructure tab showing recognised server-side plugins.
  4. 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_plugins filter 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.