Speed up your WordPress site and improve your Google PageSpeed score from a single dashboard. Easy Optimizer is a free, all-in-one performance optimization plugin that can replace the 3–5 separate speed plugins most sites run today — page caching, unused-CSS removal, JavaScript delay/defer, image la
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.4 and PHP 7.4.
SourceWordPress plugins · Oct 18, 2026
01 / Source details
About this tool.
Speed up your WordPress site and improve your Google PageSpeed score from a single dashboard. Easy Optimizer is a free, all-in-one performance optimization plugin that can replace the 3–5 separate speed plugins most sites run today — page caching, unused-CSS removal, JavaScript delay/defer, image lazy loading, LCP preloading, WebP/AVIF delivery and more — to help you pass Core Web Vitals: Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) and Interaction to Next Paint (INP). It runs on Apache, Nginx, LiteSpeed and OpenLiteSpeed, and is fully WooCommerce-aware.
One cache plugin, one dashboard, no premium upsells for core features. Prefer to keep your current cache plugin? Turn off the modules that overlap and use only the tools you want (see the FAQ).
Every toggle maps to a specific Google Lighthouse recommendation — enable it, save, and your Core Web Vitals improve immediately. Features you don’t enable never touch your page load or your admin.
Core Features
Full Page Caching: Serve static HTML with sub-millisecond TTFB, with separate mobile and desktop caches and automatic sitemap-based preloading that warms your pages in the background.
Compression & Browser Caching: Turn on Gzip or Brotli text compression and long-lived browser-cache (Expires) headers to shrink transfer size and stop repeat visitors re-downloading the same assets — resolving Lighthouse’s “Enable text compression” and “Serve static assets with an efficient cache policy”.
Redis Object Cache: Add a persistent object cache that keeps repeated database and option lookups in Redis, cutting MySQL load on dynamic, logged-in and WooCommerce pages. Works with Relay, PhpRedis or the bundled Predis client (no PHP extension required) and reads your host’s WP_REDIS_* constants automatically. It defers to any object-cache drop-in already installed instead of overwriting it, never edits wp-config.php , and includes a one-click flush plus a live status panel (connection, memory, Redis version).
Remove Unused CSS: Fix Lighthouse’s “Reduce unused CSS” by serving a slim, per-page-type stylesheet — eliminating render-blocking CSS and lifting your LCP. A built-in fail-safe keeps your original styles until a valid stylesheet is generated, so pages never render unstyled.
Minify CSS & JavaScript: Strip comments and whitespace from your local CSS and JS files, caching each minified file on disk so it is processed only once. Already-minified files are skipped, and relative url() / @import paths are rewritten so assets keep resolving. Works independently of Remove Unused CSS and Delay JS.
Delay & Defer JavaScript: Cut Total Blocking Time and improve INP by delaying script execution until user interaction, or by deferring scripts natively. jQuery is excluded by default, and you can exclude any script that needs to run early.
Smart Lazy Loading: Defer offscreen images, iframes, videos and CSS background images, and add missing width/height attributes to prevent layout shift (CLS).
Automatic LCP Preload: Detect each page’s Largest Contentful Paint image and preload it — including responsive srcset , <picture> and CSS background heroes — stored per URL so every page preloads its own correct hero for faster visual loading.
Image CDN (WebP & AVIF): Rewrite your image URLs to a global CDN that serves modern WebP/AVIF formats and every responsive size, addressing Lighthouse’s “Serve images in next-gen formats”. Optional and off until you enable it.
Prefetch Pages: Start loading the next page while the visitor is still deciding. Easy Optimizer writes one compact set of browser speculation rules into the top of every page, so the browser itself picks the moment — a short hover starts a lightweight prefetch, and the mouse going down starts a full prerender. No JavaScript scans your links, so a page with 50 links costs no more than a page with 10. Cart, checkout, account, feed, admin, download and query-string URLs are never touched, and while it is on it replaces WordPress’s own speculative loading so a page never carries two competing rule sets.
Font Optimization: Add font-display: swap so text stays visible during webfont loads, with optional per-device font preloading learned from a lightweight beacon.
Bloat Removal: 15 independent toggles to safely switch off unused WordPress core scripts and features (emojis, embeds, XML-RPC, jQuery Migrate, Dashicons, Block Library CSS and more).
Database Cleanup & Optimization: Schedule cleanups of revisions, auto-drafts, trashed posts, spam and transients — each with a pre-cleanup snapshot so you can restore safely. The built-in Autoload Health auditor finds the heaviest autoloaded options and lets you switch off the ones you don’t need, directly resolving the Site Health warning “Autoloaded options could affect performance.”
Heartbeat & Cron Manager: Limit WordPress Heartbeat frequency and throttle WP-Cron from the dashboard (no wp-config.php edits), and view, run or delete scheduled cron events.
Cloudflare Integration: Purge your Cloudflare edge cache (tag-based or full zone) whenever the page cache clears, and test your API connection instantly without saving credentials first.
Hosting Integrations: Detect your environment and purge server-level cache on managed hosts including Kinsta, WP Engine, SiteGround, Cloudways, GridPane, RunCloud, SpinupWP, Rocket.net and WordPress.com.
Accessibility & SEO Fixes: Resolve common Lighthouse accessibility warnings in real time — missing form labels, ARIA names, iframe titles and un-crawlable links — without editing your theme.
PageSpeed Speed Test: Run a Google PageSpeed test from your dashboard and compare your score with and without Easy Optimizer, for both mobile and desktop, including Core Web Vitals (LCP, CLS, INP). Works out of the box, or add your own free Google API key for unlimited tests.
Debug Issues Panel: If a page ever looks wrong, switch individual optimizations off for a single page load and find the cause in a couple of clicks — no settings changed, no cache cleared, and no private browsing window needed. It tells you which feature caused it and takes you straight to the exclusion field that makes the fix permanent.
Find Slow Plugins & Themes (Backend Analyzer): Profile any page or your admin area on demand to see exactly which plugins, themes and database queries take the most time — so you can pinpoint what is slowing your site down. Nothing runs for real visitors, so there is no added overhead.
Lighthouse 13 renamed and merged many performance audits. Where the name changed, the previous wording is shown in brackets so you can match either against your report.
Layout shift culprits (was: Image elements do not have explicit width and height)
LCP request discovery (was: Preload Largest Contentful Paint image)
Font display (was: Ensure text remains visible during webfont load)
Use efficient cache lifetimes (was: Serve static assets with an efficient cache policy)
Document request latency (was: Enable text compression / Reduce server response time)
Network dependency tree (was: Preconnect to required origins)
Accessibility
Form elements do not have associated labels
Links do not have a discernible name
Buttons do not have an accessible name
[user-scalable=”no”] in viewport or [maximum-scale] < 5
Frame or iframe elements do not have a title
ARIA progressbar elements do not have accessible names
Some elements have a [tabindex] value greater than 0
Image elements do not have [alt] attributes
Skip links are not focusable
Document does not have a main landmark
SEO
Links are not crawlable
Image elements do not have [alt] attributes.
Works With Your Setup
WordPress & PHP: WP 6.4+ and PHP 7.4+
Web Servers: Apache, Nginx, LiteSpeed, OpenLiteSpeed
WooCommerce: Fully compatible. Cart, checkout, and my-account pages are automatically excluded from caching and optimization to protect the purchase flow.
Easy Optimizer is a genuine free alternative to paid performance plugins such as WP Rocket, FlyingPress and Perfmatters: page caching, Remove Unused CSS, Delay/Defer JavaScript, LCP preload, lazy load, Cloudflare and hosting-cache purging, database cleanup and the Backend Analyzer are all included, with no premium-locked features and no upsells. Run it as a complete all-in-one, or use just the tools you need alongside your existing setup — the only rule is to never run two of the same optimization (especially two page caches) at once.
External Services
Each service below is optional and used only for the feature noted.
FluxPress Adaptive Images (optional, paid) — with Smart Images connected, your public image URLs are rewritten to your CDN for WebP/AVIF conversion and resizing. Contacts fluxpress.io with your license key and site URL on connect and about hourly. Originals are never uploaded. Terms & Privacy
FluxPress PageSpeed proxy — the default speed test; sends your public home URL so no Google API key is needed. Terms & Privacy
Google PageSpeed Insights — if you use your own API key, your public home URL is sent to Google. Terms · Privacy
Cloudflare API — if connected, purges your edge cache when the page cache clears; sends only the URLs and zone ID. Terms · Privacy
FluxPress usage analytics — opt-in, off by default; non-personal data only (versions, theme, host, site URL). Terms & Privacy
Privacy
Easy Optimizer’s usage analytics are opt-in and disabled by default. When enabled, it sends the data listed under External Services over an encrypted connection. It never collects your email address, IP address, user data, or site content.
See it in action
Screenshots & previews.
Dashboard — performance overview with cache statistics, preload progress, feature status toggles and quick-action buttons for clearing cache and Cloudflare.Cache settings — page cache with serving mode selection (PHP or .htaccess), cache lifetime, separate mobile cache, browser caching, Gzip/Brotli, preload toggle and granular exclusion fields.JavaScript optimization — delay until interaction or native defer method, jQuery exclusion, script and URL exclusion lists, inline script externalization.CSS optimization — remove unused CSS with inline or file method, stylesheet behavior (delay, async, remove), selector and stylesheet exclusion, per-post-type mode.Lazy load — toggle images, iframes and videos independently; add missing dimensions; exclude first N images; class and URL exclusion.LCP preload — automatic detection with zero configuration; URL exclusion for edge cases.Prefetch pages — eagerness selection, prerender toggle, URL and CSS selector exclusions.Font optimization — font-display:swap and lazy-load font stylesheets with exclusion support.Bloat removal — 15 independent toggles for emojis, embeds, XML-RPC, jQuery Migrate, version meta, RSD/WLW, shortlinks, RSS, self-pingbacks, REST API, Heartbeat, cart fragments, App Passwords, Dashicons and Block Library CSS.Cloudflare — API token and zone ID with test connection button, purge strategy selection.Database cleanup — task toggles with item counts, scheduled cleanup, snapshot and restore, chunked processing.Autoload health — total autoload size, per-option size breakdown, one-click autoload disable/enable with core option protection.Heartbeat & Cron — heartbeat location and frequency control, WP-Cron throttle, cron event viewer with manual run and delete.Accessibility & SEO — eight accessibility audit toggles and two SEO audit toggles with clear Lighthouse audit descriptions.
02 / Source details
Getting started.
01In your WordPress admin, go to Plugins → Add New and search for “Easy Optimizer”, or upload the plugin to /wp-content/plugins/easy-optimizer/ .
02Activate the plugin.
03Open Easy Optimizer in the admin sidebar. On a new install the setup wizard opens automatically — nothing is enabled until you choose a preset.
04Pick a preset: Safe (best for shared hosting), Balanced (recommended for most sites) or Maximum . If you’re not sure, choose Balanced .
05Save. The cache preloader starts warming your site automatically. You can fine-tune any individual feature from the tabs at any time, and the Settings tab includes a one-click Safe Mode if you ever need a known-good baseline.
03 / Source details
Frequently asked questions.
Is Easy Optimizer compatible with WP Rocket, FlyingPress, Perfmatters, LiteSpeed Cache and other popular plugins?
Yes. Easy Optimizer is built to play nicely alongside other plugins, including WP Rocket, FlyingPress, Perfmatters, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache, Autoptimize, NitroPack and the common page builders (Elementor, Divi, Beaver Builder, Oxygen) and SEO plugins (Yoast, Rank Math). It also works with WooCommerce and Cloudflare.
The only rule is simple: don’t run the same optimization twice. Every module is independent and only runs when you switch it on, so just turn off whatever overlaps with another plugin you’re already using. Most importantly, never run two page caches at once — if another plugin is handling caching, leave Easy Optimizer’s Page Cache off (or turn the other one off and let Easy Optimizer handle it). The same applies to features like unused CSS, delay JavaScript, or lazy load: pick one plugin to do each job.
This means you can use Easy Optimizer as a complete all-in-one replacement, or keep your current setup and use only the parts you want — for example the Backend Analyzer, Autoload Health, database cleanup, or heartbeat and cron controls — while another plugin keeps doing the caching. Either way works.
How is Easy Optimizer different from WP Rocket, FlyingPress or Perfmatters?
Easy Optimizer is free and open, with no premium-locked core features and no upsells: caching, Remove Unused CSS, Delay/Defer JS, LCP preload, lazy load, Cloudflare and hosting-cache purging, database cleanup and the Backend Analyzer are all included. Those paid plugins are mature and excellent; Easy Optimizer aims to give you the same core speed wins for free, and to coexist cleanly if you already run one — just don’t run two of the same optimization at once.
Something on my site looks broken — how do I find which feature caused it?
Use the Debug Issues button in the top bar. Pick the page that looks wrong, tick one optimization at a time, and open the generated link — that single page load runs with the feature switched off, while your settings and your cache stay exactly as they are. Answer “did that fix it?” and Easy Optimizer tells you which feature was responsible and takes you to the exclusion field that keeps the fix permanently.
You do not need a private browsing window. Some optimizations are normally skipped while you are logged in, so the panel’s links quietly render the page the way a visitor sees it. If the page is still wrong with everything switched off, the cause is your theme, another plugin or your server — and the panel says so rather than sending you round the loop again.
Will Easy Optimizer speed up my WooCommerce store?
Yes. Every optimization module runs on your shop, while Cart, Checkout and My Account are automatically excluded so the purchase flow is never cached or altered — including custom or translated slugs. Multi-currency stores cache a correct copy per selected currency, and you can disable WooCommerce cart fragments from the Bloat Removal tab to speed up pages that don’t need them.
Does it work on Nginx, LiteSpeed and OpenLiteSpeed, or only Apache?
All of them. On Apache it can optionally write .htaccess rules (after a per-server safety probe that prevents a bad rule from ever 500-ing your site); on Nginx, LiteSpeed and OpenLiteSpeed it serves cached pages through PHP. On hosts with their own server-level cache (Varnish / LiteSpeed / nginx FastCGI), preloading and on-visit caching are handled correctly.
What’s the difference between Delay JS and Defer JS — which should I use?
Defer keeps scripts in order but runs them after HTML parsing; it is the safer choice and rarely breaks anything. Delay goes further, holding scripts until the first user interaction (scroll, tap, move) for the biggest INP and blocking-time win, at a slightly higher chance of needing exclusions. Start with Defer if you’re cautious, or Delay (jQuery excluded by default) for maximum speed, and add any problem script to the exclusion list.
Does Delay JavaScript break Google Analytics, the Facebook Pixel or ads?
Usually not. Delayed scripts run on the first interaction, so analytics and pixels still fire for engaged visitors. If you need a tag to load immediately — for example to measure bounces or run consent logic — add it to the Delay JS exclusion list and it will load normally.
My site looks broken after enabling Remove Unused CSS — how do I fix it?
Add the affected stylesheet or CSS selector to the exclusion fields on the CSS tab and rebuild. Remove Unused CSS also learns JavaScript-generated classes (sliders, menus, tabs) automatically so their styles aren’t stripped. To confirm it really is the cause, use the Debug Issues panel. To revert quickly, use Safe Mode on the Settings tab to return to a conservative baseline.
How do I exclude a page from caching, or a script from Delay JS?
Use the exclusion fields on each tab — the Cache tab has URL and cookie exclusions for pages you never want cached, and the JavaScript tab lets you exclude scripts by name or URL from Delay/Defer. For a one-off test, the Debug Issues panel builds the right link for you; you can also append ?nocache , ?nodelayjs , ?norucss or ?nooptimize to any front-end URL by hand to disable that feature for that single request.
Does it minify and combine CSS and JavaScript?
It minifies your local CSS and JS (caching each file on disk and processing it once). It does not force-combine files into one — under HTTP/2 and HTTP/3 that usually no longer helps and can hurt caching — so Easy Optimizer focuses on minification, delay/defer and removing unused CSS instead.
Do I need a CDN to use Easy Optimizer?
No. Every core feature works without a CDN. If you want next-gen image delivery you can optionally enable the built-in Image CDN (WebP/AVIF), and you can connect Cloudflare for edge-cache purging — but neither is required.
Will it slow down my wp-admin dashboard?
No. Optimization features run on your front end, and modules you don’t enable are never loaded, so your admin stays responsive. The Backend Analyzer’s profiling is on-demand and never runs for real visitors.
What’s the best starting configuration to improve my PageSpeed / Core Web Vitals score?
Enable Page Cache, Remove Unused CSS, Delay or Defer JavaScript, Lazy Load, LCP Preload and Font Display Swap, then turn on the accessibility and SEO toggles relevant to your site. Save and re-run the built-in speed test to compare before and after. The dashboard’s “What to fix next” card then lists what is still worth changing, ranked by impact, so you don’t have to guess. If you used the setup wizard, the Balanced preset already enables most of these.
Which preset and preload speed should I use for my hosting?
As a rule of thumb — shared hosting: the Safe wizard preset with the Gentle preload speed; most sites and managed hosting: Balanced; VPS or high-performance managed hosting: Maximum with the Turbo (or Balanced) preload speed. Preload also auto-tunes to your server’s real capacity and backs off automatically if it detects errors or rate-limiting, so you can’t overload your host.
Do I need Redis, and does it work without the PHP extension?
The Object Cache module needs a running Redis server (many shared hosts ship the PhpRedis extension but no server — if the status panel shows “not connected”, leave Object Cache off). You do not need a Redis PHP extension, though: the pure-PHP Predis client is bundled, so the object cache works without PhpRedis or Relay. Enter your host, port and password in the settings, or define WP_REDIS_* constants in wp-config.php and they’ll be used automatically. Easy Optimizer never edits wp-config.php , and if another object-cache plugin is active it defers to it rather than overwriting its drop-in.
What do “Pages cached” and “URLs in waiting” actually count?
Both count unique URLs, not files. With Separate Mobile Cache on, one page can have a desktop copy and a mobile copy on disk, but it is still one page in both figures. The two numbers are not meant to converge: a page whose desktop copy is cached while its mobile copy is still queued is legitimately counted in each at the same time.
Can I use this with Cloudflare?
Yes. Add your API token and Zone ID in the Cloudflare tab. Cache purges sync automatically.
Does it support multisite?
Works on individual sites within a multisite network.
How do I migrate settings between sites?
Export settings as JSON from the Settings tab, then import on the destination site. Credentials (Cloudflare token, Redis password, CDN key) are deliberately left out of the export, so re-enter those on the destination site.
What happens to my cache when I edit a post or product?
Editing content clears only the affected URLs — the post or product itself plus its archives, author, date and taxonomy pages (with pagination) — instead of wiping the whole cache, and changing a slug also clears the old URL. Comment and term edits trigger the same targeted, lightweight clears.
Does Easy Optimizer collect any data? Is it privacy-friendly?
The usage analytics are opt-in and off by default. When enabled they send only technical, non-personal data (plugin/WordPress/PHP versions, theme, locale, host flags and your site URL) — never your email, visitor IPs, user data or page content. With analytics left off, nothing is sent anywhere. See the Privacy and External Services sections for the full list.
How do I completely uninstall Easy Optimizer and remove all of its data?
On the Settings tab, turn on “Delete all plugin data on uninstall” before deleting the plugin. With it on, removing the plugin cleans up its options, cache files, drop-ins and snapshots; with it off, your settings are preserved in case you reinstall.
Is there a developer API for clearing the cache?
Yes. You can trigger purges from your own code with these action hooks:
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati