=== Tendforge Widget Auditor for Elementor ===
Contributors: tendforge
Tags: elementor, performance, widgets, bloat, audit
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.2.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

See the real CSS/JS kilobytes each unused Elementor addon still loads on every page — measured from a live render — so removal actually pays off.

== Description ==

You can already find unused Elementor widgets. The question nobody answers is: how much weight is a dead addon *actually* costing you? Widget Auditor measures the real CSS/JS kilobytes each fully-unused addon still loads on a real rendered page (for example, "loads ~82 KB on your home page"), so instead of guessing you see exactly what you would reclaim by removing it. Elementor's own asset optimization only lazy-loads its *native* widgets — third-party addons keep loading globally, on every page, even when you never use a single one of their widgets.

**Widget Auditor shows you the real cost of the bloat in one scan:**

* **Measured asset footprint** — for each fully-unused addon, the actual CSS/JS kilobytes it still loads on a real rendered page, measured from a live render rather than a disk estimate, so you can see the real weight you would reclaim by removing it. (The figure is measured on your home page; a caching or asset-optimization plugin can change the number on your live site.)
* **Scans the documents Element Manager overlooks** — a truly full-site scan covering every page, post, popup, header, footer and theme-builder template, *including the document types Elementor's own Element Manager scan misses*, so an "unused" widget really is unused. A per-type coverage breakdown shows exactly what was checked. Processed in batches so it works on large sites
* **Where used** — every widget links to the exact pages it appears on, so you can verify before you act
* **Usage by addon** — see exactly how many of each addon's widgets you really use ("3 of 60 widgets used")
* **Quick wins** — addons whose widgets you never use anywhere, ranked by the weight they're costing you, as safe candidates for deactivation
* **Unused widget list** — switch individual widgets off in Elementor's Element Manager with confidence, knowing nothing references them
* **Broken widget detection** — find widgets still referenced in your content after their addon was removed; they render as empty areas for your visitors

= Why this matters =

A fully-unused addon can still load its full CSS/JS bundle on every single page view. Knowing the actual kilobytes — not a guess — tells you which addon is worth removing first. This plugin gives you that number, measured on a real render, so you can cut bloat based on data instead of hunches.

= Built the right way =

* Read-only: the scanner never modifies your content or settings
* No frontend code — runs entirely in the admin
* Works with any Elementor addon, no per-addon integration needed

== Installation ==

1. Install and activate the plugin. Requires Elementor to be installed and active.
2. In the WordPress admin, open **Elementor → Widget Auditor**.
3. Click **Scan site** — Widget Auditor lists your registered widgets and shows which are used on your pages, templates and popups, which are never used, and any broken (orphaned) widgets.
4. Review each unused addon's measured CSS/JS footprint and the quick-wins list to decide what is safe to remove, then switch off unused widgets in Elementor's Element Manager.
5. (Optional) Upgrade to Pro for a pre-deactivation dependency check, reversible bulk disable, CSV export, and scheduled audit emails.

= Widget Auditor Pro =

The free plugin shows you the weight and finds the bloat. Pro helps you act on it safely and keep it from coming back:

* **Safe to deactivate? — addon dependency check** — before you remove an Elementor addon, see exactly which of its widgets are still live and on which pages, so you know at a glance whether deactivating it will break anything
* **Reversible bulk disable with snapshot & restore** — switch off unused addon widgets in bulk via Elementor's own Element Manager, but with a saved snapshot first so you can restore the previous state at any time — undo a bulk change Element Manager itself can't undo
* **Scheduled audits** — weekly or monthly automatic re-scan with an email summary of unused, deactivatable and broken widgets
* **CSV export** of the full audit for agencies and client reports

== Frequently Asked Questions ==

= Does it change or disable anything by itself? =

No. Widget Auditor is read-only: it reports usage and guides you to the right tools (the Plugins screen, Elementor's Element Manager) to act.

= Which content does the scan cover? =

Everything Elementor saves data for: pages, posts, custom post types, theme builder templates, popups and global widgets — in published, private, scheduled, pending and draft status. Trashed content is ignored.

= Will it work on a large site? =

Yes. The scan runs in batches of 100 documents via AJAX, so it doesn't hit PHP time limits.

= Does it support Elementor Pro and third-party addons? =

Yes. Any widget registered with Elementor is mapped back to the plugin (or theme) that provides it automatically.

== Screenshots ==

1. The free audit report: usage KPIs, per-addon usage tables, and the unused-widget list.
2. Per-page coverage: which pages actually use which widgets.
3. (Pro) Pre-deactivation dependency check and scheduled scans.

== Changelog ==

= 1.2.3 =
* Asset footprint measurement now derives its paths from WordPress's own APIs instead of assuming `/wp-content`, so sites with a custom content directory measure correctly.
* Added a `Requires Plugins: elementor` header so WordPress blocks activation when Elementor isn't active.

= 1.2.2 =
* Initial public release: a full-site Elementor widget audit that shows which widgets are used, which addons are never used and the real CSS/JS weight they still load, plus broken-widget detection and guidance on what is safe to remove.
