How to reduce CLS in Google PageSpeed Insights (with fixes that work)
A practical guide to Cumulative Layout Shift: what causes it, how to find the elements shifting, and proven fixes for images, fonts, banners and ecommerce pages.
A practical guide to Cumulative Layout Shift: what causes it, how to find the elements shifting, and proven fixes for images, fonts, banners and ecommerce pages.
What CLS is and why it matters
Cumulative Layout Shift (CLS) is one of Google’s three Core Web Vitals. It measures how much visible content moves unexpectedly while a page loads and during its life. A CLS of 0.1 or less is “good”; above 0.25 is “poor”. Layout shift is frustrating — customers tap the wrong button or lose their place — so it affects conversion as well as SEO.
RELATED GUIDEIs Cloudflare worth it? 9 benefits for ecommerce and business websites →How to find what is shifting
- Run PageSpeed Insights and open “Avoid large layout shifts” to see the elements responsible
- In Chrome DevTools, open Performance, record a load and look for “Layout Shift” entries
- Enable Rendering → “Layout Shift Regions” to highlight shifts in blue
- Check the Core Web Vitals report in Search Console for affected URL groups
Fix 1: Always reserve space for images and video
Add width and height attributes (or CSS aspect-ratio) to every image, iframe and video so the browser reserves space before it loads. This matters most for product grids, hero banners and sliders.
Still failing Core Web Vitals?Our developers fix CLS, LCP and INP in code — not just in a report.Get a free SEO audit →Fix 3: Load fonts without jumps
Web fonts can change text size when they swap in. Preload key fonts, use font-display: optional or swap, and use size-adjust / ascent-override on the fallback font so both take up the same space.
Fix 4: Ecommerce-specific fixes
- Give product-image galleries a fixed aspect ratio
- Reserve space for reviews widgets, “recently viewed” and recommendations
- Avoid inserting price or stock messages above the add-to-basket button after load
- On Magento, Hyvä themes avoid much of the layout shift common in Luma
- Use transform animations instead of changing top/height
Common mistakes to avoid
How we help with performance
Frequently asked questions
What is a good CLS score?
0.1 or less for at least 75% of page visits, measured from real users.
Why does PageSpeed show a different CLS from Search Console?
PageSpeed’s lab test measures one load; Search Console uses 28 days of real-user field data, which includes shifts after load.
Does CLS affect rankings?
Core Web Vitals are part of Google’s page experience signals. They are a tie-breaker rather than a major factor, but they also affect conversion.