{"id":29,"date":"2023-12-01T17:35:17","date_gmt":"2023-12-01T17:35:17","guid":{"rendered":"https:\/\/xengage.com\/insights\/?p=29"},"modified":"2024-12-20T19:44:06","modified_gmt":"2024-12-20T19:44:06","slug":"the-complete-guide-to-understanding-and-improving-cumulative-layout-shift","status":"publish","type":"post","link":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/","title":{"rendered":"The Complete Guide to Understanding and Improving Cumulative Layout Shift"},"content":{"rendered":"\n<p>You&#8217;ve probably heard web developers and SEO experts talk about Cumulative Layout Shift lately. But what exactly is CLS and why does it matter? In short, CLS refers to the movement of visible page content, like images, ads or paragraphs, that occurs after a page has loaded. When a user is trying to interact with elements on the page and those elements suddenly shift positions, it leads to a poor user experience. Google has made CLS an important ranking factor, so optimizing for it is key to a good SEO strategy.<\/p>\n\n\n\n<p>In this guide, we&#8217;ll walk you through everything you need to know about CLS &#8211; what causes it, how it&#8217;s measured, and most importantly, how to fix it. By the end, you&#8217;ll be well on your way to optimizing your site and providing a seamless user experience. So buckle up, we&#8217;ve got a lot to cover!<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_71 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#What_Is_Cumulative_Layout_Shift\" title=\"What Is Cumulative Layout Shift?\">What Is Cumulative Layout Shift?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Why_CLS_Matters_for_User_Experience\" title=\"Why CLS Matters for User Experience\">Why CLS Matters for User Experience<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#How_to_Measure_CLS_With_Google_Lighthouse\" title=\"How to Measure CLS With Google Lighthouse\">How to Measure CLS With Google Lighthouse<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#How_to_Run_Lighthouse\" title=\"How to Run Lighthouse\">How to Run Lighthouse<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Common_Causes_of_High_CLS_Scores\" title=\"Common Causes of High CLS Scores\">Common Causes of High CLS Scores<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Dynamic_Content\" title=\"Dynamic Content\">Dynamic Content<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Late-Loading_Images\" title=\"Late-Loading Images\">Late-Loading Images<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#CSS_or_JavaScript_Errors\" title=\"CSS or JavaScript Errors\">CSS or JavaScript Errors<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Advertisements\" title=\"Advertisements\">Advertisements<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Tips_to_Minimize_CLS_Issues\" title=\"Tips to Minimize CLS Issues\">Tips to Minimize CLS Issues<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Load_CSS_before_JavaScript\" title=\"Load CSS before JavaScript\">Load CSS before JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Minimize_JavaScript_execution_time\" title=\"Minimize JavaScript execution time\">Minimize JavaScript execution time<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Add_width_and_height_attributes\" title=\"Add width and height attributes\">Add width and height attributes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Use_CSS_flexbox_and_grid\" title=\"Use CSS flexbox and grid\">Use CSS flexbox and grid<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Add_padding-top_to_large_images\" title=\"Add padding-top to large images\">Add padding-top to large images<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Lazy_load_offscreen_images\" title=\"Lazy load offscreen images\">Lazy load offscreen images<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Use_CSS_contain_strict\" title=\"Use CSS contain: strict\">Use CSS contain: strict<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Optimizing_Images_to_Avoid_CLS\" title=\"Optimizing Images to Avoid CLS\">Optimizing Images to Avoid CLS<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Compress_images\" title=\"Compress images\">Compress images<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Use_next-gen_formats\" title=\"Use next-gen formats\">Use next-gen formats<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Add_width_and_height_attributes-2\" title=\"Add width and height attributes\">Add width and height attributes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Lazy_load_images\" title=\"Lazy load images\">Lazy load images<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Use_responsive_images\" title=\"Use responsive images\">Use responsive images<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Using_CSS_and_JavaScript_to_Control_Layout_Shifts\" title=\"Using CSS and JavaScript to Control Layout Shifts\">Using CSS and JavaScript to Control Layout Shifts<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Using_CSS_Techniques\" title=\"Using CSS Techniques\">Using CSS Techniques<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Using_JavaScript\" title=\"Using JavaScript\">Using JavaScript<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Setting_Up_Monitoring_to_Catch_CLS_Regressions\" title=\"Setting Up Monitoring to Catch CLS Regressions\">Setting Up Monitoring to Catch CLS Regressions<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#CLS_Score\" title=\"CLS Score\">CLS Score<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Element_Shift_Count\" title=\"Element Shift Count\">Element Shift Count<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Most_Shifted_Elements\" title=\"Most Shifted Elements\">Most Shifted Elements<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Monitoring_Frequency\" title=\"Monitoring Frequency\">Monitoring Frequency<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Cumulative_Layout_Shift_FAQs_Your_Top_Questions_Answered\" title=\"Cumulative Layout Shift FAQs: Your Top Questions Answered\">Cumulative Layout Shift FAQs: Your Top Questions Answered<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#What_exactly_is_Cumulative_Layout_Shift\" title=\"What exactly is Cumulative Layout Shift?\">What exactly is Cumulative Layout Shift?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#How_is_CLS_calculated\" title=\"How is CLS calculated?\">How is CLS calculated?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#What_causes_high_CLS\" title=\"What causes high CLS?\">What causes high CLS?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#How_can_I_improve_my_CLS_score\" title=\"How can I improve my CLS score?\">How can I improve my CLS score?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#What_is_a_good_CLS_score_to_aim_for\" title=\"What is a good CLS score to aim for?\">What is a good CLS score to aim for?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#Conclusion\" title=\"Conclusion\">Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Is_Cumulative_Layout_Shift\"><\/span>What Is Cumulative Layout Shift?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Cumulative layout shift (CLS) refers to the movement of visible page elements that occurs between the time a page starts loading and when the page is interactive. This unanticipated movement can be jarring for users and negatively impact their experience on the site.<\/p>\n\n\n\n<p>To measure CLS, browsers track how much each visible element on the page shifts from its initial position as the page loads. The total sum of all element shifts is the CLS score for that page load. A lower score is better since it means there were fewer unexpected movements that could disrupt the user.<\/p>\n\n\n\n<p>There are a few common causes of high CLS:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Images without dimensions: If you add an image without specifying its width and height, the browser won&#8217;t know how much space to reserve for it. Once the image loads, the content around it will shift.<\/li>\n\n\n\n<li>Dynamic content: content that loads in dynamically after the initial page render, like ads, can cause layout shifts if the space they will occupy isn&#8217;t accounted for.<\/li>\n\n\n\n<li>Slow resource loads: If a resource on your page takes a long time to load, the browser will initially reserve only a small space for it. When the resource finally loads, it can cause surrounding content to shift.<\/li>\n\n\n\n<li>Font swaps: Loading a fallback font initially and then swapping in a custom font face once it loads can trigger layout shifts.<\/li>\n<\/ul>\n\n\n\n<p>To improve your CLS, optimize your images, minimize dynamically injected content, optimize load times for critical resources, and use font loading strategies that avoid layout shifts. Monitoring your CLS in the field and fixing issues as they arise is key to delivering a seamless user experience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_CLS_Matters_for_User_Experience\"><\/span>Why CLS Matters for User Experience<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>So what exactly is Cumulative Layout Shift (CLS) and why should you care? CLS refers to the movement of visible page elements that changes the page&#8217;s layout between the time a user first sees the page and when its main content finishes loading. Even small shifts can be jarring and frustrating for users, disrupting their experience and focus.<\/p>\n\n\n\n<p>For many sites, CLS issues stem from ads, images, and other elements loading in after the initial page render. As these elements pop in, the page layout shifts &#8211; pushing down content the user was trying to read or interact with. Not a great user experience! CLS matters because it directly impacts how users perceive the quality, usability and professionalism of your site. High CLS scores damage user trust and satisfaction, which can hurt conversion rates, bounce rates, and other key metrics.<\/p>\n\n\n\n<p>There are a few ways to improve your CLS score and optimize the user experience:<\/p>\n\n\n\n<p>\u2022Lazy load images, ads, and other media. Only load these elements when they&#8217;re about to scroll into view. This prevents layout shifts from elements loading in late.<\/p>\n\n\n\n<p>\u2022Add size attributes to images. Specify the width and height of images in the HTML so the browser can allocate proper space before the image loads.<\/p>\n\n\n\n<p>\u2022Prioritize visible page content. Make sure critical content like headlines, intros, and calls-to-action load first before less important page elements.<\/p>\n\n\n\n<p>\u2022Use CSS grid or flexbox for layouts. These technologies enable more flexible and resilient layouts that are less prone to layout shifts as page elements load in.<\/p>\n\n\n\n<p>\u2022Audit and fix existing layout shifts. Check your site for any elements that load in late and cause visible movement. Address these issues to improve CLS and user experience.<\/p>\n\n\n\n<p>Optimizing CLS is well worth the effort. By creating stable layouts and prioritizing visible content, you&#8217;ll build a better overall experience for your users. And that will pay off through improved satisfaction, trust, and other key metrics.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Measure_CLS_With_Google_Lighthouse\"><\/span>How to Measure CLS With Google Lighthouse<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To improve your site&#8217;s Cumulative Layout Shift (CLS), you first need to measure how much shift is actually happening. The easiest way to do this is using the Lighthouse tool in Chrome DevTools.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Run_Lighthouse\"><\/span>How to Run Lighthouse<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open your site in Chrome and open the DevTools (View -&gt; Developer -&gt; Developer Tools).<\/li>\n\n\n\n<li>Click the &#8220;Lighthouse&#8221; tab.<\/li>\n\n\n\n<li>Select &#8220;Performance&#8221; as the category and check the &#8220;Cumulative Layout Shift&#8221; audit.<\/li>\n\n\n\n<li>Click &#8220;Generate report&#8221;. Lighthouse will now analyze your page and provide a score for CLS.<\/li>\n\n\n\n<li>Review the CLS section of the report. It will show you the total CLS score for the page, as well as a screenshot highlighting the elements that shifted. The lower the score the better\u2014aim for 0.1 or less.<\/li>\n<\/ol>\n\n\n\n<p>If your CLS score comes back high, don&#8217;t panic. The report will also provide suggestions for improvements to help reduce layout shifts on your site. Some things you can do include:<\/p>\n\n\n\n<p>\u2022 Add width, height, and padding to images and video elements. Without size attributes, the browser won&#8217;t know how much space to allocate for these elements and they may shift when loaded in.<\/p>\n\n\n\n<p>\u2022 Set fixed width container elements. Having fluid-width containers can lead to content shifting around as the page resizes.<\/p>\n\n\n\n<p>\u2022 Preload images and fonts. Resources that load in after initial page render are a common cause of layout shifts. Preloading them prevents them from shifting content when they load.<\/p>\n\n\n\n<p>\u2022 Use CSS grid, flexbox, and position: sticky for layouts. These modern layout methods are less prone to causing layout shifts than floats.<\/p>\n\n\n\n<p>\u2022 Ensure ads do not displace page content. Ads that load in and push down content after initial page render will hurt your CLS score. Consider using fixed ad placements.<\/p>\n\n\n\n<p>\u2022 Reduce DOM changes after load. JavaScript that modifies page layout or styles after initial load can trigger layout shifts. Minimize DOM changes when possible.<\/p>\n\n\n\n<p>By measuring CLS with Lighthouse and following these best practices, you&#8217;ll be well on your way to a perfectly stable site layout and improved user experience. Let me know if you have any other questions!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Common_Causes_of_High_CLS_Scores\"><\/span>Common Causes of High CLS Scores<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>When analyzing your site&#8217;s CLS score, it&#8217;s important to understand what factors are contributing to layout shifts. By identifying the root causes, you can make fixes to improve your score and user experience.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Dynamic_Content\"><\/span>Dynamic Content<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Content that loads in dynamically after the page has initially rendered is a frequent culprit of CLS issues. Things like ads, embedded media, comment sections, and ecommerce products loading via AJAX can push other content down the page, causing shifts. To remedy this, you have a few options:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Load dynamic content asynchronously so it doesn&#8217;t block rendering of other page elements.<\/li>\n\n\n\n<li>Add padding or margin to sections where dynamic content will load so they are allotted the necessary space.<\/li>\n\n\n\n<li>Use the <code>aria-hidden=\"true\"<\/code> attribute to hide dynamic sections from assistive technologies and search engines until the content loads. This prevents them from detecting a layout shift.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Late-Loading_Images\"><\/span>Late-Loading Images<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Images that load in after initial page render are another source of CLS problems. Some solutions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use responsive placeholder images with the <code>loading=\"lazy\"<\/code> attribute. This delays loading the image until it&#8217;s scrolled into view.<\/li>\n\n\n\n<li>Add <code>width<\/code> and <code>height<\/code> attributes to <code>&lt;img&gt;<\/code> tags so the page allotts the proper space for the image even before it loads.<\/li>\n\n\n\n<li>Use low-quality image placeholders that are the same size as the final image. Swap in the full-quality image once loaded.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CSS_or_JavaScript_Errors\"><\/span>CSS or JavaScript Errors<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Errors in your CSS or JS code can also sometimes cause layout shifts. Double check for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Missing CSS selectors or properties<\/li>\n\n\n\n<li>JS errors preventing page elements from loading properly<\/li>\n\n\n\n<li>Outdated CSS\/JS file references<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Advertisements\"><\/span>Advertisements<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Ads, especially those loading via third-party networks, frequently shift page layouts. Some options to reduce CLS from ads:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vet ad partners and only use those with a proven track record of stable ad units.<\/li>\n\n\n\n<li>Set fixed width\/height for ads in advance to allot proper space.<\/li>\n\n\n\n<li>Load ads asynchronously and hide the space with <code>aria-hidden=\"true\"<\/code> until the ad loads.<\/li>\n<\/ul>\n\n\n\n<p>By auditing for these common causes of CLS and making fixes, you&#8217;ll be well on your way to optimizing user experience and boosting your Lighthouse CLS score. Let me know if you have any other questions!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tips_to_Minimize_CLS_Issues\"><\/span>Tips to Minimize CLS Issues<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Cumulative Layout Shift (CLS) refers to the movement of visible page content that occurs between the time a user requests a page and the time the page&#8217;s layout is stabilized, causing unexpected layout changes. Minimizing CLS is important for user experience and SEO. Here are some tips to help improve your site&#8217;s CLS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Load_CSS_before_JavaScript\"><\/span>Load CSS before JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Make sure your CSS is loaded before JavaScript files. If JS files load first, they may shift page content around once the CSS loads, causing CLS issues.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Minimize_JavaScript_execution_time\"><\/span>Minimize JavaScript execution time<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The faster your JS files load and execute, the less opportunity there is for layout shifts to occur. Minimize and compress JS files, remove unused code, and optimize JS execution.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Add_width_and_height_attributes\"><\/span>Add width and height attributes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Adding width and height attributes to images, videos, and iframes gives the browser the dimensions before the content loads. This prevents the page from shifting around as the content loads in.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Use_CSS_flexbox_and_grid\"><\/span>Use CSS flexbox and grid<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>CSS flexbox and grid are more modern layout options that are less prone to causing CLS issues. They make it easy to design responsive layouts that load fast and don&#8217;t shift around. Consider using them instead of floats.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Add_padding-top_to_large_images\"><\/span>Add padding-top to large images<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>For large landscape images, add padding-top with the same aspect ratio as the image. This reserves the space before the image loads so the page content below it won\u2019t shift up. Remove the padding-top once the image loads.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Lazy_load_offscreen_images\"><\/span>Lazy load offscreen images<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Images that load but are not visible in the viewport often cause CLS as the page height changes when they load in. Use lazy loading to only load images as they scroll into view. This prevents them from shifting the layout before the user sees them.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Use_CSS_contain_strict\"><\/span>Use CSS contain: strict<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The CSS contain: strict property helps prevent CLS in a couple ways. It ensures an element&#8217;s layout is calculated strictly based on its own contents and descendants. It also forces descendants to be contained within the element&#8217;s box. Using contain: strict on containers of dynamic content can help limit the effects of layout changes to only that part of the page.<\/p>\n\n\n\n<p>Minimizing CLS may require making trade-offs for other web performance metrics. But improving user experience through a stable layout is worth the effort. With some experimenting, you can find the right balance for your site.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Optimizing_Images_to_Avoid_CLS\"><\/span>Optimizing Images to Avoid CLS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Optimizing your images is one of the easiest ways to improve CLS. Images that load slowly or change size after page load are common culprits of layout shifts. By properly optimizing your images, you can avoid these CLS issues and improve user experience.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Compress_images\"><\/span>Compress images<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Compressing your images reduces their file size, allowing them to load faster. You can use a free tool like ImageOptim, Compressor.io or Kraken.io to compress PNG, JPG, GIF and SVG images. Aim for compressing images down to the smallest size possible without noticeably reducing quality.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Use_next-gen_formats\"><\/span>Use next-gen formats<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Newer image formats like WebP and AVIF can provide better compression than PNG or JPG. Using these formats, you may be able to reduce image size by 30% or more. The downside is that not all browsers support them, so you\u2019ll need to provide fallbacks for PNG\/JPG. You can use a service like Cloudinary to automatically generate and serve the most appropriate image format based on a user\u2019s browser.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Add_width_and_height_attributes-2\"><\/span>Add width and height attributes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Including width and height attributes on your tags allows the browser to allocate the proper space for an image before it loads. This avoids layout shifts that can happen when an image loads at an unexpected size. Simply add width and height attributes that match the actual pixel dimensions of your image. For example:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Lazy_load_images\"><\/span>Lazy load images<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Lazy loading images means delaying the loading of offscreen images until the user scrolls to them. This speeds up initial page load and can reduce CLS. You&#8217;ll need to use a JavaScript library like LazySizes to lazy load your images.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Use_responsive_images\"><\/span>Use responsive images<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>For the best user experience on all devices, you should use responsive images that scale nicely to fit any viewport size. Make sure your images aren&#8217;t wider than the content they&#8217;re in, and consider using max-width: 100% for fluid responsive images.<\/p>\n\n\n\n<p>By implementing these image optimizations, you&#8217;ll see faster page loads, less layout shifting, and an overall improved user experience on your site. Your CLS score and other Core Web Vitals will start to improve as a result.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Using_CSS_and_JavaScript_to_Control_Layout_Shifts\"><\/span>Using CSS and JavaScript to Control Layout Shifts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Cumulative Layout Shift (CLS) refers to the movement of visible page content that occurs between the time a user requests a page and the page is loaded by the browser. This can be disorienting for users and negatively impact their experience. By optimizing CLS, you can improve user experience and search engine optimization.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Using_CSS_Techniques\"><\/span>Using CSS Techniques<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>One way to optimize CLS is by using CSS techniques like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Specifying fixed width containers: This ensures content within the container will not shift. For example:<\/li>\n<\/ul>\n\n\n\n<p>css<\/p>\n\n\n\n<p>.container {<\/p>\n\n\n\n<p>width: 600px;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>.container {<\/p>\n\n\n\n<p>width: 600px;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adding padding to elements: Adding padding creates invisible space around an element so if it moves, it is less likely to bump into or overlap other elements. For example:<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>css<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.element {\n\npadding: 10px;\n\n}<\/code><\/pre>\n\n\n\n<p>Using relative or absolute positioning: This allows you to precisely position elements relative to each other so they stay in the same place. For example:<\/p>\n\n\n\n<p>css<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.element {\n\nposition: relative;\n\ntop: 10px;\n\nleft: 20px;\n\n}<\/code><\/pre>\n\n\n\n<p>Loading non-essential CSS\/JS asynchronously: This delays loading of non-critical CSS and JS until after the page has rendered, preventing layout shifts from occurring.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Using_JavaScript\"><\/span>Using JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>To control layout shifts, you can also use JavaScript to:<\/p>\n\n\n\n<p>Set fixed height elements: Give elements a fixed height so content within them does not shift. For example:<\/p>\n\n\n\n<p>js<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>element.style.height = '200px';<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Load content asynchronously: Use <code>async<\/code> or <code>defer<\/code> attributes to load non-essential scripts asynchronously after page load. This prevents them from impacting page layout.<\/li>\n\n\n\n<li>Use Intersection Observer: This allows you to load elements as they enter the viewport, preventing layout shifts from occurring as elements load in.<\/li>\n<\/ul>\n\n\n\n<p>Optimizing CLS may require making changes to both your CSS and JavaScript. But improving the user experience and search ranking of your site will make the effort worth it. With some experimentation, you&#8217;ll be well on your way to understanding and controlling layout shifts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Setting_Up_Monitoring_to_Catch_CLS_Regressions\"><\/span>Setting Up Monitoring to Catch CLS Regressions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>To properly monitor for CLS regressions, you\u2019ll want to set up some tracking. The core metrics to keep an eye on are:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"CLS_Score\"><\/span>CLS Score<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Your overall CLS score is the key indicator of how much unexpected layout shifting is happening on your site. Aim for a score under 0.1, which Google considers \u201cgood\u201d. Check your CLS score regularly in your analytics platform or web performance tool like Lighthouse. Look for any spikes or upward trends, which could indicate a regression.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Element_Shift_Count\"><\/span>Element Shift Count<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The total number of elements on your page that shifted unexpectedly. More shifts mean a higher chance of a poor user experience. Look for pages with a high volume of shifts and investigate why those elements are moving around. See if there are any fixes you can implement.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Most_Shifted_Elements\"><\/span>Most Shifted Elements<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Pay attention to which specific elements on your pages are shifting the most. Things like ads, images, and third-party embeds are common culprits. Check if there are any issues with how those elements are loaded or sized that you can optimize.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Monitoring_Frequency\"><\/span>Monitoring Frequency<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>It\u2019s a good idea to check on your key CLS metrics at least once a week. For high-traffic pages, consider monitoring 2-3 times a week. The more often you check in, the quicker you can catch any regressions and make fixes before they impact too many users.<\/p>\n\n\n\n<p>You should also monitor CLS after any major changes to your site, like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A site redesign or theme update<\/li>\n\n\n\n<li>Switching to a new ad network<\/li>\n\n\n\n<li>Adding a new third-party tool<\/li>\n\n\n\n<li>Optimizing images or making other resource changes<\/li>\n<\/ul>\n\n\n\n<p>Setting up consistent CLS monitoring and alerts will help ensure your users continue to have a smooth, shifting-free experience on your website. Staying on top of your metrics and investigating issues quickly can help prevent CLS regressions from happening in the first place. Keep optimizing and improving\u2014your users will thank you!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Cumulative_Layout_Shift_FAQs_Your_Top_Questions_Answered\"><\/span>Cumulative Layout Shift FAQs: Your Top Questions Answered<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Cumulative Layout Shift (CLS) is an important metric to understand if you want fast, user-friendly web pages. This FAQ will answer your top questions about CLS and how to optimize it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_exactly_is_Cumulative_Layout_Shift\"><\/span>What exactly is Cumulative Layout Shift?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Cumulative Layout Shift or CLS measures how much your page layout changes as elements shift around after the page has loaded. If a user is trying to click a link or button but it moves suddenly, it leads to a poor experience. CLS quantifies this effect so you can improve it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_is_CLS_calculated\"><\/span>How is CLS calculated?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>CLS is calculated by Chrome DevTools and other tools. They track how much each visible element moves from its original position after the page has loaded. The scores of all movements are then summed to get the total CLS. A lower score is better.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_causes_high_CLS\"><\/span>What causes high CLS?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Some common causes of CLS include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Images loading in slowly: As images load in, the content below them gets pushed down, causing layout shifts.<\/li>\n\n\n\n<li>Ads: When ads load in after the page content, they push other elements down and sideways.<\/li>\n\n\n\n<li>JavaScript: JS that manipulates the page after load can trigger shifts.<\/li>\n\n\n\n<li>CSS: Stylesheets that change element sizes or positions after load lead to layout changes.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_can_I_improve_my_CLS_score\"><\/span>How can I improve my CLS score?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Here are some tips to optimize your CLS:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lazy load images, ads and other media. Only load them as the user scrolls to them.<\/li>\n\n\n\n<li>Add width and height attributes to images so the browser can allocate space for them immediately.<\/li>\n\n\n\n<li>Minimize the use of CSS and JS that change the layout after the initial page load.<\/li>\n\n\n\n<li>Use CSS grid, flexbox and position: sticky to create more robust layouts.<\/li>\n\n\n\n<li>Consider not using ads if they significantly impact CLS. User experience should come first.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_a_good_CLS_score_to_aim_for\"><\/span>What is a good CLS score to aim for?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>According to Google, a CLS score under 0.1 is considered good, under 0.25 is average, and over 0.5 needs improvement. The lower the score the better, so aim for under 0.1 if possible. Continually optimizing your CLS will result in faster, more user-friendly web pages.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>So now you know what CLS is all about and how to tackle it. The key is not to get overwhelmed &#8211; start with the basics, audit your site, and make improvements incrementally. Focus on optimizing your web fonts, limiting dynamic content, and simplifying your page layouts. Measure your CLS in the field, see what&#8217;s working, then build on your successes.<\/p>\n\n\n\n<p>Improving CLS may seem tedious, but the payoff in user experience and search ranking is huge. Keep at it and soon a high CLS score will be a thing of the past. Your site visitors will thank you, and so will your place in the search results. Tackle that CLS and happy optimizing! You&#8217;ve got this.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You&#8217;ve probably heard web developers and SEO experts talk about Cumulative Layout Shift lately. But what exactly is CLS and why does it matter? In short, CLS refers to the movement of visible page content, like images, ads or paragraphs, that occurs after a page has loaded. When a user is trying to interact with [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":135,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[10,23],"class_list":["post-29","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo","tag-mobile","tag-popular"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Complete Guide to Understanding and Improving Cumulative Layout Shift - Xengage Insights<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Complete Guide to Understanding and Improving Cumulative Layout Shift - Xengage Insights\" \/>\n<meta property=\"og:description\" content=\"You&#8217;ve probably heard web developers and SEO experts talk about Cumulative Layout Shift lately. But what exactly is CLS and why does it matter? In short, CLS refers to the movement of visible page content, like images, ads or paragraphs, that occurs after a page has loaded. When a user is trying to interact with [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/\" \/>\n<meta property=\"og:site_name\" content=\"Xengage Insights\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-01T17:35:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-20T19:44:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1100\" \/>\n\t<meta property=\"og:image:height\" content=\"824\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Xengage\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Xengage\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/\"},\"author\":{\"name\":\"Xengage\",\"@id\":\"https:\/\/xengage.com\/insights\/#\/schema\/person\/d2ac92e40345bccdc6af9fd6ec7d0aca\"},\"headline\":\"The Complete Guide to Understanding and Improving Cumulative Layout Shift\",\"datePublished\":\"2023-12-01T17:35:17+00:00\",\"dateModified\":\"2024-12-20T19:44:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/\"},\"wordCount\":3302,\"publisher\":{\"@id\":\"https:\/\/xengage.com\/insights\/#organization\"},\"image\":{\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg\",\"keywords\":[\"Mobile\",\"popular\"],\"articleSection\":[\"SEO\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/\",\"url\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/\",\"name\":\"The Complete Guide to Understanding and Improving Cumulative Layout Shift - Xengage Insights\",\"isPartOf\":{\"@id\":\"https:\/\/xengage.com\/insights\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg\",\"datePublished\":\"2023-12-01T17:35:17+00:00\",\"dateModified\":\"2024-12-20T19:44:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#primaryimage\",\"url\":\"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg\",\"contentUrl\":\"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg\",\"width\":1100,\"height\":824},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/xengage.com\/insights\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Complete Guide to Understanding and Improving Cumulative Layout Shift\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/xengage.com\/insights\/#website\",\"url\":\"https:\/\/xengage.com\/insights\/\",\"name\":\"Xengage Insights\",\"description\":\"Digital Marketing &amp; Technology Blog\",\"publisher\":{\"@id\":\"https:\/\/xengage.com\/insights\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/xengage.com\/insights\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/xengage.com\/insights\/#organization\",\"name\":\"Xengage Insights\",\"url\":\"https:\/\/xengage.com\/insights\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xengage.com\/insights\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/2024\/01\/cropped-xengage-logo.jpg\",\"contentUrl\":\"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/2024\/01\/cropped-xengage-logo.jpg\",\"width\":512,\"height\":512,\"caption\":\"Xengage Insights\"},\"image\":{\"@id\":\"https:\/\/xengage.com\/insights\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/xengage.com\/insights\/#\/schema\/person\/d2ac92e40345bccdc6af9fd6ec7d0aca\",\"name\":\"Xengage\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/xengage.com\/insights\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/acaa5835a18f0598852d95ace0504d2d1e12e6eb408fec04921d24eba14c2057?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/acaa5835a18f0598852d95ace0504d2d1e12e6eb408fec04921d24eba14c2057?s=96&d=mm&r=g\",\"caption\":\"Xengage\"},\"sameAs\":[\"https:\/\/xengage.com\/insights\/cms\"],\"url\":\"https:\/\/xengage.com\/insights\/author\/xengage\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Complete Guide to Understanding and Improving Cumulative Layout Shift - Xengage Insights","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/","og_locale":"en_US","og_type":"article","og_title":"The Complete Guide to Understanding and Improving Cumulative Layout Shift - Xengage Insights","og_description":"You&#8217;ve probably heard web developers and SEO experts talk about Cumulative Layout Shift lately. But what exactly is CLS and why does it matter? In short, CLS refers to the movement of visible page content, like images, ads or paragraphs, that occurs after a page has loaded. When a user is trying to interact with [&hellip;]","og_url":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/","og_site_name":"Xengage Insights","article_published_time":"2023-12-01T17:35:17+00:00","article_modified_time":"2024-12-20T19:44:06+00:00","og_image":[{"width":1100,"height":824,"url":"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg","type":"image\/jpeg"}],"author":"Xengage","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Xengage","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#article","isPartOf":{"@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/"},"author":{"name":"Xengage","@id":"https:\/\/xengage.com\/insights\/#\/schema\/person\/d2ac92e40345bccdc6af9fd6ec7d0aca"},"headline":"The Complete Guide to Understanding and Improving Cumulative Layout Shift","datePublished":"2023-12-01T17:35:17+00:00","dateModified":"2024-12-20T19:44:06+00:00","mainEntityOfPage":{"@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/"},"wordCount":3302,"publisher":{"@id":"https:\/\/xengage.com\/insights\/#organization"},"image":{"@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#primaryimage"},"thumbnailUrl":"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg","keywords":["Mobile","popular"],"articleSection":["SEO"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/","url":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/","name":"The Complete Guide to Understanding and Improving Cumulative Layout Shift - Xengage Insights","isPartOf":{"@id":"https:\/\/xengage.com\/insights\/#website"},"primaryImageOfPage":{"@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#primaryimage"},"image":{"@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#primaryimage"},"thumbnailUrl":"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg","datePublished":"2023-12-01T17:35:17+00:00","dateModified":"2024-12-20T19:44:06+00:00","breadcrumb":{"@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#primaryimage","url":"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg","contentUrl":"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/screen-layout-tablet.jpg","width":1100,"height":824},{"@type":"BreadcrumbList","@id":"https:\/\/xengage.com\/insights\/the-complete-guide-to-understanding-and-improving-cumulative-layout-shift\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/xengage.com\/insights\/"},{"@type":"ListItem","position":2,"name":"The Complete Guide to Understanding and Improving Cumulative Layout Shift"}]},{"@type":"WebSite","@id":"https:\/\/xengage.com\/insights\/#website","url":"https:\/\/xengage.com\/insights\/","name":"Xengage Insights","description":"Digital Marketing &amp; Technology Blog","publisher":{"@id":"https:\/\/xengage.com\/insights\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/xengage.com\/insights\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/xengage.com\/insights\/#organization","name":"Xengage Insights","url":"https:\/\/xengage.com\/insights\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xengage.com\/insights\/#\/schema\/logo\/image\/","url":"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/2024\/01\/cropped-xengage-logo.jpg","contentUrl":"https:\/\/xengage.com\/insights\/cms\/wp-content\/uploads\/2024\/01\/cropped-xengage-logo.jpg","width":512,"height":512,"caption":"Xengage Insights"},"image":{"@id":"https:\/\/xengage.com\/insights\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/xengage.com\/insights\/#\/schema\/person\/d2ac92e40345bccdc6af9fd6ec7d0aca","name":"Xengage","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/xengage.com\/insights\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/acaa5835a18f0598852d95ace0504d2d1e12e6eb408fec04921d24eba14c2057?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/acaa5835a18f0598852d95ace0504d2d1e12e6eb408fec04921d24eba14c2057?s=96&d=mm&r=g","caption":"Xengage"},"sameAs":["https:\/\/xengage.com\/insights\/cms"],"url":"https:\/\/xengage.com\/insights\/author\/xengage\/"}]}},"_links":{"self":[{"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/posts\/29","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/comments?post=29"}],"version-history":[{"count":2,"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/posts\/29\/revisions"}],"predecessor-version":[{"id":144,"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/posts\/29\/revisions\/144"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/media\/135"}],"wp:attachment":[{"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/media?parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/categories?post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xengage.com\/insights\/wp-json\/wp\/v2\/tags?post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}