Ezy AI Performance Optimizer
wordpress plugins ezy-ai-performance-optimizer
by eHut.tech · github.com/saifuldhaka/ezy-ai-performance-optimizer · 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/saifuldhaka/ezy-ai-performance-optimizer/archive/refs/heads/main.zipThe AI-powered WordPress performance plugin that actually makes your site faster — automatically. All features unlocked. No upsells. No limits.
Description
Ezy AI Performance Optimizer is a next-generation WordPress performance plugin by eHut.tech that uses artificial intelligence to scan your site, identify real bottlenecks, and automatically apply targeted fixes — so your pages load faster without you touching a single line of code.
Unlike traditional caching plugins that apply the same static rules to every site, Ezy AI analyses your specific theme, plugins, and traffic patterns and makes smart, site-aware decisions. It then continuously improves your performance week after week through automated rescans.
All features are fully unlocked — completely free. No Pro tier. No credit limits. No upsells.
🔍 How It Works
Step 1 — AI Scan (Measure First)
When you run a scan, the plugin:
- Reads your Core Web Vitals (LCP, CLS, INP, TTFB) in real time
- Inventories every script, stylesheet, and image loaded on your site
- Detects which plugins are adding query bloat or rendering heavy assets
- Scores your site 0–100 and surfaces the Top 3 Quick Wins
Step 2 — Targeted Fixes Applied
| Feature | What It Does |
|---|---|
| Smart Script Deferral | Adds defer or async to non-critical JS — browser downloads them without blocking page render |
| Lazy Load | Adds loading="lazy" to images and iframes — off-screen media loads only when scrolled into view |
| LCP Preload | Injects <link rel="preload"> for your largest image or font — browser fetches it first, directly improving your biggest Google ranking signal |
| Device Optimizer | Serves mobile-specific asset rules — skips heavy desktop scripts on smartphones, cutting payload by up to 60% |
| WooCommerce-Aware Mode | Disables WooCommerce cart/checkout scripts on non-shop pages — WooCommerce loads heavy JS everywhere by default; this stops it |
| INP Measurement | Tracks Interaction to Next Paint (newest Core Web Vital) via a JS observer and reports it to your dashboard |
| Custom AI Rules | Lets you assign per-script rules (defer / async / remove / keep) stored in wp_options and applied via WordPress hooks |
Step 3 — Weekly Auto-Learning
- WP-Cron runs a background rescan every 7 days
- Scores compared against previous week
- Email digest sent if performance changes — so you're always informed, even when you're not looking
The Performance Loop:
Scan → Score → Apply Fixes → Re-scan → Improve → Weekly Auto-check
Every fix is non-destructive — stored as option overrides, never touching your theme or plugin files directly. Toggle any fix off instantly from the Settings page.
⚡ Real Impact on Load Time
- Deferring render-blocking JS → reduces Time to First Byte (TTFB) and First Contentful Paint
- Lazy loading images → cuts initial page weight by 40–70% on image-heavy sites
- LCP Preload → directly improves Google's biggest Core Web Vitals ranking signal
- Removing unused WooCommerce scripts → saves 150–400 KB per non-shop page
- Device-specific rules → mobile users get a leaner, faster experience automatically
🛠️ All Features — Fully Unlocked
- AI Performance Dashboard — Score ring, CWV metrics (LCP, CLS, INP, TTFB), Top 3 Quick Wins, Score History chart
- AI Scanner — On-demand scan trigger with live progress, full recommendation list, one-click apply fixes
- Plugin Analyzer — Identifies which installed plugins are slowing your site; suggests lighter alternatives
- Script Optimizer — Fine-grained control over every enqueued script (defer, async, preload, remove)
- Device Optimizer — Separate optimization rules for mobile, tablet, and desktop
- Weekly AI Learning — Automated WP-Cron rescan + email performance digest
- White-Label Reports — Branded performance reports for agencies and client sites
- Custom AI Rules — Per-script rules engine with full control
- INP Measurement — Real-time Interaction to Next Paint tracking
- WooCommerce-Aware Optimization — Smart suppression of shop scripts on non-shop pages
- Unlimited Scans — No monthly cap, no credits, no gates
🎯 Who Is This For?
- Site owners who want faster load times without learning performance engineering
- Agencies managing multiple client sites who need automated audits and white-label reports
- Developers who want AI-level analysis as a foundation, then fine-tune with custom rules
- WooCommerce stores where every 100ms of delay costs conversions
💛 Support the Plugin
This plugin is completely free. If it saves you time or helps your site rank better, consider buying the developer a coffee — it keeps the plugin actively maintained and growing!
Installation
- Upload the
ezy-ai-performance-optimizerfolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu in WordPress
- Navigate to ezy AI Performance → Dashboard in your admin sidebar
- Click Run AI Scan Now to get your first performance score and recommendations
- Review the Top 3 Quick Wins and apply fixes with one click
- Enable Weekly AI Learning in Settings to keep improving automatically
Frequently Asked Questions
Will this break my site?
No. All automated fixes are conservative, non-destructive, and fully reversible. Fixes are stored as WordPress options — your theme and plugin files are never modified. Toggle any feature off from the Settings page instantly.
How does it actually make my site faster?
The plugin works in a continuous loop: Scan → identify bottlenecks → apply targeted fixes (script deferral, lazy load, LCP preload, device rules, WooCommerce suppression) → rescan weekly to measure improvement. Each fix targets a specific cause of slow load time rather than applying generic rules blindly.
Does it work with WooCommerce?
Yes. WooCommerce-Aware Mode detects shop vs. non-shop pages and suppresses heavy WooCommerce scripts (cart fragments, checkout JS, etc.) where they're not needed — without ever breaking the checkout flow.
Is it compatible with other caching plugins?
Yes. Ezy AI Optimizer complements caching plugins like WP Rocket, W3 Total Cache, and LiteSpeed Cache. Those plugins cache HTML output; this plugin optimises what gets loaded and how — two different layers of performance improvement.
Does it slow down the WordPress admin?
No. All scan operations run asynchronously via AJAX. Weekly rescans run on WP-Cron background events. The admin UI is lightweight CSS + vanilla JS with no heavy framework dependencies.
Is there a Pro version?
No. All features are fully unlocked in this single version — unlimited scans, all optimizations, white-label reports, custom AI rules, device optimizer, WooCommerce-aware mode, and weekly auto-learning. Everything. Free.
How is my performance score calculated?
The score (0–100) is a weighted composite of your Core Web Vitals: LCP (Largest Contentful Paint), CLS (Cumulative Layout Shift), INP (Interaction to Next Paint), and TTFB (Time to First Byte). Real User Metrics collected passively from actual visitors are blended in when available.
Does it work with multisite?
Yes — multisite query string handling is supported as of v2.1.1.
Screenshots
- AI Performance Dashboard — score ring, CWV metric cards, Top 3 Quick Wins, Score History chart, and Run AI Scan button
- AI Scanner results — live progress bar, full CWV breakdown, and AI recommendations with one-click apply
- Plugin Analyzer — impact report showing which plugins slow your site and lighter alternatives
- Script Optimizer — per-script defer/async/preload/remove controls
- Settings page — all toggles unlocked (Smart Scripts, Lazy Load, LCP Preload, Device Optimizer, WooCommerce Mode, Weekly AI Learning, White-Label Reports, Custom AI Rules)
Changelog
1.2.4
- Fixed: Added phpcs:disable/enable blocks in dashboard.php and scripts.php around template-scope variable declarations to suppress NonPrefixedVariableFound warnings (view partials are not global scope)
- Fixed: JS syntax error (curly apostrophe) in admin.js that prevented all button click handlers from firing (Scan & Load Scripts, Run AI Scan, etc.)
1.2.3
- Fixed PHPCS ERROR: replaced
parse_url()withwp_parse_url()in class-scriptoptimizer.php (lines 216, 222) for WordPress coding standards compliance - Fixed PHPCS WARNINGs: added
phpcs:disable/enable WordPress.NamingConventions.PrefixAllGlobalsaround local variables in dashboard.php and scripts.php view files (these are included partials, not global scope)
1.2.2
- Fixed critical JS syntax error in admin.js — apostrophe in string literal was breaking the entire JS file causing all buttons (including Scan & Load Scripts) to silently fail with no click response
1.2.1
- Script Optimizer page fully redesigned — global ON/OFF state cards show live status with Enable/Disable toggle; page reloads to reflect new state immediately
- New: Script Inventory — scans every JS and CSS asset loaded on your site's frontend (captured via wp_footer hook, with wp_remote_get fallback)
- New: Per-script rule buttons — set Auto / Defer / Async / Remove on any individual script or stylesheet handle; rules persist in ezy_ai_script_rules option
- New AJAX handler ezy_ai_get_scripts — reads cached inventory transient or falls back to live frontend fetch
- New AJAX handler ezy_ai_save_script_rule — saves per-handle rule with validation; returns updated rule count for live badge update
- Remove rule now dequeues script/style via wp_enqueue_scripts hook (priority 999) on frontend
- Async rule now supported alongside Defer — per-script async adds async attribute instead of defer
- Rules badge on Script Optimizer page updates live after each rule change without page reload
- Disable Preload button now wired correctly (disable_preload type)
1.2.0
- Added: Active Optimizations panel on Dashboard — shows all 8 features with ON/OFF status, count badge, and "Manage →" link to Settings
- Each optimization card displays icon, label, description, and live toggle state read from saved settings
1.1.9
- Updated plugin header Description in main PHP file to fully describe how the plugin makes sites faster (script deferral, lazy load, LCP preload, WooCommerce-aware, device optimizer, INP measurement, weekly auto-learning)
- Rewrote readme.txt == Description == section: removed all Free/Pro pricing tiers and credit limits; added detailed "How It Works" explanation with per-feature impact table, performance loop diagram, real-world load time improvements, and full feature list
- readme.txt FAQ updated: added "How does it actually make my site faster?", "Is there a Pro version?", "How is my performance score calculated?" questions
- Removed old monetisation/SaaS model text from readme.txt
- All features confirmed fully unlocked in this single version — unlimited scans, no upsells, no gates
1.1.8
- Fixed duplicate metrics after clicking "Run AI Scan Now": removed hidden #ezy-scan-results div pattern; merged into one always-visible "Performance Results" section pre-filled server-side from last scan on page load, updated in-place by JS after new scan — no duplication possible
- Removed $('#ezy-scan-results').hide() call from JS so metrics stay visible while scan runs (progress bar in scan card provides feedback instead)
- Added "Last scanned: [date]" label that JS updates live after each new scan (no page reload needed)
- Score ring, LCP/CLS/FID/TTFB bars and AI Recommendations all pre-populate from DB on page load; same elements updated by AJAX result — single source of truth
1.1.7
- Added donate sidebar (PayPal, abssaiful@gmail.com) to ALL admin pages: Dashboard, AI Scanner, Plugin Analyzer, Script Optimizer, and Settings — with amount selector ($5/$10/$25/$50), custom amount input, and live confirmation
- Extracted donate sidebar into shared partial (admin/views/partials/donate-sidebar.php) — single source of truth, no code duplication
- All pages now use two-column flex layout: main content on left, donate sidebar on right (collapses gracefully on narrow screens)
- Fixed settings toggles (WooCommerce-Aware Mode, Custom AI Rules, White-Label Reports) — removed inline donate sidebar duplication that caused form interference; settings now save and reflect correctly
- Dashboard and AI Scanner merged into a single unified page at page=ezy-ai-performance-optimizer — one page shows scan trigger + live results + last snapshot, removing redundant Scanner submenu
1.1.6
- Settings page (ezy-ai-perf-settings): removed all Pro upsell content — pricing cards, comparison table, upgrade CTA banner, and "Subscription & AI Credits" section are gone
- Settings page: all formerly "Pro-only" locked toggles (Device Optimization, Weekly AI Learning, White-Label Reports, Custom AI Rules, WooCommerce-Aware Mode) are now fully unlocked and functional for all users
- Settings page: reorganised into three clean sections — Performance, AI & Automation, Reports
- Dashboard: replaced "AI Credits Bar" (X of 10 used + progress bar) with a simple "Performance Snapshot" action bar — no limit messaging
- AI Scanner: replaced "Monthly AI Scans X/Y remaining" credit counter with a plain "Scans run this month: N" info line — no limit, no progress bar, no upgrade prompt
- Removed all scan_limit (10) enforcement from render_dashboard() and render_scanner() in class-adminmenu.php — scans are now unlimited
1.1.5
- Dashboard redesigned as read-only snapshot: shows last scan metrics rendered server-side, top 3 quick wins, and "Go to AI Scanner" CTA
- AI Scanner is now the dedicated action centre with monthly scan counter
1.1.4
- Fix: Rewrote enqueueassets() to use exact hook suffixes stored from add*_page()
- Fix: Added require_once wp-admin/includes/plugin.php guard in PluginAnalyzer::ajax_get_report()
- Fix: Added data-ajax-url and data-nonce HTML attributes on scan buttons as bulletproof AJAX fallback
1.1.3
- Fix: Added type="button" to Analyse Plugins button in plugins.php
- Fix: loadPluginReport() now uses safe cfg guard
- Fix: Added e.preventDefault() to Analyse Plugins click handler
1.1.2
- Fix: Added type="button" to the Run AI Scan Now button — without it WordPress admin intercepted the click and reloaded the page
- Fix: Added e.preventDefault() to JS click handler
1.1.1
- Fixed: AI Scanner page "Run AI Scan Now" button had no visual feedback — rewrote scanner.php UI with animated progress bar and score ring
- Fixed: runScan() JS crashed silently if ezyAiPerfAdmin was undefined — added cfg guard with window.ajaxurl fallback
1.1.0
- Fixed: DirectQuery warning on get_results() — replaced phpcs:disable/enable block with cleaner inline phpcs:ignore comment
1.0.9
- Fixed: PHPCS DirectQuery/NoCaching suppression — converted standalone phpcs:ignore comment lines to inline end-of-line comments
1.0.8
- Fixed: PHPCS DirectQuery warning at line 105
1.0.7
- Fixed: PHPCS warnings — DirectQuery + NoCaching on SHOW TABLES calls in ensure_tables()
1.0.6
- Fixed: "Request failed" error on Run AI Scan button — added try/catch error handling in AJAX handler
- Fixed: DB tables may not be created if activation hook was skipped — added ensure_tables() self-healing check
- Fixed: $wp_scripts / $wp_styles null-guard during AJAX context to prevent fatal errors
- Added: Missing wp_ajax_ezy_ai_save_rum handler for Real User Metrics collection
1.0.5
- Changed: Sidebar menu label renamed to "ezy AI Performance"
- Changed: Dashboard heading updated to "ezy AI Performance Optimizer"
1.0.4
- Fixed: WordPress.WP.I18n.MissingTranslatorsComment in dashboard.php
1.0.3
- Fixed: Fatal activation error caused by erroneous backslashes in class-scanner.php and settings.php
1.0.2
- Fixed: Text domain mismatch — changed from 'ezy-ai-perf' to 'ezy-ai-performance-optimizer'
- Fixed: Bundled Chart.js locally to remove external CDN dependency
- Fixed: Replaced rand() with wp_rand()
- Fixed: Added DB query caching via wp_cache_get/set for scan history
- Updated: Plugin URI updated to GitHub repository
1.0.1
- Updated: Tested up to WordPress 7.0
2.1.1
- Improved Real User Metrics collection
- Added passive event listener injection for better FID/INP scores
- Fixed query string removal on multisite installs
2.0.0
- Full AI engine rewrite
- Added Device-Based Optimization module
- Continuous learning scheduler
- New admin UI with Chart.js score history
1.0.0
- Initial release
Upgrade Notice
2.1.1
All features fully unlocked. Improved RUM collection, passive event listener fixes, and multisite support. Update recommended.