With Core Web Vitals, Google is on a mission to improve web performance. Why? Because Google’s business is primarily online-based, people are pushed back to native apps by slow web pages and web applications.
Hundreds of five-star reviews have been left for the F60 host. Every single day.
Logo of Trust pilot
The degree of experience and support provided by F60 host live chat engineers is fantastic. For large sites, especially e-commerce, 24/7 assistance is a game-changer.
Zaremba, Leland
Zaremba, Leland
Figure out why.
The keywords in the search term, the use of those keywords inside your website, and the popularity of your page based on the amount (and quality) of links from other sites all play a role in where you appear in Google search results. Google will begin evaluating pages based on performance starting in August 2021.
This post will show you how to improve your site’s Core Web Vitals metrics using Google’s Core Web Vitals measurements.
The importance of content has not changed. When two sites with identical text and popularity are compared, the one that provides the better browsing experience is given a higher priority in Google search results.
High-performance sites are now eligible for inclusion in the mobile search carousel, in addition to a better page rank. Previously, this was reserved for Accelerated Mobile Pages (AMP), which required you to migrate content to a separate Google-hosted site. AMP has received some backlash, particularly because the pages are not necessarily faster than a well-optimized WordPress or static site. However, this is no longer a requirement.
Whatever option you select, the faster and more responsive your site is, the greater its chances of appearing higher in Google search results.
When you consider that the average page is over 2 MB in size, performs over 60 HTTP requests, and takes 16 seconds to fully render on a mobile device, you can see that there’s room for improvement. We’ll show you how to make such improvements in the most efficient way possible.
There are four key ranking factors to examine before you start to assess performance:
Your site’s performance will be evaluated once you’ve met these standards.
It’s critical that your site loads quickly renders rapidly, and responds promptly. But how quickly does it feel to users?
Technical metrics are reported by performance measurement programs such as browser DevTools:
These can be used to pinpoint bottlenecks like server load, CMS caching, browser caching, download speeds, and JavaScript efficiency. However, they are unable to discern whether a page produces a positive or negative user experience. Consider the following scenario:
Because it’s performing a big amount of unoptimized JavaScript code, an app could download rapidly and appear, yet become unresponsive after the first interaction.
As users send messages, a chat program could download data indefinitely. Despite the fact that the page appears to be responsive, an assessment tool may assume it never finished loading.
Google’s Core Web Vitals is an attempt to overcome these problems.
Google’s Core Web Vitals (CWV) are three performance metrics that assess real-world user experience:
By the end of August 2021, this new Google algorithm upgrade will have gone global. The Core Web Vitals measurements largely affect mobile search results, but if the experiment is successful, desktop equivalents will follow.
The LCP, FID, and CLS scores of a page are based on real user metrics collected anonymously through the Chrome browser during the last 28 days. Because the 75th percentile is calculated rather than an average because these measures can fluctuate depending on the user’s device, connection, and other concurrent activities.
In other words, all user metrics are ranked from best to worst, and the value at the halfway point is used. As a result, three out of every four site visitors will receive that level of service or better.
Any page that receives a good (green) score for all three Core Web Vitals criteria will rank higher in search results and appear in the Google News app’s “Top Stories” carousel.
The algorithm used to generate a metric, the tools you may use to determine a page’s score, common reasons of low scores, and steps you can take to fix performance concerns are all covered in the sections below.
Loading performance is measured by the largest contentful paint. In other words, how rapidly does usable material appear on a page?
LCP measures how long it takes for the largest image or block of text within the browser viewport to become visible (above the fold). A hero picture, banner, headline, or huge text block will be the most visible object in most circumstances.
The largest Contentful Paint analysis can be used for any of the following elements:
<img>
element)<image>
embedded into a <svg>
)<video>
element)background-image url()
property)Pages that complete the Largest Contentful Paint within the first 2.5 seconds of loading are regarded as satisfactory (green). Poor (red) pages are those that take more than 4.0 seconds to load:
LCP is the easiest Core Web Vital metric to comprehend, but it may not be obvious which element will be chosen for analysis.
The DevTools Lighthouse panel is provided in Chromium-based browsers such as Chrome, Edge, Brave, Opera, and Vivaldi. Open DevTools from the browser menu – usually at More tools > Developer tools or the keyboard shortcuts Ctrl | Cmd + Shift + I or F12 – then navigate to the Lighthouse tab (older editions may name it Audit)
Make a Mobile Performance report, and then look at the Performance part. An expanded segment identifies the selected element in the Largest Contentful Paint time:
If you don’t have access to a Chromium-based browser, you can get similar results using the online PageSpeed Insights and web.dev Measure tools:
An LCP indicator is also visible in the DevTools Performance panel. To view the report, first click the circular Record icon, then reload your page. Finally, click the Stop button. To identify the element and see a summary of statistics, click the LCP icon in the Timings section.
Web Vitals is a Chrome extension that may also be loaded on other Chromium-based browsers. It calculates Core Web Vitals metrics for each site you visit, and the indicator changes colour depending on the outcome. You may also view more LCP details by clicking the extension icon:
If your site is added as a property, Google’s Search Console now has a Core Web Vitals area. The report depicts the evolution of CWV measures over time. It’s worth noting that it doesn’t identify specific LCP metrics, and it’s limited to sites with a reasonable amount of traffic:
For a specific URL, the Chrome User Experience Report lets you access real-time usage statistics, including LCP, across different countries, connections, and devices. Because Google BigQuery is a public project, you’ll need to create a Google Cloud Platform account and give billing information. The report will only be meaningful if a URL has a significant amount of traffic.
Finally, the web-vitals JavaScript library is a one-kilobyte script that calculates LCP and other Core Web Vital data for real users on your live site. You can add the following script to your HTML head> because it can be retrieved through a CDN:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My page</title>
<script type="module">
import { getLCP } from 'https://unpkg.com/web-vitals?module';
getLCP(console.log);
</script>
<!-- rest of page -->
getLCP() is an asynchronous function with a callback that is called when the LCP value is calculated (though it may never trigger if the page loads in a background tab). An object containing: is provided to the callback function.
name: the name of the metric (“LCP” in this case)
value: the calculated value
id: a unique ID representing this metric for the current page
delta: the delta between the current value and the last-reported value
entries: an array of entries used in the value calculation
Although it's more practical to transmit the data to a server or Google Analytics for further analysis, the script above outputs the object to the console.
Poor LCP scores are typically caused by slow-loading pages that prevent the largest block from appearing quickly:
A thorough audit can reveal loading issues, but the majority of the time, it’s simply a matter of lowering the amount of data transmitted to the browser. The following suggestions will assist you in improving your LCP score:
loading="lazy"
attribute. Add width and height attributes to ensure appropriate space is reserved on the page before the image completes loading.<link>
block at the top of the page, then load further stylesheets asynchronously.The First Input Delay is a metric that determines how responsive your page is. In other words, how fast does it react to user inputs like clicking, pressing, and scrolling?
The time between a user’s interaction and the browser executing their request is measured by the FID metric. It does not take into account the time it takes to execute the handler function, which would normally process the input and update the DOM.
Pages with a FID time of less than 100 milliseconds are regarded as satisfactory (green). Pages that take more than 300 milliseconds to load are judged bad (red):
It’s difficult to replicate First Input Delay because it can only be measured when the page is served to a real user who interacts with it. As a result, the outcome is determined by the processor speed and capabilities of each device.
In the DevTools Lighthouse panel or PageSpeed Insights, FID is not calculated. They can, however, establish the Total Blocking Time (TBT). For the First Input Delay, this is an acceptable estimate. It calculates the time difference between:
The First Contentful Paint (FCP), or the point at which page content begins to render, and the Last Contentful Paint (LCP).
The Time to Interactive (TTI), or the time at which the page can respond to user input. TTI is presumed when no long-running tasks are active and fewer than three HTTP requests have yet to complete.
Like LCP, the Chrome User Experience Report allows you to query real FID statistics recorded across different countries, connections, and devices for a specific URL.
The web-vitals JavaScript library can also calculate FID metrics for real users on your live site. You can add the following script to your HTML <head>
to output FID metrics to a callback function:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My page</title>
<script type="module">
import { getFID } from 'https://unpkg.com/web-vitals?module';
getFID(console.log);
</script>
<!-- rest of page -->
Poor FID and TBT scores are usually caused by client-side code that hogs the processor, such as:
Large amounts of render-blocking CSS and JavaScript, which cause the page to stall while the code is downloaded and parsed.
Large, time-consuming scripts that begin running as soon as the page is loaded
JavaScript operations that take a long time to complete or aren’t well optimised
Browsers run on a single thread by default, which can only do one task at a time. If a JavaScript function takes a second to run, all other rendering processes are paused for that time. The page is unable to respond to user input, update the DOM, display animations, and so forth. In some outdated browsers, even GIF animations are prohibited.
A client-side JavaScript audit can help discover problems, but most of the time it’s just a matter of deleting superfluous code and ensuring that activities are completed promptly.
The following suggestions will assist you in improving your FID score:
The visual stability of a page is measured by CLS. In other words, does the website content shift or leap around suddenly, especially when it first loads?
When items move without notice or user intervention, CLS generates a score. When reading an article on a mobile device, you’ve surely noticed that the text jumps off-screen and you lose your place. The worst-case scenarios may lead you to click on an inaccurate link.
CLS issues are most noticeable when a large image or commercial loads above the current scroll position, causing a zero-height region to increase by hundreds of pixels in an instant.
The following metrics are multiplied together to get cumulative Layout Shift scores:
Google has made changes to the CLS metric to accommodate the following situations:
Pages sporting a CLS score of 0.1 or less are considered good (green). Pages that exceed 0.25 are considered poor (red):
CLS metrics are calculated in the DevTools Lighthouse panel, PageSpeed Insights, and web.dev Measure tools:
The Web Vitals extension for Google Chrome also shows the CLS metric:
Like LCP and FID, the Chrome User Experience Report allows you to query real CLS statistics recorded across different countries, connections, and devices for a specific URL.
The web-vitals JavaScript library can also calculate CLS metrics for real users on your live site, just as it does with LCP and FID. The following script could be added to your HTML <head>
to output CLS metrics to a callback function:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My page</title>
<script type="module">
import { getCLS } from 'https://unpkg.com/web-vitals?module';
getCLS(console.log);
</script>
<!-- rest of page -->
Poor CLS scores are typically caused by slow-loading page assets and dynamic or unsized DOM elements:
A client-side audit can identify issues, but it’s generally a matter of ensuring that space is reserved for content before it downloads. The server optimization tips suggested for Largest Contentful Paint will have some benefit, but further improvements are possible:
<img>
and <iframe>
tags or use the new CSS aspect-ratio property to ensure appropriate space is reserved on the page before asset downloads.<link>
block at the top of the page, then load additional stylesheets asynchronously.