Fix library
Every WordPress speed fix, step by step.
The same playbooks Maki uses to build your fix plan — with exact instructions for the most popular caching, optimization and image plugins.
Your main image is lazy-loaded (LCP penalty)
LCP is a Core Web Vital. Delaying your most important image guarantees a failed LCP score.
Steps for: Perfmatters, WP Rocket, LiteSpeed Cache, Autoptimize
Your main image isn't prioritized
Telling the browser which image matters most lets it start downloading that image earlier — often saving several hundred milliseconds of LCP.
Steps for: Perfmatters, WP Rocket, Elementor
LCP image is too heavy
Large images are the most common cause of slow LCP. Compressing and serving in modern formats (like WebP) can drastically cut download times.
Steps for: ShortPixel, Imagify
Eliminate render-blocking CSS
Render-blocking resources heavily impact First Contentful Paint (FCP) and Largest Contentful Paint (LCP).
Steps for: WP Rocket, LiteSpeed Cache, Perfmatters
Reduce unused CSS rules
Downloading and parsing dead code wastes browser resources and delays page rendering.
Steps for: WP Rocket, Perfmatters
Reduce unused JavaScript
Unused JS blocks the main thread, causing slow Interaction to Next Paint (INP) and Total Blocking Time (TBT).
Steps for: Perfmatters, WP Rocket
Delay heavy third-party scripts
Third-party scripts often execute long tasks that block the main thread, destroying INP and TBT scores.
Steps for: WP Rocket, Perfmatters
Google Analytics / Tag Manager is blocking the page
Every tag inside Tag Manager runs JavaScript. Several measurement IDs or a crowded container can easily add hundreds of milliseconds of blocking time, hurting INP.
Steps for: Perfmatters, WP Rocket
YouTube, Vimeo or Google Maps embeds load immediately
Embed scripts compete with your own content for bandwidth and the main thread, hurting LCP, Total Blocking Time and INP.
Steps for: Perfmatters, WP Rocket, LiteSpeed Cache
Minimize main-thread work
This is the primary cause of poor Interaction to Next Paint (INP).
Reduce initial server response time (TTFB)
A slow Time to First Byte (TTFB) delays everything else on the page. If the server is slow, LCP and FCP are guaranteed to be slow.
Steps for: WP Rocket, LiteSpeed Cache
Text files are sent uncompressed
Compression typically shrinks text files by 70–80%. Without it, every page takes noticeably longer to download, especially on mobile.
Steps for: WP Rocket, W3 Total Cache
WooCommerce cart fragments run on every page
That request bypasses page caching and hits PHP and the database on every visit, slowing the page and loading your server.
Steps for: Perfmatters
Avoid an excessive DOM size
A large DOM slows down CSS styling, layout calculations, and JavaScript execution, hurting INP.
Steps for: Elementor
Ensure text remains visible during webfont load
This delays the user's ability to read your content and worsens FCP/LCP.
Steps for: Perfmatters, WP Rocket, Elementor
Google Fonts load from Google's servers
Third-party font CSS is render-blocking and adds connection time on mobile. Hosting fonts on your own domain is faster and avoids sending visitor IPs to Google (a GDPR concern in the EU).
Steps for: Perfmatters, WP Rocket, LiteSpeed Cache, Autoptimize, Elementor
Images are causing layout shifts
This is the #1 cause of Cumulative Layout Shift (CLS).
Steps for: Perfmatters, WP Rocket
Long chains of critical requests
Each link in the chain is a round-trip on a mobile connection. Long chains delay First Contentful Paint and LCP.
Steps for: Perfmatters, LiteSpeed Cache, Autoptimize
Static files have a short browser cache
Long cache lifetimes make repeat visits and multi-page sessions much faster, which improves real-user Core Web Vitals.
Steps for: WP Rocket, LiteSpeed Cache, W3 Total Cache
WooCommerce scripts load on non-shop pages
Blog posts and landing pages pay for e-commerce code they never use: extra render-blocking CSS and JavaScript the browser has to parse.
Steps for: Perfmatters
Unused Gutenberg block styles are loading
It's a render-blocking stylesheet that adds unused CSS to every page and delays first paint.
Steps for: Perfmatters
CSS or JavaScript files aren't minified
Minification usually trims 10–30% from file size. Small on its own, but it adds up across every file on every page.
Steps for: Perfmatters, WP Rocket, LiteSpeed Cache, Autoptimize
jQuery Migrate is loading
It's usually render-blocking because it loads right after jQuery in the <head>, delaying first paint on every page.
Steps for: Perfmatters
Admin icon font (Dashicons) loads for visitors
It's a render-blocking stylesheet plus a font file that adds weight to every page for no visible benefit.
Steps for: Perfmatters
WordPress emoji script loads on every page
It's an extra request and inline script in the <head> on every page view, for a feature almost no visitor needs.
Steps for: Perfmatters, WP Rocket, LiteSpeed Cache, Autoptimize
Find out which of these your site has.
Free scan with real Google data. Exact fixes for your plugins.