Yeah, this is still one of those “boring but pays off” areas.
In real projects, the biggest wins I keep seeing in 2026 are usually **not** fancy tricks — it’s mostly just killing bloat and making the first load lighter.
### What’s working best for me:
#### 1) Fix the LCP element first
Most of the time LCP is a hero image, featured image, or big heading block.
What helps:
– **Compress and resize images properly**
– Serve **AVIF/WebP**
– Don’t lazy-load the LCP image
– Preload the main hero image if needed
– Use a decent CDN if the site is image-heavy
A lot of sites still screw this up by lazy-loading the exact image Google wants to see first. Easy mistake.
#### 2) Cut down third-party junk
This is usually the real killer for INP.
I’ve seen better gains from removing:
– extra analytics tags
– chat widgets
– heatmaps
– ad scripts
– social embeds
– random marketing plugins
If it doesn’t help revenue or tracking, I question whether it deserves to load on every page.
#### 3) Reduce plugin bloat on WordPress
This one is huge.
A lot of WP sites are running:
– page builders
– 20+ plugins
– multiple SEO/add-on tools
– sliders, popups, review boxes, tables, etc.
That stuff adds up fast. I’ve had better results just replacing 3-4 heavy plugins with one lighter solution than trying to “optimize” around them.
#### 4) Font cleanup helps more than people think
For CLS and LCP:
– use fewer font families/weights
– preload critical fonts
– use `font-display: swap`
– self-host if it makes sense
Too many sites load like 6 weights for no reason. Total waste.
#### 5) Stop layout shifts before they happen
For CLS, the usual fixes are basic but effective:
– set width/height on images and embeds
– reserve space for ads
– don’t inject banners above content after load
– avoid sticky bars that push content down late
A lot of CLS is just bad page structure, not some technical mystery.
#### 6) Make sure lazy loading is used correctly
Lazy loading is fine, but people overdo it.
Don’t lazy-load:
– above-the-fold images
–