Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. Learn more.
Serve images in next-gen formats
Image formats like JPEG 2000, JPEG XR, and WebP often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. Learn more.
Ensure text remains visible during webfont load
Leverage the font-display CSS feature to ensure text is user-visible while webfonts are loading. Learn more.
The amount of time it takes for the page to become fully interactive is good
Time to interactive is the amount of time it takes for the page to become fully interactive. Learn more.
The page responds, on average, to most user input in a reasonable amount of time
First CPU Idle marks the first time at which the page's main thread is quiet enough to handle input. Learn more.
Your site responds lower than 50ms to user input (Estimated Input Latency)
Estimated Input Latency is an estimate of how long your app takes to respond to user input, in milliseconds, during the busiest 5s window of page load. If your latency is higher than 50 ms, users may perceive your app as laggy. Learn more.
Properly size images
Serve images that are appropriately-sized to save cellular data and improve load time. Learn more.
Defer offscreen images
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. Learn more.
Minifying CSS files can reduce network payload sizes. Learn more.
Defer unused CSS
Remove unused rules from stylesheets to reduce unnecessary bytes consumed by network activity. Learn more.
Efficiently encode images
Optimized images load faster and consume less cellular data. Learn more.
Enable text compression
Text-based resources should be served with compression (gzip, deflate or brotli) to minimize total network bytes. Learn more.
Server response times are low (TTFB)
Time To First Byte identifies the time at which your server sends a response. Learn more.
Avoid multiple page redirects
Redirects introduce additional delays before the page can be loaded. Learn more.
Preload key requests
Consider using to prioritize fetching resources that are currently requested later in page load. Learn more.
Use video formats for animated content
Large GIFs are inefficient for delivering animated content. Consider using MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF to save network bytes. Learn more
Avoids enormous network payloads
Large network payloads cost users real money and are highly correlated with long load times. Learn more.
Uses efficient cache policy on static assets
A long cache lifetime can speed up repeat visits to your page. Learn more.
Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn more.
Minimizes main-thread work
Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this.
The Time at which the user feels that the base of the page is visible is too long
First Contentful Paint marks the time at which the first text or image is painted. Learn more.
The Time at which the user feels that the primary content of the page is visible is too long
First Meaningful Paint measures when the primary content of a page is visible. Learn more.
Your content of a page are visibly populated too slow
Speed Index shows how quickly the contents of a page are visibly populated. Learn more.
Preconnect to required origins
Consider adding preconnect or dns-prefetch resource hints to establish early connections to important third-party origins. Learn more.
Minimize Critical Requests Depth
The Critical Request Chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load. Learn more.
User Timing marks and measures
Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. Learn more.
99 / 100
First Meaningful Paint