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.

LCPImages

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

LCPImages

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

LCPImages

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

LCPCSS

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

LCPCSS

Reduce unused CSS rules

Downloading and parsing dead code wastes browser resources and delays page rendering.

Steps for: WP Rocket, Perfmatters

INPJavaScript

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

INPJavaScript

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

INPThird-party

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

SpeedThird-party

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

INPJavaScript

Minimize main-thread work

This is the primary cause of poor Interaction to Next Paint (INP).

TTFBServer

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

SpeedServer

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

SpeedWooCommerce

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

SpeedServer

Avoid an excessive DOM size

A large DOM slows down CSS styling, layout calculations, and JavaScript execution, hurting INP.

Steps for: Elementor

LCPCSS

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

SpeedFonts

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

CLSStructure

Images are causing layout shifts

This is the #1 cause of Cumulative Layout Shift (CLS).

Steps for: Perfmatters, WP Rocket

LCPLoading

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

SpeedServer

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

SpeedWooCommerce

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

SpeedWordPress bloat

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

LCPCSS

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

SpeedWordPress bloat

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

SpeedWordPress bloat

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

SpeedWordPress bloat

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.