Tested using Chrome 102.0.5005.61 (runtime settings).
| Metric | Value |
|---|---|
| Page metrics | |
| Performance score | 98 |
| Total page size | 155.7 KB |
| Requests | 11 |
| Timing metrics | |
| TTFB | 319 ms |
| First Paint | 409 ms |
| Fully Loaded | 746 ms |
| Google Web Vitals | |
| TTFB | 319 ms |
| First Contentful Paint (FCP) | 409 ms |
| Largest Contentful Paint (LCP) | 573 ms |
| Cumulative Layout Shift (CLS) | 0.00 |
| Total Blocking Time | 29 ms |
| Max Potential FID | 79 ms |
| CPU metrics | |
| CPU long tasks | 1 |
| CPU last long task happens at | 499 ms |
| Visual Metrics | |
| First Visual Change | 467 ms |
| Speed Index | 508 ms |
| Visual Complete 85% | 600 ms |
| Visual Complete 99% | 600 ms |
| Last Visual Change | 667 ms |
Use--filmstrip.showAll to show all filmstrips.
0.5 sFirst Contentful Paint 409 msuserTimingHeader 411 msFirst Visual Change 467 msLayout Shift 0.00037 477 msuserTimingFooter 498 msCPU Long Task duration 79 ms
0.6 sDOM Content Loaded Time 531 msPage Load Time 533 msLCP <IMG> 573 msVisual Complete 85% 600 msVisual Complete 95% 600 msVisual Complete 99% 600 msThe coach helps you find performance problems on your web page using web performance best practice rules. And gives you advice on privacy and best practices.
| Title | Advice | Score |
|---|---|---|
| Don't scale images in the browser (avoidScalingImages) | The page has 4 images that are scaled more than 100 pixels. It would be better if those images are sent so the browser don't need to scale them. | 60 |
| Description: It's easy to scale images in the browser and make sure they look good in different devices, however that is bad for performance! Scaling images in the browser takes extra CPU time and will hurt performance on mobile. And the user will download extra kilobytes (sometimes megabytes) of data that could be avoided. Don't do that, make sure you create multiple version of the same image server-side and serve the appropriate one. | ||
| Offenders: | ||
| Inline CSS for faster first render (inlineCss) | The page has both inline CSS and CSS requests even though it uses a HTTP/2-ish connection. If you have many users on slow connections, it can be better to only inline the CSS. Run your own tests and check the waterfall graph to see what happens. | 95 |
| Description: In the early days of the Internet, inlining CSS was one of the ugliest things you can do. That has changed if you want your page to start rendering fast for your user. Always inline the critical CSS when you use HTTP/1 and HTTP/2 (avoid doing CSS requests that block rendering) and lazy load and cache the rest of the CSS. It is a little more complicated when using HTTP/2. Does your server support HTTP push? Then maybe that can help. Do you have a lot of users on a slow connection and are serving large chunks of HTML? Then it could be better to use the inline technique, becasue some servers always prioritize HTML content over CSS so the user needs to download the HTML first, before the CSS is downloaded. | ||
| Have a fast largest contentful paint (largestContentfulPaint) | You can add importance="high" to the image to increase the load priority that is rolling out soon in Chrome. | 95 |
| Description: Largest contentful paint is one of Google Web Vitals and reports the render time of the largest image or text block visible within the viewport, relative to when the page first started loading. To be fast according to Google, it needs to render before 2.5 seconds and results over 4 seconds is poor performance. | ||
| Avoid CPU Long Tasks (longTasks) | The page has 1 CPU long task with the total of 79 ms. The total blocking time is 29 ms . However the CPU Long Task is depending on the computer/phones actual CPU speed, so you should measure this on the same type of the device that your user is using. Use Geckoprofiler for Firefox or Chromes tracelog to debug your long tasks. | 80 |
| Description: Long CPU tasks locks the thread. To the user this is commonly visible as a "locked up" page where the browser is unable to respond to user input; this is a major source of bad user experience on the web today. However the CPU Long Task is depending on the computer/phones actual CPU speed, so you should measure this on the same type of the device that your user is using. To debug you should use the Chrome timeline log and drag/drop it into devtools or use Firefox Geckoprofiler. | ||
| Offenders: | ||
Your best practice score is perfect!
Your privacy score is perfect!
| Page info | |
|---|---|
| Title | Welcome to the wonderful world of Web Performance |
| Width | 1350 |
| Height | 4022 |
| DOM elements | 370 |
| Avg DOM depth | 8 |
| Max DOM depth | 13 |
| Iframes | 0 |
| Script tags | 4 |
| Local storage | 0 b |
| Session storage | 0 b |
| HTML vs AMP | Plain good HTML page |
Data collected using Wappalyzer. Use --browsertime.firefox.includeResponseBodies htmlor --browsertime.chrome.includeResponseBodies htmlto help Wappalyser find more information about technologies used.
| Technology | Confidence | Category |
|---|---|---|
| Netlify | 100 | PaaS CDN |
| Clipboard.js 2.0.4 | 100 | Miscellaneous |
| Visual Metrics | |
|---|---|
| First Visual Change | 467 ms |
| Speed Index | 508 ms |
| Visual Complete 85% | 600 ms |
| Visual Complete 95% | 600 ms |
| Visual Complete 99% | 600 ms |
| Last Visual Change | 667 ms |
| Visual Readiness | 200 ms |
| Navigation Timing | |
|---|---|
| backEndTime | 319 ms |
| domContentLoadedTime | 531 ms |
| domInteractiveTime | 499 ms |
| domainLookupTime | 0 ms |
| frontEndTime | 211 ms |
| pageDownloadTime | 3 ms |
| pageLoadTime | 533 ms |
| redirectionTime | 0 ms |
| serverConnectionTime | 149 ms |
| serverResponseTime | 147 ms |
| Google Web Vitals | |
|---|---|
| Time to first byte (TTFB) | 319 ms |
| First Contentful Paint (FCP) | 409 ms |
| Largest Contentful Paint (LCP) | 573 ms |
| Cumulative Layout Shift (CLS) | 0.00 |
| Total Blocking Time (TBT) | 29 ms |
| Extra timings | |
|---|---|
| TTFB | 319 ms |
| First Paint | 409 ms |
| Load Event End | 533 ms |
| Fully loaded | 746 ms |
| User Timing marks | |
|---|---|
| userTimingHeader | 411 ms |
| userTimingFooter | 498 ms |
| User Timing measures | ||
|---|---|---|
| Name | Start time | Duration |
| exampleMeasurement | 411 ms | 88 ms |
When in time the page main content is rendered (collected using the Largest Contentful Paint API). Read more about Largest Contentful Paint.
| Element type | IMG |
| Element/tag | <img src="/img/team.png" alt="sitespeed.io Logo with My Little Pony style cats" elementtiming="logo"> |
| Render time | 573 ms |
| Load time | 454 ms |
| URL | https://www.sitespeed.io/img/team1px.png |
| Size (width*height) | 216500 |
| DOM path | |
| main > div:eq(0) > div > div:eq(0) > picture > img> main > div:eq(0) > div > div:eq(0) > picture > img> | |
0.00037 cumulative layout shift collected from the Cumulative Layout Shift API.
These HTML elements contribute most to the Cumulative Layout Shifts of the page. The higher score, the more layout shift.
| Score | HTML Element |
|---|---|
| 0.00037 | <div class="grid"></div> |
| body > nav > div > div | |

The elements that have shifted place is highlighted in the image (that have a higher value than 0.01). If the element shifted outside of the viewport, you will not see it there. It can be hard to understand what content that has shifted, if that's the case, checkout the video or the filmstrip of the run.
| Id | URL | Image | Tag | Render time | Load time | Natural width | Natural height |
|---|---|---|---|---|---|---|---|
| header-logo | https://www.sitespeed.io/img/sitespeed-logo-2c.png | ![]() | IMG | 573 ms | 442 ms | 324 | 100 |
| logo | https://www.sitespeed.io/img/team1px.png | ![]() | IMG | 573 ms | 454 ms | 500 | 433 |
There are no Server Timings.
There are no custom configured scripts.
There are no custom extra metrics from scripting.
| name | value |
|---|---|
| AudioHandlers | 0 |
| Documents | 4 |
| Frames | 1 |
| JSEventListeners | 4 |
| LayoutObjects | 647 |
| MediaKeySessions | 0 |
| MediaKeys | 0 |
| Nodes | 699 |
| Resources | 10 |
| ContextLifecycleStateObservers | 5 |
| V8PerContextDatas | 3 |
| WorkerGlobalScopes | 0 |
| UACSSResources | 0 |
| RTCPeerConnections | 0 |
| ResourceFetchers | 4 |
| AdSubframes | 0 |
| DetachedScriptStates | 2 |
| ArrayBufferContents | 1 |
| LayoutCount | 7 |
| RecalcStyleCount | 6 |
| LayoutDuration | 78 |
| RecalcStyleDuration | 7 |
| DevToolsCommandDuration | 43 |
| ScriptDuration | 46 |
| V8CompileDuration | 1 |
| TaskDuration | 317 |
| TaskOtherDuration | 141 |
| ThreadTime | 0 |
| ProcessTime | 0 |
| JSHeapUsedSize | 2917684 |
| JSHeapTotalSize | 3358720 |
| FirstMeaningfulPaint | 573 |
How the page is built.
| Summary | |
|---|---|
| HTTP version | HTTP/2.0 |
| Total requests | 11 |
| Total domains | 1 |
| Total transfer size | 155.7 KB |
| Total content size | 201.0 KB |
| Responses missing compression | 4 |
| Number of cookies | 0 |
| Third party cookies | 0 |
| Requests per response code | |
|---|---|
| 200 | 11 |
| URL | Type | Transfer Size | Content Size |
|---|---|---|---|
| https://www.sitespee...shboard-front.png | image | 51.4 KB | 51.3 KB |
| https://www.sitespeed.io/img/team1px.png | image | 49.2 KB | 49.1 KB |
| https://www.sitespeed.io/img/public.png | image | 12.8 KB | 12.7 KB |
| https://www.sitespeed.io/img/pippi.png | image | 10.7 KB | 10.6 KB |
| https://www.sitespeed.io/ | html | 9.1 KB | 35.7 KB |
| https://www.sitespee.../sitespeed.io.ico | favicon | 6.5 KB | 6.4 KB |
| https://www.sitespee.../js/prism-1.15.js | javascript | 6.1 KB | 16.2 KB |
| https://www.sitespee...speed-logo-2c.png | image | 3.6 KB | 3.5 KB |
| https://www.sitespee...oard-2.0.4.min.js | javascript | 3.3 KB | 10.5 KB |
| https://www.sitespee...lack-logo-120.png | image | 1.7 KB | 1.6 KB |
| https://www.sitespee...ss/prism-1.15.css | css | 1.2 KB | 3.5 KB |
| Content | Header Size | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| html | 0 b | 9.1 KB | 35.7 KB | 1 |
| css | 0 b | 1.2 KB | 3.5 KB | 1 |
| javascript | 0 b | 9.4 KB | 26.7 KB | 2 |
| image | 0 b | 129.5 KB | 128.9 KB | 6 |
| favicon | 0 b | 6.5 KB | 6.4 KB | 1 |
| Total | 0 b | 155.7 KB | 201.0 KB | 11 |
| Domain | Total download time | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| www.sitespeed.io | 1.017 s | 155.7 KB | 201.0 KB | 11 |
| type | min | median | max |
|---|---|---|---|
| Expires | 0 seconds | 6 weeks | 6 weeks |
| Content | Transfer Size | Requests |
|---|---|---|
| html | 0 b | 0 |
| css | 0 b | 0 |
| javascript | 0 b | 0 |
| image | 0 b | 0 |
| font | 0 b | 0 |
| favicon | 6.5 KB | 1 |
| Total | 6.5 KB | 1 |
Includes requests done after onLoad.
| Content | Transfer Size | Requests |
|---|---|---|
| html | 0 b | 0 |
| css | 0 b | 0 |
| javascript | 0 b | 0 |
| image | 0 b | 0 |
| font | 0 b | 0 |
| favicon | 6.5 KB | 1 |
| Total | 6.5 KB | 1 |
Render blocking information directly from Chrome.
| Blocking | In body parser blocking | Potentially blocking |
|---|---|---|
| 1 | 0 | 0 |
| URL | Type |
|---|---|
| https://www.sitespee.../js/prism-1.15.js | non_blocking |
| https://www.sitespee...oard-2.0.4.min.js | non_blocking |
| https://www.sitespee...ss/prism-1.15.css | blocking |
Third party requests categorised by Third party web.
Calculated using .*sitespeed.* (use --firstParty to configure).
| Content | Header Size | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| html | 0 b | 9.1 KB | 35.7 KB | 1 |
| css | 0 b | 1.2 KB | 3.5 KB | 1 |
| javascript | 0 b | 9.4 KB | 26.7 KB | 2 |
| image | 0 b | 129.5 KB | 128.9 KB | 6 |
| font | 0 b | 0 b | 0 b | 0 |
| favicon | 0 b | 6.5 KB | 6.4 KB | 1 |
| Total | N/A | 155.7 KB | 201.0 KB | 11 |
| Content | Header Size | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| html | 0 b | 0 b | 0 b | 0 |
| css | 0 b | 0 b | 0 b | 0 |
| javascript | 0 b | 0 b | 0 b | 0 |
| image | 0 b | 0 b | 0 b | 0 |
| font | 0 b | 0 b | 0 b | 0 |
| Total | N/A | N/A | N/A |

afterPageCompleteCheck.png

layoutShift.png

largestContentfulPaint.png