Tested 2019-02-04 22:46:38 using Chrome 72.0.3626.81 for 3 runs with desktop profile and connectivity native.
Metric | Value |
---|---|
Performance score: | 78 |
Total page size: | 370.0 KB |
Requests: | 32 |
Fully loaded: | 1.126 s |
First Visual Change: | 467 ms |
Speed Index: | 479 ms |
Visual Complete 85%: | 467 ms |
Visual Complete 95%: | 500 ms |
Visual Complete 99%: | 867 ms |
Last Visual Change: | 867 ms |
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 accessibility, privacy and best practices.
Title | Advice | Score |
---|---|---|
Always set labels on inputs in forms (labelOnInput) | There are 2 input(s) that are missing labels on a form. | 80 |
| ||
Structure your content by using landmarks (landmarks) | The page doesn't use any landmarks. | 0 |
Use headings tags within section tags to better structure your page (sections) | The page doesn't use sections. You could use them to get a better structure of your content. | 0 |
Use caption and th in tables (table) | The page has tables that are missing caption, please use them to give them a proper heading or summary. | 80 |
|
Title | Advice | Score |
---|---|---|
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 |
| ||
Avoid extra requests by setting cache headers (cacheHeaders) | The page has 19 request(s) that are missing a cache time. Configure a cache time so the browser doesn't need to download them every time. It will save 100.6 kB the next access. | 0 |
| ||
Long cache headers is good (cacheHeadersLong) | The page has 4 request(s) that have a shorter cache time than 30 days (but still a cache time). | 96 |
| ||
Total JavaScript size shouldn't be too big (javascriptSize) | The total JavaScript transfer size is 213.1 kB and the uncompressed size is 731.9 kB. This is quite large. | 0 |
Don't use private headers on static content (privateAssets) | The page has 2 request(s) with private headers. The main page has a private header. It could be right in some cases where the user can be logged in and served specific content. But if your asset is static it should never be private. Make sure that the assets really should be private and only used by one user. Otherwise, make it cacheable for everyone. | 90 |
|
Title | Advice | Score |
---|---|---|
Meta description (metaDescription) | The page is missing a meta description. | 0 |
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 |
| ||
Avoid Unnecessary Headers (unnecessaryHeaders) | There are 2 response(s) that sets a p3p header. There are 12 response(s) that sets both a max-age and expires header. There are 20 response(s) that sets a server header. | 66 |
|
Title | Advice | Score |
---|---|---|
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 |
| ||
Do not share user data with third parties (thirdPartyPrivacy) | You have 3% of the request that is 3rd party (1 requests with a size of 1 kB). The regex .*wikipedia.* was used to calculate first/third party requests. You can configure that with --firstParty. You should manually go through all the requests/responses and calculate the risk if the page share user information with the 3rd party. | 97 |
Page info | |
---|---|
Title | Wikipedia, the free encyclopedia |
Width | 1350 |
Height | 2544 |
DOM elements | 1012 |
Avg DOM depth | 11 |
Max DOM depth | 19 |
Iframes | 0 |
Script tags | 4 |
Local storage | 471.0 KB |
Session storage | 36 B |
HTML vs AMP | Plain good HTML page |
Resource Hints |
---|
dns-prefetch |
https://login.wikimedia.org/ |
https://meta.wikimedia.org/ |
Third party | |
---|---|
JQuery | 3.3.1 |
Google Analytics | No |
Google Tag Manager | No |
Piwik | No |
Boomerang | No |
New Relic | No |
Visual Metrics | |
---|---|
First Visual Change | 467 ms |
Speed Index | 479 ms |
Perceptual Speed Index | 486 ms |
Visual Complete 85% | 467 ms |
Visual Complete 95% | 500 ms |
Visual Complete 99% | 867 ms |
Last Visual Change | 867 ms |
Navigation Timing | |
---|---|
backEndTime | 180 ms |
domContentLoadedTime | 288 ms |
domInteractiveTime | 288 ms |
domainLookupTime | 0 ms |
frontEndTime | 821 ms |
pageDownloadTime | 42 ms |
pageLoadTime | 1.043 s |
redirectionTime | 0 ms |
serverConnectionTime | 113 ms |
serverResponseTime | 96 ms |
Extra timings | |
---|---|
first-contentful-paint | 449 ms |
first-paint | 449 ms |
RUM Speed Index | 570 ms |
Fully loaded | 1.126 s |
User timings | |
---|---|
mwStartup | 418 ms |
Categories (ms) | |
---|---|
Scripting | 495.4 |
Loading | 15.3 |
Rendering | 122.6 |
Painting | 27.8 |
Other | 0.0 |
Events (ms) | |
---|---|
EvaluateScript | 337.657 |
FunctionCall | 124.005 |
Layout | 81.75 |
UpdateLayoutTree | 35.073 |
Paint | 14.374 |
CompositeLayers | 13.389 |
ParseHTML | 13.245 |
MinorGC | 12.494 |
BlinkGC.AtomicPhase | 7.835 |
v8.compile | 5.662 |
UpdateLayerTree | 5.509 |
MajorGC | 2.65 |
EventDispatch | 2.485 |
ParseAuthorStyleSheet | 1.962 |
TimerFire | 1.623 |
FireIdleCallback | 0.769 |
HitTest | 0.289 |
FireAnimationFrame | 0.27 |
Decode Image | 0.06 |
ResourceChangePriority | 0.058 |
ScriptWrappableMarkingVisitor::performLazyCleanup | 0.045 |
name | duration | description |
---|---|---|
cache | 0 | hit-front |
There are no custom configured scripts.
Hard facts about the page.
Summary | |
---|---|
HTTP version | HTTP/2.0 |
Total requests | 32 |
Total domains | 3 |
Total transfer size | 370.0 KB |
Total content size | 965.3 KB |
Responses missing compression | 0 |
Requests per response code | |
---|---|
200 | 32 |
Content | Header Size | Transfer Size | Content Size | Requests |
---|---|---|---|---|
html | N/A | 19.8 KB | 76.6 KB | 1 |
css | N/A | 17.3 KB | 61.9 KB | 3 |
javascript | N/A | 208.1 KB | 714.7 KB | 6 |
image | N/A | 123.2 KB | 109.4 KB | 21 |
favicon | N/A | 1.7 KB | 2.7 KB | 1 |
Total | N/A | 370.0 KB | 965.3 KB | 32 |
Domain | Header Size | Transfer Size | Content Size | Requests |
---|---|---|---|---|
en.wikipedia.org | N/A | 271.8 KB | 879.7 KB | 13 |
upload.wikimedia.org | N/A | 97.2 KB | 85.4 KB | 18 |
login.wikimedia.org | N/A | 1.0 KB | 236 B | 1 |
Calculated using .*wikipedia.* (use --firstParty to configure).
Content | Header Size | Transfer Size | Content Size | Requests |
---|---|---|---|---|
html | N/A | 19.8 KB | 76.6 KB | 1 |
css | N/A | 17.3 KB | 61.9 KB | 3 |
javascript | N/A | 207.1 KB | 714.5 KB | 5 |
image | N/A | 123.2 KB | 109.4 KB | 21 |
font | N/A | N/A | N/A | 0 |
favicon | N/A | 1.7 KB | 2.7 KB | 1 |
Total | N/A | 369.0 KB | 965.1 KB | 31 |
Content | Header Size | Transfer Size | Content Size | Requests |
---|---|---|---|---|
html | N/A | N/A | N/A | 0 |
css | N/A | N/A | N/A | 0 |
javascript | N/A | 1.0 KB | 236 B | 1 |
image | N/A | N/A | N/A | 0 |
font | N/A | N/A | N/A | 0 |
Total | N/A | 1.0 KB | 236 B | 1 |
type | min | median | max |
---|---|---|---|
Expires | 0 seconds | 0 seconds | 1 year |
Last modified | 17 minutes | 13 weeks | 3 years |
Cookies | 0 | 0 | 3 |
Content | Transfer Size | Requests |
---|---|---|
html | N/A | 0 |
css | N/A | 0 |
javascript | 17.0 KB | 1 |
image | N/A | 0 |
font | N/A | 0 |
favicon | 1.7 KB | 1 |
Total | 18.7 KB | 2 |
Includes requests done after onLoad.
Content | Transfer Size | Requests |
---|---|---|
html | N/A | 0 |
css | N/A | 0 |
javascript | 173.1 KB | 5 |
image | 23.6 KB | 12 |
font | N/A | 0 |
favicon | 1.7 KB | 1 |
Total | 198.3 KB | 18 |