Skip to content
puluno

Performance & Core Web Vitals

Layout shift (CLS)

Content jumps while loading — missing image dimensions, fonts, or ads. Fix in Images and Pulse.

Typical symptom

PageSpeed shows high CLS, user taps the wrong button, layout moves after paint.

Puluno modules

ImagesPulse

Undo change

Partial — see article

Issue codes

cls_high, images_missing_dimensions

What you see

  • Finding cls_high or images_missing_dimensions.
  • Lighthouse: Cumulative Layout Shift above 0.1 (mobile).
  • Banner / cookie bar pushes content after load.
  • Images without width/height — empty gap, then a jump.

Why it happens

CLS measures unexpected layout movement. Google cares about UX, not meta keywords.

Common causes:

  • <img> without width/height (theme, page builder).
  • Webfont loaded late — FOUT/FOIT.
  • Lazy iframe / map / ad injected above the fold.
  • Cookie / GDPR bar injected into <body> without reserved space.
  • Dynamic WooCommerce cart in header.

What Puluno does

PhaseModuleAction
DiagnoseExplorer + PulseCLS score, elements missing dimensions
ApplyImagesadd width/height on content images
ApplyPulsereserve space for fonts / defer non-critical CSS (safe)
VerifyExplorer / Labsame URL — cls finding drops

CLS from third-party ads is not removed by Pulse — only identified.

Step by step

  1. Explorer + optional Lab Performance on homepage (mobile).
  2. Find which element shifts (Lighthouse shift trace).
  3. Images Apply — dimensions on content images and logo.
  4. Theme: fixed cookie bar height or font-display: swap + reservation.
  5. Pulse safe fixes — when the finding recommends CSS/JS defer.
  6. Verify: same URL — cls_high gone or lower severity.
  7. Test on a real Android device — lab ≠ always field.

Rollback — undo the change

  • Images — revert dimensions on specific files.
  • Pulse — rollback batch for CSS/JS changes.

When it is not Puluno

  • AdSense / GTM banner — trim in tag manager.
  • Page builder animations — disable auto height animations above the fold.
  • Issue only in CrUX field data — rollout takes 28 days; lab Verify is enough to prove Apply.

Related: Slow site — LCP — often the same hero image.

Module manual