Cumulative Layout Shift is the jump you feel when a page loads — text appears, then an image pushes it down, then a banner shoves everything again. Google measures it, and a CLS above 0.1 quietly drags your rankings. The instinct is to install a “CLS fixer” plugin, but most causes are things you can fix in the theme directly.
Set dimensions on every image
The biggest cause is images without dimensions. When the browser doesn’t know how tall an image is, it reserves no space, then reflows once the image arrives. Always set width and height attributes — or an aspect-ratio in CSS — on every image, including logos and icons.
Tame fonts and late content
Web fonts are next. When a custom font swaps in, line heights change and text shifts. Add font-display: swap and preload the primary font so the swap happens early.
Embeds and ad slots are the third cause. Give them a container with a fixed min-height so injected content fills space that already exists. The same goes for anything injected late — cookie bars, announcement banners, lazy-loaded sections. If it appears above existing content, it shifts everything below. Reserve its space or load it in a fixed overlay.
None of this needs a plugin. It needs dimensions on your media and reserved space for anything that loads late.