{"id":378702,"date":"2026-09-30T18:07:18","date_gmt":"2026-09-30T18:07:18","guid":{"rendered":"https:\/\/fa.wordpress.org\/plugins\/hfp-widget-usage-scanner-for-elementor\/"},"modified":"2026-09-30T18:07:04","modified_gmt":"2026-09-30T18:07:04","slug":"hfp-widget-usage-scanner-for-elementor","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/hfp-widget-usage-scanner-for-elementor\/","author":17693962,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.2","stable_tag":"1.7.2","tested":"7.1.2","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"HFP Widget Usage Scanner for Elementor","header_author":"Hamed Farahabadi","header_description":"Scan Elementor widget usage, export reports, and disable unused widgets with safety checks and restore controls.","assets_banners_color":"","last_updated":"2026-09-30 18:07:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/hamedfarahabadi.ir\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":51,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.7.2":{"tag":"1.7.2","author":"hamedfarahabady","date":"2026-09-30 18:07:04","revision":3721806}},"upgrade_notice":{"1.7.2":"<p>Additional Plugin Check cleanup for CSV export.<\/p>","1.7.1":"<p>Plugin Check cleanup release for WordPress.org submission.<\/p>","1.7.0":"<p>Public release candidate with deep scanning, CSV export, and reversible widget disabling.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.7.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Deep scan summary and widget usage report.","2":"Search and filters for status and widget source.","3":"Widget locations and forensic evidence.","4":"Disable and restore controls for unused widgets."}},"plugin_section":[],"plugin_tags":[3786,76538,187,247,241],"plugin_category":[43,52,54],"plugin_contributors":[280866],"plugin_business_model":[],"class_list":["post-378702","plugin","type-plugin","status-publish","hentry","plugin_tags-cleanup","plugin_tags-elementor","plugin_tags-optimization","plugin_tags-performance","plugin_tags-widgets","plugin_category-customization","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-hamedfarahabady","plugin_committers-hamedfarahabady"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/hfp-widget-usage-scanner-for-elementor.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>HFP Widget Usage Scanner for Elementor scans saved Elementor data to help site owners understand which widgets are actually used.<\/p>\n\n<p>The scanner checks:<\/p>\n\n<ul>\n<li>Elementor pages and posts.<\/li>\n<li>Custom post types.<\/li>\n<li>Elementor Library documents.<\/li>\n<li>Theme Builder templates such as single and archive templates.<\/li>\n<li>Loops and popups saved as Elementor documents.<\/li>\n<li>Elementor-related post meta as an additional forensic pass.<\/li>\n<li>Registered widgets from Elementor, Elementor Pro, and third-party add-ons.<\/li>\n<\/ul>\n\n<p>The report can show:<\/p>\n\n<ul>\n<li>Used widget types and instance counts.<\/li>\n<li>Exact documents where a widget was found.<\/li>\n<li>Widgets with only post-meta evidence.<\/li>\n<li>Registered widgets for which no usage was found.<\/li>\n<li>The plugin or theme source for registered widgets when it can be detected.<\/li>\n<li>Widgets disabled by this plugin.<\/li>\n<\/ul>\n\n<p>Administrators can export the report as CSV and can disable or re-enable widgets. Before each disable action, the plugin performs a fresh scan and blocks the change when usage or forensic evidence is found.<\/p>\n\n<h4>Important limitation<\/h4>\n\n<p>Usage detection is best effort. Third-party extensions can store or generate widget references dynamically in ways that are not visible in normal Elementor document data or post meta. Review critical templates and keep a backup before disabling widgets, especially when using bulk actions.<\/p>\n\n<p>This plugin does not delete Elementor content or widget data. Its disable feature prevents selected widgets from being registered through Elementor's widget enable filter. Re-enabling restores widget registration.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>The plugin does not send site data to external services and does not include analytics or tracking.<\/p>\n\n<h4>Trademark notice<\/h4>\n\n<p>Elementor is a trademark of Elementor Ltd. HFP Widget Usage Scanner for Elementor is an independent third-party plugin and is not affiliated with or endorsed by Elementor Ltd.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Elementor.<\/li>\n<li>Upload and activate HFP Widget Usage Scanner for Elementor.<\/li>\n<li>Go to Tools &gt; Widget Usage Scanner.<\/li>\n<li>Click \"Run deep scan\".<\/li>\n<li>Review usage and evidence before disabling any widgets.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20delete%20elementor%20widgets%20or%20their%20content%3F\"><h3>Does the plugin delete Elementor widgets or their content?<\/h3><\/dt>\n<dd><p>No. It does not delete Elementor content, templates, or widget data. The disable feature prevents selected widget types from being registered while the setting is active.<\/p><\/dd>\n<dt id=\"can%20i%20restore%20a%20disabled%20widget%3F\"><h3>Can I restore a disabled widget?<\/h3><\/dt>\n<dd><p>Yes. Each disabled widget has an Enable button, and there is also a \"Re-enable all\" action.<\/p><\/dd>\n<dt id=\"why%20can%20a%20widget%20be%20marked%20as%20forensic%20evidence%20instead%20of%20used%3F\"><h3>Why can a widget be marked as forensic evidence instead of used?<\/h3><\/dt>\n<dd><p>The primary scan reads Elementor documents. The forensic pass also searches Elementor-related post meta for widgetType references. A widget found only in that secondary pass is intentionally protected from one-click disabling.<\/p><\/dd>\n<dt id=\"can%20the%20scanner%20miss%20a%20widget%3F\"><h3>Can the scanner miss a widget?<\/h3><\/dt>\n<dd><p>It is possible. Some third-party plugins may create widgets dynamically or store references in custom locations. This is why the plugin performs a fresh scan before disabling and displays a warning before bulk actions.<\/p><\/dd>\n<dt id=\"does%20disabling%20unused%20widgets%20automatically%20improve%20frontend%20performance%3F\"><h3>Does disabling unused widgets automatically improve frontend performance?<\/h3><\/dt>\n<dd><p>Not always. Elementor and add-ons can load assets differently. Disabling unused widgets can simplify the editor and may reduce registered widget overhead, but frontend performance gains depend on the specific plugins and widgets installed.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20elementor%20pro%3F\"><h3>Does this plugin work with Elementor Pro?<\/h3><\/dt>\n<dd><p>Yes. Elementor Pro documents and widgets are included when Elementor Pro is installed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>Resolved Plugin Check output-escaping findings in CSV export by isolating non-HTML CSV response output in a documented helper.<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Fixed WordPress Plugin Check findings from the release candidate.<\/li>\n<li>Removed the unnecessary Domain Path header.<\/li>\n<li>Reworked CSV export to avoid direct filesystem stream operations.<\/li>\n<li>Added nonce verification for admin notice query parameters.<\/li>\n<li>Replaced direct database scans with WordPress query and metadata APIs.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Prepared the plugin for public distribution.<\/li>\n<li>Added WordPress plugin dependency metadata for Elementor.<\/li>\n<li>Added internationalization-ready admin strings.<\/li>\n<li>Added separate admin CSS and JavaScript files.<\/li>\n<li>Added fresh-scan protection before single and bulk disable actions.<\/li>\n<li>Added CSV export.<\/li>\n<li>Added legacy option migration from development builds.<\/li>\n<li>Added uninstall cleanup.<\/li>\n<li>Renamed the public plugin to \"HFP Widget Usage Scanner for Elementor\" for clearer third-party branding.<\/li>\n<\/ul>","raw_excerpt":"Scan Elementor widget usage across pages and templates, export reports, and disable unused widgets with restore controls.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/378702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=378702"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hamedfarahabady"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=378702"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=378702"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=378702"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=378702"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=378702"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=378702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}