Performance56/100

Speed Index

Speed Index

target < 4000 ms

The Speed Index measures how quickly the page contents are visually populated / painted, and computes an overall score where lower numbers are better. It is expressed in milliseconds and dependent on size of the viewport (above-the-fold contents). Learn more

Document complete

Time

0

seconds

Resources

requests

Bytes in

0

B

These metrics are collected from the initial request until the browser considers the page loaded (JavaScript onLoad event). This usually happens after all of the image content has loaded but may not include content that is triggered by javascript execution.

Fully load

Time

0

seconds

Resources

requests

Bytes in

0

B

These metrics are collected from the initial request until 2 seconds of no network activity after Document Complete (JavaScript onLoad event). This will usually include any activity that is triggered by javascript after the main page loads.

Assets by Domain

Requests

Bytes downloaded

Assets by Mime-Type

Requests

Bytes downloaded

Speed

Load time ms

Also known as the document complete time, it’s the time from the initial request until the browser load event. It can vary based on server location, device, browser, and third-party apps. Learn more

Page load is fast enough on 3G

A fast page load over a 3G network ensures a good mobile user experience. Learn more

First byte ms

The time from the initial request to the first byte of the response. Learn more

First meaningful paint5352 ms

First meaningful paint measures when the primary content of a page is visible. It's essentially the paint after which the biggest above-the-fold layout change has happened, and web fonts have loaded. Learn more

Estimated Input Latency16 ms (target < 50 ms)

The score above is an estimate of how long your app takes to respond to user input, in milliseconds. There is a 90% probability that a user encounters this amount of latency, or less. 10% of the time a user can expect additional latency. If your score is higher than Lighthouse's target score (< 50 ms), users may perceive your app as laggy. Learn more

Uses persistent connections (keep alive)

Closing connections are a missed opportunity for performance enhancement: additional round-trips between the user and the server to initiate a connection is redundant and time-consuming. Keep-Alive measures the effectiveness of connection reuse. The purpose of this grade is to evaluate the extent to which requests are inefficiently reopening connections. Learn more

First interactive (beta - experimental)5352 ms

The first point at which necessary scripts of the page have loaded and the CPU is idle enough to handle most user input (with the possibility of slow responses as more content loads). Learn more

Consistently Interactive (beta - experimental)5352 ms

The point at which most network resources have finished loading and the CPU is idle for a prolonged period. Consistently Interactive requires a minimum of 5 seconds of both main thread idle and network idle. In other words, the point where the page is complete and will respond quickly to user input. Learn more

Page weight

Uses compression (gzip, zopfli, deflate, brotli)

This rule triggers when detecting that compressible resources were served without gzip compression. Learn more

Uses a CDN for all static assets

Each request for a piece of content to the web server has to travel from the user's browser all the way to the server and back. A content delivery network (CDN) is a system for distributing resources to servers geographically closer to users. Main benefit of this is that the round-trip time is faster. The passing grade for using a CDN effectively is to have at least 80% of static resources served from a CDN. Learn more

Leverage browser caching

Setting an expiry date or a maximum age in the HTTP headers for static resources instructs the browser to load previously downloaded resources from local disk rather than over the network. Learn more

Minify CSS

Minification refers to the process of removing unnecessary or redundant data in order to reduce file size without affecting how the resource is processed by the browser - e.g. code comments and formatting, removing unused code, using shorter variable and function names, and so on. Learn more

Minify CSS for the following resources to reduce their size by 607B (24% reduction).

Minify HTML

Minification refers to the process of removing unnecessary or redundant data in order to reduce file size without affecting how the resource is processed by the browser - e.g. code comments and formatting, removing unused code, using shorter variable and function names, and so on. Learn more

Minify JavaScript

Minification refers to the process of removing unnecessary or redundant data in order to reduce file size without affecting how the resource is processed by the browser - e.g. code comments and formatting, removing unused code, using shorter variable and function names, and so on. Learn more

Minify JavaScript for the following resources to reduce their size by 1.5KiB (28% reduction).

Avoids an excessive DOM size323 nodes

Number of elements in the document. Browser engineers recommend pages contain fewer than ~1,500 DOM nodes. The sweet spot is a tree depth < 32 elements and fewer than 60 children/parent element. A large DOM can increase memory usage, cause longer style calculations, and produce costly layout reflows. Learn more

Total DOM Nodes

323

target < 1,500 nodes

DOM Depth

14

target < 32

Maximum Children

39

target < 60 nodes

Compressed Images

The image compression check just looks at photo images and makes sure the quality isn't set too high. Images can usually be compressed pretty substantially without any noticeable reduction in visual quality. Learn more

Uses Progressive JPEGs

A progressive JPEG is image created using the JPEG suite of compression algorithms that will 'fade in' in successive waves of lines until the entire image has completely arrived. They show the entire image right away, looking slightly pixelated until the image data is fully loaded. Learn more

Properly Sized ImagesPotential savings of 2,015 KB (~11,080 ms)

Serve images that are appropriately-sized to save cellular data and improve load time. Learn more

Offscreen imagesPotential savings of 1,392 KB (~7,650 ms)

Consider lazy-loading offscreen images to improve page load speed and time to interactive. Learn more

Prioritizes visible content

This rule triggers when detecting that additional network round trips are required to render the above-the-fold content of the page. Learn more

Improves server response time

This rule triggers when detecting that your server response time is above 200 ms. Server response time measures how long it takes to load the necessary HTML to begin rendering the page from your server, subtracting out the network latency between Google and your server. Learn more

Avoids landing page redirects

Redirects trigger an additional HTTP request-response cycle and delay page rendering. In the best case, each redirect will add a single round trip (HTTP request-response), and in the worst it may result in multiple additional roundtrips to perform the DNS lookup, TCP handshake, and TLS negotiation in addition to the additional HTTP request-response cycle. As a result, you should minimize use of redirects to improve site performance. Learn more

Usability50/100

Clicking logo always leads you to homepage.

Make it easy to get back to the homepage. Use your logo as a navigation button to return to the homepage.

Key CTAs are visible on the homepage.

Keep menus short, visible and sweet.

No ending trailing paths.

Always provide navigation options on footers and/or fixed header.

Suports multi-device experiences.Not applicable

Use wishlists/favouriting/saved baskets; social sharing; email; to facilitate seamless movement between devices or mobile platforms.

For category pages/search result with lots of products, make sure lazy-loading or pagination are used.Not applicable

Load images asynchronously -- after the above-the-fold content is fully loaded, or conditionally, only when they appear in the browser’s viewport.

Possible to swipe to see more images or tap to enlarge them.Not applicable

Allow for mobile gestures like swipe or tap to enlarge images, graphics and other contents, keeping good quality and focus.

Streamlines forms information entry.

Minimize the number of fields and autofill information wherever possible. Implement correct input types in fields, i.e. input type = email, number, etc. Make use of tabIndex to iterate through fields with the keyboard.

Forms error warnings.

Users are notified immediately when mistakes are made in a field, and guidance is provided on how to fix it.

Makes site search visible and user-friendly.Not applicable

Place your site search near the top of your pages, via an open text field or clear label. Offer filters to help users get what they need from search or group results per categories. Auto-complete is available in on-site search.

Keeps your user in a single browser window.

Switching between windows on a smartphone can be troublesome, and raises the risk that visitors might not find their way back to your site. Try to keep users in one place by avoiding calls-to-action that launch new windows.

Avoids Application Cache

Avoids WebSQL DB

Avoids requesting the geolocation permission on page load

Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to user gestures instead. Learn more

Avoids requesting the notification permission on page load

Users are mistrustful of or confused by sites that request to send notifications without context. Consider tying the request to user gestures instead. Learn more

Avoids deprecated APIs

Deprecated APIs will eventually be removed from the browser. Learn more

Allows to paste into password input fields

The main reason why password pasting improves security is because it helps to reduce password overload. Learn more

Registers a Service Worker

The service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. Learn more

Responds with a 200 when offline

If you're building a Progressive Web App, consider using a service worker so that your app can work offline. Learn more

Uses HTTPS

All sites should be protected with HTTPS, even ones that don't handle sensitive data. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. Learn more

Redirects HTTP traffic to HTTPS

If you've already set up HTTPS, make sure that you redirect all HTTP traffic to HTTPS. Learn more

Uses HTTP/2 for its own resources32 requests were not handled over HTTP/2

HTTP/2 offers many benefits over HTTP/1.1, including binary headers, multiplexing, and server push. Learn more

Avoid using document.write()

Manifest's short_name won't be truncated when displayed on homescreen

Make your app's short_name fewer than 12 characters to ensure that it's not truncated on homescreens. Learn more

Configured for a custom splash screen

A default splash screen will be constructed for your app, but satisfying these requirements guarantee a high-quality splash screen that transitions the user from tapping the home screen icon to your app's first paint. Learn more

User can be prompted to Install the Web App

Browsers can proactively prompt users to add your app to their homescreen, which can lead to higher engagement. Learn more

Report created in Apr 30, 2018, 10:45 AM GMT+0 min.

This report was built using several Google, 3rd-party and Awwwards audit tools and services for metrics, web performance optimization, and best practices for mobile design and development.

Loading time vary depending on network, device, server, site design, and implementation.