Massoftind Asset Manager

説明

Massoftind Asset Manager helps developers inspect every CSS and JavaScript asset loaded on the frontend, then optimize loading without breaking the site.

Features

  • Asset scanner (admin bar + timed 15-minute scan sessions)
  • Page reports with size, dependencies, duplicates, and unused handles
  • Assets grouped by WordPress core, plugin, theme, must-use plugin, or external source
  • Search assets by handle, source URL, plugin/theme name, or dependencies
  • Select all, or select an entire plugin/theme group
  • Bulk optimize: Disable, Enable (only on selected scope), Async, Defer, Delay
  • Scopes: entire site, this page/post, all singles, post type, taxonomy archive, URL contains
  • Current-rule badges on each asset (with link to manage rules)
  • Dependency viewer and disable simulation
  • History snapshots with one-click rollback
  • REST API and WP-CLI for users with manage_options
  • Debug mode and activity logs
  • Optional full data cleanup on uninstall

Safety first

Before disabling an asset, the plugin can simulate the change, warn about dependents, and refuse to unload required dependencies at runtime. Core WordPress assets are protected by default. Every rule change can be rolled back.

Privacy

This plugin does not phone home. There is no telemetry, analytics, license check, or remote API call. Everything works offline.

Requirements

  • WordPress 6.5 or higher
  • PHP 8.1 or higher

スクリーンショット

インストール

  1. Upload the massoftind-asset-manager folder to /wp-content/plugins/, or install the zip via Plugins Add New Upload Plugin.
  2. Activate Massoftind Asset Manager under Plugins.
  3. Open Asset Manager in the admin menu.
  4. Start a scan session, visit frontend pages, then review reports and create rules.

FAQ

Will this break my site?

The optimizer skips protected core assets (when enabled) and will not dequeue a handle that still has queued dependents. Always simulate first and keep rollbacks available. Test on staging when possible.

How do I scan a page?

Use Start 15-minute scan on Overview, then browse the frontend, or click Scan Assets in the admin bar on any frontend page. Stop scan mode only appears while a session is active.

What does “Enable” do?

Enable keeps the asset on the selected scope (this page, post type, taxonomy, or URL match) and removes it everywhere else. With WPML or Polylang, “this page / post” also matches translated versions of that content. qTranslate-XT uses one post ID per language, so it already matches.

Does this work with WPML or qTranslate?

Yes. Page rules follow translation groups (WPML / Polylang). URL rules match paths with or without language prefixes. qTranslate-XT is supported for shared post IDs and language-prefixed URLs.

What does “unused” mean?

Handles that are registered with WordPress but not enqueued on that page. This is not a CSS selector coverage analysis.

Does the plugin contact external servers?

No. No remote requests, tracking, or license validation.

Where is the REST API?

Authenticated endpoints under massoftind-am/v1 for users with manage_options.

How do I delete plugin data?

Enable Delete all plugin data on uninstall in Settings, then uninstall the plugin.

評価

このプラグインにはレビューがありません。

貢献者と開発者

Massoftind Asset Manager はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Massoftind Asset Manager” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

1.0.17

  • Plugin Check: remaining escape/nonce/CSS defer sniffs resolved for wp.org review.

1.0.16

  • Plugin Check: escape output in admin templates, sanitize scan URL input, document WPML filter usage and deferred CSS noscript fallback.

1.0.15

  • Fix: skip Delay/Defer/Async on scripts when other queued scripts still depend on them (prevents “Swiper is not defined” errors).
  • Rule warnings when dependents would break if a library script is delayed.

1.0.14

  • Clearer Enable vs sitewide actions: Enable cannot use Entire site (by design); Defer/Delay/Disable can.
  • Bulk bar shows inline hints; Entire site is disabled when Enable is selected.
  • Shorter “Do not defer” list — theme/Woo critical only (WordPress core no longer clutters the panel).

1.0.13

  • Strict safe mode (on by default): Defer/Delay/Async only applies to whitelisted non-critical plugin assets.
  • Blocks unsafe timing rules at save time and skips them at runtime — protects LCP across production sites.
  • Impact panel: “Safe to add” and “Do not defer or delay” lists from your scan when strict mode is on.
  • Settings toggle to disable strict mode for advanced users who have tested specific handles.

1.0.12

  • Fix: defer no longer applies to critical theme / WooCommerce layout CSS (prevents Lighthouse score crashes from unstyled LCP).
  • CSS defer uses preloadstylesheet pattern (more reliable than print/onload).
  • Optimize rules table: visible “rules per page” dropdown (10 / 20 / 50 / 100) plus Screen Options support.
  • Admin warning when defer rules exist on critical CSS handles that are skipped at runtime.

1.0.11

  • Defer now works on CSS: loads stylesheets without blocking first paint (print/onload pattern + noscript fallback).
  • Impact panel lists render-blocking handles from your scan with one-click Add rule.
  • Lighthouse guidance updated for render-blocking requests vs images/cache TTL.

1.0.10

  • Overview & Optimize: expanded impact panel with JS/CSS coverage %, managed vs unmanaged bytes, and “Lighthouse vs this plugin” guidance.
  • Explains what Lighthouse flags that this plugin cannot fix (images, cache TTL, minify) vs what rules can still improve (unused JS/CSS, third-party enqueues).
  • “Next JS/CSS opportunities” list from your latest/homepage scan with one-click Add rule.

1.0.9

  • Overview: new “Your optimization impact” section with factual metrics from your rules and scans (active rules, assets managed, estimated bytes, breakdown by rule type).
  • Guideline 11: impact stats appear only on the plugin Overview screen — no dashboard widgets, ads, or fake speed claims.

1.0.8

  • Enable (only_on) on multiple pages: several “this page” rules for the same asset now OR together, so Contact Form 7 (and similar) can load on 2–3 pages and stay off elsewhere.
  • Reports: modern Custom locations UI — searchable page chips, URL path chips (paste full URLs), and post-type checkboxes (e.g. all Product detail pages) in one Enable apply.
  • Enable outside scope now force-removes the asset even when other styles/scripts still depend on it (fixes Font Awesome etc. staying on Home after Enable page:N).
  • Rule badges show “not here” when an Enable rule does not match the scanned page.
  • Disable Entire site now actually saves (bulk create no longer skipped global scope) and force-removes the handle even if dependents remain.
  • Optimize screen uses the same modern location picker as Reports (pages, URL chips, product/post types) plus scanned-handle search.
  • Rules list and report badges show page titles (e.g. “Kontakt oss”) instead of only numeric IDs.

1.0.7

  • Fixed “this page” rules on WooCommerce shop: shop is a product archive (is_singular() is false), so Enable/Disable by page ID never matched — including on the original language.
  • Stronger page matching via translation IDs, is_page() / is_shop(), and product-archive shop fallback.

1.0.6

  • WPML / Polylang / qTranslate-XT: page/post rules apply across translated IDs (e.g. /shop/ and /en/shop/).
  • URL-contains matching ignores language prefixes (/en/, /nb/, etc.).
  • Taxonomy term rules resolve translated term IDs when available.
  • Scan post ID resolution is language-aware (including WooCommerce shop pages).

1.0.5

  • Guideline 11: removed Plugins-screen branding CSS and admin-menu color overrides.
  • Guideline 11: hero logo is local and non-linked (no external company CTA).
  • Admin bar “Scan Assets” only appears during an active 15-minute scan session.
  • Security: scan/page URLs built with home_url() (no Host-header poisoning).

1.0.2

  • Added WordPress.org plugin assets (banner, icons, and screenshots).
  • Improved Overview dashboard with a cleaner, more modern interface.
  • Refined Scans, Reports, Optimize, History, and Settings screens for better usability.
  • Enhanced visual consistency across all admin pages with improved spacing, typography, and cards.
  • Updated plugin documentation and screenshots to reflect the latest interface.
  • Minor UI refinements and code cleanup.

1.0.1

  • Contributors: added WordPress.org usernames (including plugin owner) to readme.
  • Admin notices now render only on Asset Manager screens (Guideline 11 — no dashboard hijacking).

1.0.0

  • Initial public release of Massoftind Asset Manager (slug: massoftind-asset-manager).
  • Added Overview dashboard with Mass branding, 3-step Scan Review Optimize flow, stats, and recent scans.
  • Added timed 15-minute scan sessions and admin-bar one-off frontend scans.
  • Scan mode UI: show Start 15-minute scan when idle; show Stop scan mode only while a session is active.
  • Added Scans list, Page Reports, Optimize (rules), History (rollbacks), Logs, and Settings under Asset Manager.
  • Admin menu stays expanded on all plugin screens; Reports and Logs are visible submenu items.
  • Page report: bulk optimize bar with action + scope controls and unsafe-disable confirmation.
  • Added rule actions: Disable, Enable (only load on selected scope), Async, Defer, Delay.
  • Added rule scopes: entire site, this page/post, all singles, post type, taxonomy archive, URL contains.
  • Page report shows current-rule badges per asset (action + scope; paused rules marked).
  • Grouped asset inspector by origin (WordPress core, plugins, themes, MU-plugins, external, inline/other).
  • Added top select-all plus per-group select for bulk actions.
  • Added live search filter for handle, source URL, plugin/theme label, type, and dependencies.
  • Enable/Disable and load-strategy rules create History snapshots; bulk apply uses one snapshot per batch.
  • Frontend optimizer applies matching rules safely; Enable removes assets outside the allow scope.
  • Core asset protection, dependents checks, and simulate-disable via REST.
  • REST API (massoftind-am/v1) and WP-CLI (massoftind-am) for manage_options users.
  • Activity logs, debug mode, retention settings, and opt-in uninstall data cleanup.
  • WordPress.org readiness: readme.txt, license.txt, blueprint.json, Tested up to 7.0.
  • Plugin Check cleanup: translators comments, no manual textdomain load, safer $wpdb->prepare() / %i usage, per-ID deletes instead of dynamic IN lists, intentional schema-change ignores for uninstall drops.
  • Removed Plugin URI until a published product page exists (avoids a broken “Visit plugin site” link).
  • Plugins screen branding mark + Open action; menu uses dashicons-performance.