What does Cumulative Layout Shift measure?
Cumulative Layout Shift measures unexpected movement of visible content during a page visit. Its score considers the affected viewport area and movement distance, using the largest qualifying burst of shifts. It is a visual-stability metric rather than a loading timer, so identify what moved and what caused that movement before deciding which element needs repair.
- Google’s CLS definition, accessed October 8, 2026, describes the calculation and observation rules.
A paragraph can move because an image above it gains height. The paragraph appears in the shift evidence, but that does not establish that its own styling caused the problem.
- For a service website, unexpected movement can interrupt reading or move a booking control as someone attempts to select it.
The practical concern is the customer’s unstable interface. A numerical score can help identify and compare that experience, but it does not explain the responsible dependency without additional evidence.
- Content can change without causing a layout shift.
Adding information at the end of a document need not move existing visible content. Changing an element’s size also differs from moving other elements’ starting positions. Review the actual affected viewport rather than describing every dynamic update as an unexpected shift.
- The repair should preserve useful information and stable access.
Removing the entire booking interface can reduce one source of movement while removing an essential customer action. Identify how to reserve or manage its space appropriately instead of treating any lower score as a complete improvement to the website.
Reserve the image's space before it loads
Two illustrative layout states show why the cause can sit above the element that moves.
| Layout state | Image region | Effect on following content |
|---|---|---|
| No reserved dimensions | Region grows when the image arrives | A paragraph or button below can move |
| Appropriate reserved dimensions | Space exists before the image arrives | Following content can keep its intended position |
| Wrong reserved ratio | Final content does not fit the reserved region | Clipping or further movement remains possible |
How should a good CLS score be interpreted?
Interpret a good score using the documented field threshold and the relevant grouping of observed visits. CLS is unitless; it is not measured in seconds or milliseconds. A single stable laboratory load does not establish stability throughout real visits, especially when late content, interactions, or embedded components can move the layout after the test ends.
- Google’s CLS guidance, accessed October 8, 2026, recommends a score of 0.1 or less at the 75th percentile of field page loads, separated across mobile and desktop.
These are documented evaluation criteria, not a measured result or success claim for the website described here.
- A percentile summarizes part of a distribution.
It does not promise that every customer had a stable visit. Some observed experiences can remain worse than the reported point. Device layout, content state, and resource timing can vary, so a summary needs its defined population and scope to remain meaningful.
- A missing field result is also inconclusive.
The requested URL may not have sufficient eligible observations in the public dataset. An origin-level result can be available instead, but it answers a broader question. State that boundary rather than assigning the origin summary to the selected page as independent page-level evidence.
Cumulative Layout Shift: read the performance bands
Use the 75th-percentile field value for the relevant device group. A single lab run does not establish the field classification.
- Good≤ 0.1
- Needs improvement> 0.1 to 0.25
- Poor> 0.25
Units: unitless layout-shift score. The bands are category labels, not a measured distribution or a proportional axis.
How do movement area and distance contribute to a shift?
A shift’s contribution depends on the viewport area affected by unstable content and the distance it moves. A large visible region moving slightly differs from a small control moving much farther. Inspect the movement and viewport rather than reading the score as a simple count of elements, images, or separate resource loads that occurred.
- Google’s layout-shift calculation combines impact and distance fractions.
The affected region includes relevant positions before and after the move. The distance calculation uses the largest movement relative to the viewport’s largest dimension. This explains why the same component can contribute differently under different layouts.
- The formula is
layout shift score = impact fraction × distance fraction.This calculates one shift entry, rather than the complete CLS metric. CLS then uses the defined session-window aggregation described below. Inspect the entries in the trace to distinguish one large movement from several smaller shifts within the same burst.
- Viewport clipping matters.
Content outside the visible area is not equivalent to the same region inside it. A desktop arrangement and a mobile stack can expose different moving areas. Test relevant responsive states rather than assuming one screenshot establishes the score contribution across every device group.
- The most visually noticeable movement is not always the only significant contribution.
A sequence of related changes can form the burst that determines the result. Review the grouped evidence and cause instead of repairing the first highlighted element while ignoring later movement produced by the same dependency.
Why does CLS use bursts instead of adding every shift forever?
CLS uses the largest qualifying burst to represent the most substantial episode of unexpected movement rather than simply adding all shifts throughout an arbitrarily long visit. The grouping rules matter when implementing measurement or comparing older data. A raw sum of observer entries can produce a different number from the current defined metric.
- Google’s CLS definition, accessed October 8, 2026, describes session windows with gaps shorter than one second and a maximum duration of five seconds.
Those are metric rules, not evidence that shifts on the website occurred at those times or that a repair produced a particular score.
- The documentation also explains that older implementations summed shifts across the full visit.
Check the measurement library and tool definition before comparing values from different systems or historical reports. A change in calculation can affect a comparison independently of any change to the page layout.
- A diagnostic observer that logs individual entries is useful for locating movement.
It is not automatically a correct final CLS implementation. Qualifying input exclusions, grouping, lifecycle behavior, and observation limits need handling. Prefer an appropriately maintained measurement implementation where possible rather than labelling a simplified console total as the defined metric.
- Record the relevant observation context.
A page restored from browser history or opened in the background can have lifecycle considerations different from an ordinary foreground load. Google describes these limits in the primary guidance. The measurement should follow its defined behavior instead of mixing incompatible visit states into an unexplained result.
How can the moved element be distinguished from the cause?
Distinguish the moved element from the cause by examining what changed immediately before its position shifted. Diagnostic tools can highlight affected content rather than the component that displaced it. A booking button can move because a late notice appears above it, so rewriting the button’s own style may leave the actual instability unresolved.
| Point to consider | Explanation and application |
|---|---|
| Google’s CLS optimization guide explains this attribution limitation. | Inspect the trace, before-and-after layout, and relevant resource or DOM updates. The useful diagnosis links the visible displacement to the insertion, resizing, or font change that caused it rather than treating the highlighted victim as the producer automatically. |
| Look upward in the document flow and at shared container changes. | An image can acquire its real height after loading. A reviews component can expand once data arrives. A heading can wrap differently when its font changes. Each mechanism can move later content even when that content’s own markup never changes. |
| Correlate timing carefully. | A resource completing near a shift is a candidate cause, not conclusive proof. Inspect the component’s actual size and updates. Another script may insert a banner at the same time. The explanation should identify the verified dependency rather than assume the first nearby network event produced the movement. |
| Retest the component after the targeted change. | Confirm the affected content remains stable and the inserted information remains accurate and usable. A workaround that clips the late content can stop movement while hiding essential details. Stability and information delivery need separate checks to establish a useful repair. |
How should images and videos reserve space before loading?
Images and videos should reserve suitable layout space before their content arrives so later elements do not move when the browser discovers their size. Use dimensions or an appropriate aspect-ratio relationship that matches the intended resource and responsive design. An arbitrary fixed height can conceal one shift while causing clipping, distortion, or instability at another viewport.
- Google’s image-dimension guidance describes width and height attributes and CSS space reservation.
The browser can use the ratio before fetching the complete image. Responsive CSS can still scale the resource; the attributes do not require every viewport to display it at the same physical size.
Illustrative markup:
<img src="/images/heating-inspection.webp" width="1200" height="800"
alt="Technician inspecting a heating system">
These sample dimensions and description are syntax examples, not measured page findings. The actual resource must have appropriate proportions and accurate descriptive text. Image SEO includes those understanding concerns, which should not be replaced by a dimension-only performance check.
- Review responsive art direction where different sources have different proportions.
A desktop image and mobile crop may require different reserved relationships. Inspect the displayed resource at each relevant breakpoint rather than assuming that one pair of attributes correctly represents every alternate image.
- Test both fresh and cached delivery.
A developer’s cache can make an unreserved image appear immediately, concealing the shift a fresh visitor sees. Confirm the space exists before the image arrives and that the final layout remains correct. Fast transfer alone does not repair missing initial geometry reliably.
How can embeds, reviews, and banners avoid displacing existing content?
Embeds, reviews, and banners can avoid displacing existing content by reserving an appropriate region or using an interaction and placement design that preserves the current reading and control positions. Determine the component’s real size behavior. A placeholder that is much smaller than the final content can still allow a substantial shift when the component arrives.
- Google’s embed and dynamic-content guidance discusses space reservation for content whose dimensions are not initially known.
A service-booking widget can change height as it initializes. A review panel can expand when records appear. Those components need their actual behavior reviewed rather than one universal placeholder height.
- Consider the empty state as well.
Removing reserved space when no content arrives can also move the surrounding layout. The appropriate interface depends on whether the area remains useful and what the customer expects. Do not collapse it reflexively without inspecting its effect on already visible controls or text.
- A consent notice or announcement placed above existing content can displace the page after initial rendering.
Evaluate whether it can be present in initial layout or displayed through a suitable accessible design that avoids unexpected movement. The notice must remain understandable and usable; stability does not justify hiding a required customer decision.
- Test the component’s supported states: loading, populated, unavailable, and relevant user transitions.
An embedded provider can behave differently in production from a local mock. Inspect actual public delivery where authorized and available, without manufacturing measurements or claiming that one simulated response proves every provider state is stable.
Why can web fonts change layout after text first appears?
Web fonts can change layout after text appears because their glyph metrics, wrapping, and line heights can differ from the fallback font. A font arriving later can resize text regions and displace other content. Inspect the actual transition rather than assuming that fast text visibility alone establishes a stable layout or that every font swap causes the same movement.
- Google’s font guidance discusses this stability concern.
A heading that wraps differently can change the height of a service card or hero. A paragraph can gain lines. The effect depends on the text, container, and font relationship, so identify the observed cause before changing typography broadly.
- Review a suitable fallback and the implementation’s font-loading behavior.
Early font delivery can affect timing, while compatible metrics can reduce geometric differences. The right choice needs legibility and design review as well as trace evidence. Do not solve a font shift by making important service information unreadable or clipping its container.
- Largest Contentful Paint can also involve a text candidate.
Font decisions can influence both visibility timing and later stability. These metrics describe different experiences, so improving one does not establish that the other remains acceptable. Check the affected text before and after the transition.
- Test realistic text lengths and relevant responsive layouts.
A short sample heading may fit while the actual service name wraps. The published content is the meaningful test material, not dummy labels chosen to make the component appear stable. Verify both initial fallback and final-font output where that transition occurs.
Which interaction-related shifts are expected, and which remain surprising?
Interaction-related shifts need interpretation according to the metric’s defined exclusions and the customer’s actual understanding of the update. An immediate expansion after selecting an accordion differs from content moving unexpectedly long after an asynchronous request. Do not assume that any earlier click makes all later movement expected or that scrolling excludes newly loaded content shifts.
- Google’s CLS input rules, accessed October 8, 2026, describe the recent-input exclusion for qualifying discrete actions within 500 milliseconds.
Continuous gestures such as scrolling are treated differently. This is a documented calculation rule, not permission to design disruptive updates that merely avoid contributing to a score.
- If an action starts a slower request, reserve the necessary area and show clear progress where appropriate.
A customer may continue reading or move toward another control before the response arrives. The eventual insertion should not unpredictably move that target simply because an earlier action initiated the data fetch.
- Interaction to Next Paint concerns responsive feedback, while CLS concerns unexpected movement.
A prompt loading indicator can help communicate an operation, but it does not guarantee stable final placement. Review both the immediate frame and later content where the task changes the layout.
- Animations need their own accessibility and motion review.
Google describes transform-based techniques that avoid particular layout shifts, but motion can still affect users. Respect relevant reduced-motion settings and preserve understandable control positions. A metric exclusion or different animation property does not certify that the transition is comfortable for every customer.
Why can field CLS differ from a page-load laboratory test?
Field CLS can differ from a page-load laboratory test because real visits include later content, scrolling, and other states beyond the initial synthetic observation. The dataset and device scope can also differ. A disagreement should prompt coverage review, not an automatic claim that the field number is wrong or that a quiet initial load proves complete stability.
| Point to consider | Explanation and application |
|---|---|
| Google’s CLS optimization guide explains post-load shifts and measurement differences. | PageSpeed Insights separates available field observations from laboratory diagnostics. Check whether the field information concerns the selected URL or the whole origin before assigning a specific page the aggregate symptom. |
| A lazy-loaded image farther down the page can move text when a reader reaches it. | A timed notice can appear later. A client-side navigation can introduce another layout state without a new conventional page load. A short initial trace may miss these conditions even when its measurements are otherwise accurate. |
| Use relevant user-flow or live-observation testing to investigate later shifts. | Record the sequence and state so the cause can be reproduced. If no field attribution exists, common-flow testing can find plausible issues, but it cannot establish how often actual customers encounter them without suitable evidence. |
How should lazy loading and client-side updates remain stable?
Lazy loading and client-side updates should preserve appropriate space and meaningful placement while content is unavailable, then present the result without displacing existing visible information unexpectedly. Loading less initially can be useful, but delaying a resource does not excuse missing geometry. Inspect later states and transitions, not only the first successful paint.
- Google’s post-load CLS guidance describes lazy-loaded content as a potential source of movement when space is absent.
A lower-page image can remain offscreen initially yet become relevant as the visitor scrolls. Its dimensions still need to be represented before it expands the layout.
- JavaScript SEO concerns whether content and links are available through the rendering path.
A client-rendered result can be discoverable and still move the visible interface unexpectedly. Verify availability and stability separately rather than claiming that a rendering test certifies the experience of using the component.
- Collection updates also need context.
Pagination or load-more behavior can add items after an action. Place new information in an understandable location and avoid disturbing current controls unnecessarily. Sorting previously visible items can also move them, so assess whether the transition is expected and accurately communicated.
- Test failures and recovery.
A placeholder can disappear before content arrives or reappear after a failed request. Those transitions may move the page even when the successful path is stable. The implementation should represent unavailable content honestly while preserving a usable layout, rather than relying on an unrealistically immediate local response.
How should layout-shift debugging proceed from the evidence?
Start debugging from a recorded shift, identify the affected region, and trace the preceding insertion or size change. Reproduce the relevant loading or interaction state, then test a targeted space or behavior correction. This sequence connects the repair to an observed cause instead of applying every stability recommendation indiscriminately or changing the highlighted element without understanding its displacement.
- Google’s CLS debugging guidance describes traces, shift clusters, and visual inspection.
Use available before-and-after evidence to locate the actual layout change. A shift record can identify moved content while another component caused it, so check the document flow and update timing together.
- For an image, inspect initial reserved space and final proportions.
For an embed, compare its supported loading and populated dimensions. For text, inspect font transitions and wrapping. These are distinct mechanisms with distinct tests. A general CSS minimum height applied everywhere can create excess gaps while leaving the real cause unresolved.
- Time to First Byte can affect when resources arrive, but delivery timing does not replace geometry.
A faster response may conceal an unreserved element in one test without making the layout robust. Correct the appropriate spatial dependency rather than relying entirely on favorable resource timing.
- Retest the same observed state and relevant boundaries.
Confirm that the layout remains usable under responsive conditions and that the content is still complete. The evidence should establish which displacement was prevented and what remains outside the test, not simply report that a configuration or stylesheet changed.
How should a CLS repair be validated without manufacturing outcomes?
Validate a CLS repair by comparing the relevant shift evidence under known conditions and confirming that the resulting layout preserves accurate content and usable controls. Then review appropriate real-user observations when available. A stable controlled test demonstrates its specific state, while broader visitor experience and commercial outcomes need separate evidence rather than an assumption from a lower score.
- Google’s optimization guide recommends identifying causes and verifying representative flows.
Keep the before-and-after comparison tied to the actual dependency. A cached image or different viewport can change the result independently of the repair, so record those conditions instead of silently treating unequal tests as equivalent.
- Illustrative repair, not client data.
A heating-service image has no reserved proportions, so its arrival pushes a booking link downward. The developer supplies appropriate dimensions and responsive behavior. The fresh-load test confirms that the image’s region exists before transfer completes and that the link stays in its intended place.
Continue the public-page review
Use our website SEO checker for preliminary public-page signals. Inspect actual movement and its cause through the procedures above. Our technical SEO services connect confirmed stability defects with appropriate layout and delivery repairs.
Questions about Cumulative Layout Shift (CLS)
What is a good CLS score?
Google's published good threshold is 0.1 or less, assessed at the 75th percentile of visits. Keep device and field-measurement context visible when interpreting the number.
web.dev performance guidance ↗Why can field CLS be worse than a page-load test?
A short lab test can miss shifts during later scrolling, interactions or content updates. Field data reflects real visits with a wider range of conditions.
web.dev performance guidance ↗Does the element that moved necessarily cause the shift?
No. Content may move because something above it gains height. Trace the layout change back to the element or component that caused the displacement.
web.dev performance guidance ↗How can images and embeds reserve space?
Give media appropriate dimensions or aspect-ratio space, and reserve space for dynamic content where possible. Test the loading and populated states.
web.dev performance guidance ↗Continue learning
Connect this to your website
- Technical SEO services →
Repair confirmed media, embed or font-layout causes using actual shift evidence.
Sources
Cumulative Layout Shift (CLS) | Articles | web.dev ↗Accessed October 8, 2026Optimize Cumulative Layout Shift | Articles | web.dev ↗Accessed October 8, 2026Published . Definitions and examples link to their supporting sources. Our SEO methodology →
