Tested 2024-11-21 04:52:19 using Chrome 131.0.6778.69 (runtime settings).
Metric | Value |
---|---|
Page metrics | |
Performance score | 90 |
Total page size | 99.1 KB |
Requests | 8 |
Timing metrics | |
TTFB | 489 ms |
First Paint | 2.561 s |
Fully Loaded | 3.177 s |
Google Web Vitals | |
TTFB | 489 ms |
First Contentful Paint (FCP) | 2.561 s |
Largest Contentful Paint (LCP) | 2.561 s |
Cumulative Layout Shift (CLS) | 0.00 |
1.952 s | |
Total Blocking Time | 297 ms |
Max Potential FID | 309 ms |
CPU metrics | |
CPU long tasks | 4 |
CPU last long task happens at | 2.885 s |
Visual Metrics | |
First Visual Change | 2.566 s |
Speed Index | 3.456 s |
Visual Complete 85% | 3.000 s |
Visual Complete 99% | 7.033 s |
Last Visual Change | 12.966 s |
Use--filmstrip.showAll
to show all filmstrips.
The 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. Tested using Coach-core version 8.0.2.
Title | Advice | Score |
---|---|---|
Avoid slowing down the critical rendering path (avoidRenderBlocking) | The page has 0 blocking requests and 2 in body parser blocking (2 JavaScript and 0 CSS). | 80 |
Description: The critical rendering path is what the browser needs to do to start rendering the page. Every file requested inside of the head element will postpone the rendering of the page, because the browser need to do the request. Avoid loading JavaScript synchronously inside of the head (you should not need JavaScript to render the page), request files from the same domain as the main document (to avoid DNS lookups) and inline CSS for really fast rendering and a short rendering path. | ||
Offenders: | ||
Don't scale images in the browser (avoidScalingImages) | The page has 1 image 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. | 90 |
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: | ||
Have a fast first contentful paint (firstContentfulPaint) | First contentful paint can be improved (2.561 s). It is in the Google Web Vitals needs improvement range, slower than 1.8 seconds. | 50 |
Description: The First Contentful Paint (FCP) metric measures the time from when the page starts loading to when any part of the page content is rendered on the screen. For this metric, "content" refers to text, images (including background images), <svg> elements, or non-white <canvas> elements. | ||
Have a fast largest contentful paint (largestContentfulPaint) | Largest contentful paint can be improved 2.561 s. It is in the Google Web Vitals needs improvement range, slower than 2.5 seconds. | 80 |
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. | ||
Offenders: | ||
Avoid CPU Long Tasks (longTasks) | The page has 4 CPU long tasks with the total of 2.245 s. The total blocking time is 297 ms and 2 long tasks before first contentful paint with total time of 1.848 s. 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. | 20 |
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: | ||
Avoid extra requests by setting cache headers (cacheHeaders) | The page has 1 request that are missing a cache time. Configure a cache time so the browser doesn't need to download them every time. It will save 2.9 kB the next access. | 90 |
Description: The easiest way to make your page fast is to avoid doing requests to the server. Setting a cache header on your server response will tell the browser that it doesn't need to download the asset again during the configured cache time! Always try to set a cache time if the content doesn't change for every request. | ||
Offenders: | ||
Long cache headers is good (cacheHeadersLong) | The page has 5 requests that have a shorter cache time than 30 days (but still a cache time). | 95 |
Description: Setting a cache header is good. Setting a long cache header (at least 30 days) is even better beacause then it will stay long in the browser cache. But what do you do if that asset change? Rename it and the browser will pick up the new version. | ||
Offenders: |
Your best practice score is perfect!
Title | Advice | Score |
---|---|---|
Use a good Content-Security-Policy header to make sure you you avoid Cross Site Scripting (XSS) attacks. (contentSecurityPolicyHeader) | Set a Content-Security-Policy header to make sure you are not open for Cross Site Scripting (XSS) attacks. You can start with setting a Content-Security-Policy-Report-Only header, that will only report the violation, not stop the download. | 0 |
Description: Content Security Policy is delivered via a HTTP response header, and defines approved sources of content that the browser may load. It can be an effective countermeasure to Cross Site Scripting (XSS) attacks and is also widely supported and usually easily deployed. https://scotthelme.co.uk/content-security-policy-an-introduction/. | ||
Offenders: | ||
Set a referrer-policy header to make sure you do not leak user information. (referrerPolicyHeader) | Set a referrer-policy header to make sure you do not leak user information. | 0 |
Description: Referrer Policy is a new header that allows a site to control how much information the browser includes with navigations away from a document and should be set by all sites. https://scotthelme.co.uk/a-new-security-header-referrer-policy/. | ||
Offenders: |
Page info | |
---|---|
Title | Wikipedia |
Width | 360 |
Height | 1690 |
DOM elements | 1127 |
Avg DOM depth | 9 |
Max DOM depth | 12 |
Iframes | 0 |
Script tags | 4 |
Local storage | 94 B |
Session storage | 0 b |
Network Information API | 4g |
Resource Hints |
---|
preconnect |
https://upload.wikimedia.org/ |
https://en.wikipedia.org/ |
Data collected using Wappalyzerversion 6.10.66.
Use --browsertime.firefox.includeResponseBodies html
or --browsertime.chrome.includeResponseBodies html
to help Wappalyser find more information about technologies used.
Technology | Confidence | Category |
---|---|---|
Apache Traffic Server 9.2.5 | 100 | Web servers |
HSTS | 100 | Security |
Visual Metrics | |
---|---|
First Visual Change | 2.566 s |
Speed Index | 3.456 s |
Largest Image | 2.566 s |
Heading | 3.000 s |
LargestContentfulPaint | 2.566 s |
Last Meaningful Paint | 3.000 s |
Largest Contentful Paint | 2.566 s |
Visual Complete 85% | 3.000 s |
Visual Complete 95% | 7.033 s |
Visual Complete 99% | 7.033 s |
Last Visual Change | 12.966 s |
Visual Readiness | 10.400 s |
Navigation Timing | |
---|---|
backEndTime | 489 ms |
domContentLoadedTime | 3.014 s |
domInteractiveTime | 3.014 s |
domainLookupTime | 90 ms |
frontEndTime | 2.566 s |
pageDownloadTime | 16 ms |
pageLoadTime | 3.071 s |
redirectionTime | 0 ms |
serverConnectionTime | 202 ms |
serverResponseTime | 210 ms |
Google Web Vitals | |
---|---|
Time to first byte (TTFB) | 489 ms |
First Contentful Paint (FCP) | 2.561 s |
Largest Contentful Paint (LCP) | 2.561 s |
Interaction to next paint (INP) | 1.952 s |
Total Blocking Time (TBT) | 297 ms |
First Contentful Paint info | |
---|---|
Elements that needed recalculate style before FCP | 1300 |
Time spent in recalculate style before FCP | 106.279 ms |
Extra timings | |
---|---|
TTFB | 489 ms |
First Paint | 2.561 s |
Load Event End | 3.071 s |
Fully loaded | 3.177 s |
When in time the page main content is rendered (collected using the Largest Contentful Paint API). Read more about Largest Contentful Paint.
Element type | SPAN |
Element/tag | <span class="central-textlogo__image sprite svg-Wikipedia_wordmark"></span> |
Render time | 2.561 s |
Elements that needed recalculate style before LCP | 1300 |
Time spent in recalculate style before LCP | 106.279 ms |
Load time | 1.014 s |
URL | https://www.wikipedi...rite-de847d1a.svg |
Size (width*height) | 3750 |
DOM path | |
main > div:eq(0) > h1 > span> main > div:eq(0) > h1 > span> |
No layout shift detected.
Interaction to Next Paint (INP) is a metric that try to measure responsiveness. It's useful if you are testing user journeys. Read more about Interaction to Next Paint.
The measured latency was 1.952 s.
Event type | mouseover |
Element type | DIV |
Element class name | central-featured-lang lang2 |
Event target | #www-wikipedia-org>main>nav.central-featured>div.central-featured-lang.lang2 |
Load state when the event happened | loading |
Read more about the Long Animation Frames API here here.
The top 10 longest animation frames entries
Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
---|---|---|---|---|
1.448 s | 1.552 s | 36.9 ms | 6.6 ms | 30.3 ms |
No availible script information. |
Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
---|---|---|---|---|
312 ms | 23.6 ms | 350.4 ms | 342.7 ms | 7.7 ms |
No availible script information. |
Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
---|---|---|---|---|
259 ms | 316 ms | 7 ms | 2.7 ms | 4.3 ms |
No availible script information. |
Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
---|---|---|---|---|
60 ms | 105 ms | 21 ms | 4.6 ms | 16.4 ms |
https://www.wikipedia.org/portal/wikipedia.org/assets/js/index-10f5326740.js | ||||
Forced Style And Layout Duration: 41 ms Invoker: https://www.wikipedia.org/portal/wikipedia.org/assets/js/index-10f5326740.js |
Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
---|---|---|---|---|
3 ms | 51.2 ms | 8.8 ms | 1.4 ms | 7.4 ms |
https://www.wikipedia.org/portal/wikipedia.org/assets/js/index-10f5326740.js | ||||
Invoker: #document.onDOMContentLoaded |
Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
---|---|---|---|---|
0 ms | 85.7 ms | 6.3 ms | 0.1 ms | 6.2 ms |
No availible script information. |
name | duration | description |
---|---|---|
cache | 0 | hit-front |
host | 0 | cp3067 |
There are no custom configured scripts.
There are no custom extra metrics from scripting.
name | value |
---|---|
AudioHandlers | 0 |
AudioWorkletProcessors | 0 |
Documents | 8 |
Frames | 3 |
JSEventListeners | 27 |
LayoutObjects | 1878 |
MediaKeySessions | 0 |
MediaKeys | 0 |
Nodes | 3513 |
Resources | 7 |
ContextLifecycleStateObservers | 10 |
V8PerContextDatas | 3 |
WorkerGlobalScopes | 0 |
UACSSResources | 0 |
RTCPeerConnections | 0 |
ResourceFetchers | 8 |
AdSubframes | 0 |
DetachedScriptStates | 2 |
ArrayBufferContents | 1 |
LayoutCount | 9 |
RecalcStyleCount | 10 |
LayoutDuration | 2024 |
RecalcStyleDuration | 139 |
DevToolsCommandDuration | 200 |
ScriptDuration | 58 |
V8CompileDuration | 2 |
TaskDuration | 2836 |
TaskOtherDuration | 412 |
ThreadTime | 14 |
ProcessTime | 16 |
JSHeapUsedSize | 1829516 |
JSHeapTotalSize | 3694592 |
FirstMeaningfulPaint | 2561 |
Name | Display Time | X | Y | Width | Height |
---|---|---|---|---|---|
LargestImage (Wikipedia-logo-v2.png) | 2.566 s | 69 | 45 | 57 | 52 |
<img class="central-featured-logo" src="portal/wikipedia.org/assets/img/Wikipedia-logo-v2.png" srcset="portal/wikipedia.org/assets/img/Wikipedia-logo-v2@1.5x.png 1.5x, portal/wikipedia.org/assets/img/Wikipedia-logo-v2@2x.png 2x" width="200" height="183" alt=""> | |||||
Heading | 3.000 s | 129 | 44 | 152 | 53 |
<h1 class="central-textlogo-wrapper"></h1> | |||||
LargestContentfulPaint | 2.566 s | 131 | 47 | 150 | 25 |
<span class="central-textlogo__image sprite svg-Wikipedia_wordmark"></span> |
How the page is built.
Summary | |
---|---|
HTTP version | HTTP/2.0 |
Total requests | 8 |
Total domains | 2 |
Total transfer size | 99.1 KB |
Total content size | 223.7 KB |
Responses missing compression | 4 |
Number of cookies | 1 |
Third party cookies | 0 |
Requests per response code | |
---|---|
200 | 8 |
URL | Type | Transfer Size | Content Size |
---|---|---|---|
https://www.wikipedi...ia-logo-v2@2x.png | image | 37.3 KB | 36.6 KB |
https://www.wikipedia.org/ | html | 23.8 KB | 97.7 KB |
https://www.wikipedi...rite-de847d1a.svg | svg | 18.6 KB | 49.4 KB |
https://www.wikipedi...dex-10f5326740.js | javascript | 9.5 KB | 26.1 KB |
https://www.wikipedi...ogo_sister@2x.png | image | 4.0 KB | 3.3 KB |
https://upload.wikim...go_-_wordmark.svg | svg | 2.8 KB | 7.3 KB |
https://www.wikipedi...con/wikipedia.ico | favicon | 1.7 KB | 2.7 KB |
https://www.wikipedi...ie9-ce3fe8e88d.js | javascript | 1.3 KB | 614 B |
Content | Header Size | Transfer Size | Content Size | Requests |
---|---|---|---|---|
html | 0 b | 23.8 KB | 97.7 KB | 1 |
javascript | 0 b | 10.8 KB | 26.7 KB | 2 |
image | 0 b | 41.4 KB | 39.9 KB | 2 |
svg | 0 b | 21.4 KB | 56.7 KB | 2 |
favicon | 0 b | 1.7 KB | 2.7 KB | 1 |
Total | 0 b | 99.1 KB | 223.7 KB | 8 |
Domain | Total download time | Transfer Size | Content Size | Requests |
---|---|---|---|---|
www.wikipedia.org | 1.413 s | 96.3 KB | 216.4 KB | 7 |
upload.wikimedia.org | 497 ms | 2.8 KB | 7.3 KB | 1 |
type | min | median | max |
---|---|---|---|
Expires | 0 seconds | 1 day | 1 year |
Last modified | 3 weeks | 8 weeks | 1 year |
No console log messages.
Included requests done after load event end.
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 | 1.7 KB | 1 |
Total | 1.7 KB | 1 |
Includes requests done after DOM content loaded.
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 | 1.7 KB | 1 |
Total | 1.7 KB | 1 |
Render blocking information directly from Chrome.
Blocking | In body parser blocking | Potentially blocking |
---|---|---|
0 | 2 | 0 |
URL | Type |
---|---|
https://www.wikipedi...dex-10f5326740.js | in_body_parser_blocking |
https://www.wikipedi...ie9-ce3fe8e88d.js | in_body_parser_blocking |
Download the Chrome trace log and drag and drop it into Developer Tools / Performance in Chrome.
Collected using the Long Task API. A long task is a task that take 50 milliseconds or more.
Type | Quantity | Total duration (ms) |
---|---|---|
Total Blocking Time | 297 | |
Max Potential First Input Delay | 309 | |
Long Tasks before First Paint | 2 | 1848 |
Long Tasks before First Contentful Paint | 2 | 1848 |
Long Tasks before Largest Contentful Paint | 2 | 1848 |
Long Tasks after Load Event End | 0 | 0 |
Total Long Tasks | 4 | 2245 |
CPU last long task happened at 2.885 s
name | startTime | duration | containerId | containerName | containerSrc | containerType |
---|---|---|---|---|---|---|
unknown | 610 | 350 | window | |||
unknown | 1053 | 1498 | window | |||
unknown | 2566 | 309 | window | |||
self | 2885 | 88 | window |
Calculated using Tracium.
Categories (ms) | |
---|---|
parseHTML | 59 |
styleLayout | 2195 |
paintCompositeRender | 32 |
scriptParseCompile | 2 |
scriptEvaluation | 64 |
garbageCollection | 0 |
other | 408 |
Events (ms) | |
---|---|
Layout | 2036 |
RunTask | 175 |
UpdateLayoutTree | 157 |
CpuProfiler::StartProfiling | 100 |
ParseHTML | 59 |
v8.run | 45 |
DecodedDataDocumentParser::AppendBytes | 30 |
PrePaint | 22 |
Paint | 19 |
Commit | 18 |
FunctionCall | 13 |
PaintImage | 11 |
DocumentLoader::CommitNavigation | 11 |
DocumentLoader::BodyLoadingFinished | 10 |
URL | CPU time (ms) |
---|---|
https://www.wikipedia.org/portal/wikipedia.org/assets/js/index-10f5326740.js | 92 |
afterPageCompleteCheck.jpg
layoutShift.jpg
largestContentfulPaint.jpg