Official statement
Other statements from this video 13 ▾
- 0:33 La pagination en JavaScript pose-t-elle vraiment un problème pour Google ?
- 1:36 Faut-il vraiment corriger toutes les erreurs 404 remontées dans Search Console ?
- 4:04 Le server-side rendering est-il vraiment la solution miracle pour le SEO JavaScript ?
- 5:16 Les graphiques JavaScript créent-ils du contenu dupliqué sur vos pages ?
- 5:49 Faut-il vraiment regrouper vos fichiers JavaScript pour préserver votre budget de crawl ?
- 7:00 Les redirections JavaScript géolocalisées peuvent-elles vraiment être crawlées sans risque ?
- 11:30 Faut-il vraiment s'inquiéter des titres corrompus dans l'opérateur site: ?
- 12:35 Faut-il vraiment faire du server-side rendering pour ses métadonnées ?
- 14:42 Faut-il vraiment éviter les CDN pour vos appels API ?
- 16:50 Faut-il vraiment limiter le nombre d'appels API côté client pour améliorer son SEO ?
- 21:01 Faut-il vraiment sacrifier la précision du tracking pour accélérer le chargement de vos pages ?
- 30:33 Faut-il vraiment considérer Googlebot comme un utilisateur avec besoins d'accessibilité ?
- 31:59 Faut-il traiter la visibilité SEO comme une exigence technique au même titre que la performance ?
Google recommends setting fixed CSS dimensions for graphic containers to avoid Cumulative Layout Shift (CLS), a key metric of Core Web Vitals. Without these dimensions, the browser does not reserve the necessary space, causing a jarring visual shift when the graphic loads. In practical terms: use width and height in CSS on your containers, not just on images — dynamic graphics (JS charts, maps, iframes) are the main culprits.
What you need to understand
What is Cumulative Layout Shift and Why Does it Hurt Your Conversions?
Cumulative Layout Shift (CLS) measures the visual instability of a page while it is loading. Every time an element unexpectedly moves — a button descends, a paragraph jumps — the CLS score degrades.
For Google, it is a signal of user experience quality. For you, it translates to an increase in bounce rate and collapsing conversions. A user who clicks a link just as a graphic appears and disrupts the layout ends up clicking on an ad or closing the tab. It’s measurable, it’s real, and it’s penalizing.
Why Do Graphics Cause So Much Layout Shift?
Dynamic graphics — charts generated in JavaScript, interactive maps, third-party widgets — often declare no dimensions before rendering. The browser first displays the text content, then loads the script, then draws the graphic in a container that had no height reserved.
The result: everything that follows the graphic drops suddenly by 300, 400, 500 pixels. The CLS skyrockets. And this isn’t limited to images — iframes, ads, embeds (YouTube, Twitter, Typeform) are also guilty if their containers lack fixed dimensions.
What Does “Fixed CSS Dimensions” Actually Mean?
Splitt talks about reserving space in CSS even before the content loads. No width: auto or height: auto on a container that will receive a dynamic graphic. You must specify a minimum height or an aspect ratio (aspect-ratio in modern CSS) so that the browser knows how much space to allocate.
Two approaches work: either define a fixed height in pixels (e.g., min-height: 400px) or use the aspect-ratio property (e.g., aspect-ratio: 16/9) combined with a width. The key point is that the container should never have 0px height before rendering the graphic.
- Apply width and height in CSS on graphic containers, not just on
tags
- Use aspect-ratio for responsive content without a fixed height in pixels
- Test with PageSpeed Insights and monitor the CLS metric in real conditions (Chrome UX Report)
- Avoid empty containers with height: auto when dynamic content is going to be inserted
- Prefer placeholders (skeleton screens) if the final height varies according to the content
SEO Expert opinion
Is This Recommendation Really New or Just a Reminder?
Let’s be honest: reserving space for images has been a best practice for 20 years. What has changed is that Google has turned CLS into a ranking metric with Core Web Vitals. Splitt's statement doesn't bring anything fundamentally new — it confirms that dynamic graphics follow the same rule as classic images.
What’s interesting is that Google is reminding us of this obvious fact now, specifically targeting graphics. This suggests that many sites are still missing the point, and it's a frequent source of degraded CLS. Developers set dimensions for images via HTML5 width/height but forget about the containers of JS charts or third-party embeds.
What Nuances Should Be Considered in This Rule?
The difficulty lies in graphics whose height varies according to the data. A chart displaying 3 bars or 20 bars does not have the same final height. Setting a rigid dimension can create unnecessary empty space or worse, cut off the content.
Two solutions: either you calculate the height server-side before rendering (if you know the data), or you use a placeholder with an estimated average height and accept a micro-adjustment at the final render (less penalizing than a 400px jump from zero). [To be verified]: Google has never specified what CLS delta remains acceptable after optimization — the metric allows for minor adjustments, but the vague limit remains subjective.
When Is This Rule Not Enough?
Fixed CSS dimensions solve nothing if your graphic loads a custom web font that causes FOIT (Flash of Invisible Text) or FOUT (Flash of Unstyled Text) and moves the labels around. The same problem occurs if you inject dynamic content into a sized container but that content exceeds and forces a reflow.
Another case involves programmatic ads. You can set the height of the container, but if the ad network is slow to load or returns a creative of a different size than stated, the CLS remains. The only truly effective workaround is to block the rendering of lower content until the ad has responded — which degrades the Largest Contentful Paint (LCP). This is the classic trade-off between CLS and LCP.
Practical impact and recommendations
What Should You Do on Your Pages?
Start by auditing all pages containing graphics, maps, iframes, or third-party widgets. Identify those with a CLS >0.1 in PageSpeed Insights or the Chrome UX Report (the “needs improvement” threshold). Focus first on high-traffic or high-value pages (landing pages, product sheets, pillar articles).
Then, add the missing CSS dimensions: min-height on chart containers, aspect-ratio on YouTube/Google Maps embeds, explicit width/height on iframes. Test in real conditions with network throttling enabled — this is where layout shift is most visible.
What Mistakes to Avoid During Implementation?
Do not set a rigid height in pixels if your graphic is responsive and needs to adapt to different viewports. Instead, use aspect-ratio or a combination of min-height + max-height. Also, avoid setting dimensions only in CSS if your CMS or visual builder generates HTML without stable classes or IDs — you risk specificity conflicts.
Another pitfall: never assume the final height of third-party content. If you integrate an external widget (Typeform, Calendly, interactive map), first check what size it actually occupies; otherwise, you may reserve 300px for content that actually requires 600px, and the CLS remains high. Use Chrome DevTools to measure the rendered height before fixing it in CSS.
How to Verify That Your Fixes Work?
Deploy your changes, wait a few days, then consult the Chrome UX Report via PageSpeed Insights or Search Console (Core Web Vitals report). CLS is calculated over 28 days of rolling real-world data, not in lab conditions — what you see in Lighthouse is just an estimate.
Compare the CLS before/after at the 75th percentile (this is the threshold Google uses for ranking). If you go from 0.15 to 0.08, you’ve made progress. If you remain above 0.1, dig deeper: there are likely other sources of layout shift (fonts, ads, poorly configured lazy-loading).
- Audit pages with CLS >0.1 via PageSpeed Insights or Chrome UX Report
- Add min-height or aspect-ratio on all graphic/embed containers
- Test rendering with network throttling (Fast 3G) to simulate slow connections
- Check that CSS dimensions do not break responsiveness on mobile
- Monitor field CLS over 28 days after deployment (Search Console)
- Compare metrics before/after at the 75th percentile, not on average
❓ Frequently Asked Questions
Faut-il fixer les dimensions en CSS même pour les images classiques ?
Quelle est la différence entre min-height et aspect-ratio pour éviter le CLS ?
Un CLS de 0.1 est-il vraiment un problème pour le ranking ?
Les publicités programmatiques sont-elles une cause fréquente de CLS ?
Comment mesurer le CLS en conditions réelles et pas seulement en lab ?
🎥 From the same video 13
Other SEO insights extracted from this same Google Search Central video · duration 36 min · published on 30/10/2020
🎥 Watch the full video on YouTube →
💬 Comments (0)
Be the first to comment.