Story 0.3.1 Product Pages, Product Feed, Home Core Web Vitals Improvement

General info

This task focuses on optimizing web vitals across multiple sections of the site, with an emphasis on improving LCP and reducing loading times for critical resources. Investigations revealed that simultaneous loading of images and render-blocking resources are the main bottlenecks. Specific adjustments will be applied to product pages, homepage, and the product feed on both mobile and desktop devices. The goal is to pass all Core Web Vitals in future reports.

Please investigate the reports below and evaluate our suggested changes in the acceptance criteria. Let us know if you do not recommend certain changes or do not see their value. Let us know about other possible solutions you have in mind.

User story

As Saclab, we want to optimize the loading performance and web vitals of critical pages to ensure faster page rendering and improved user experience across all devices.

Links & References:

Acceptance criteria

01.0

Product Pages

01.1

Product Pages Desktop and Mobile

AR: Core Web Vitals FAILED, but when I test desktop locally, performance seems good

Given 28 day collection period shows failed core web vitals
When the page loads
Then the page should pass Core Web vitals for real users should pass and indicate a good performance for LCP, FCP and TTFB

Bildschirmfoto 2024-11-20 um 10.13.15.png

01.2

Product Pages Mobile

AR: all images load simultaneously

When the page starts loading
Then focus on loading the LCP (image) first. and non-visible images are lazy-loaded
and “Similar Items”+”You might also like” Slider images are delayed and lazy-loaded

Bildschirmfoto 2024-11-14 um 12.21.20.png

Bildschirmfoto 2024-11-19 um 14.48.04.png

Bildschirmfoto 2024-11-19 um 14.48.16.png

01.3

Product Pages Mobile

AR: web.dev insights indicates unused CSS and render-blocking resources
Given critical resources block rendering
When the page starts rendering
Then render-blocking resources are minimized by inlining critical JS/CSS and deferring non-critical resources
And reduce unused CSS

Bildschirmfoto 2024-11-19 um 14.45.34.png

Bildschirmfoto 2024-11-19 um 14.46.44.png

01.4

Product Pages Desktop

Given critical resources block rendering
When the page starts rendering
Then render-blocking resources are minimized by inlining critical JS/CSS and deferring non-critical resources
And reduce unused CSS

Bildschirmfoto 2024-11-20 um 09.55.20.png

02.0

Homepage saclab.com

02.1

Homepage Desktop and Mobile

AR: Homepage Core Web Vitals FAILED. Desktop performance is acceptable during local testing, but the mobile version has poor LCP and FCP

Given the 28-day collection period shows failed core web vitals
When the homepage loads
Then Core Web Vitals for real users should pass with good performance for LCP, FCP, and TTFB

Bildschirmfoto 2024-11-20 um 11.24.35.pngBildschirmfoto 2024-11-20 um 11.26.26.png

Bildschirmfoto 2024-11-28 um 11.06.12.png

02.2

Homepage Mobile

AR: The top header image impacts LCP, making the entire page count as LCP.

When the page loads

Then prioritize the top header image for loading and ensure LCP is below 2.5 seconds

Bildschirmfoto 2024-11-13 um 16.16.14.png

Bildschirmfoto 2024-11-27 um 16.34.46.png

02.3

Homepage Mobile

Given critical resources block rendering
When the homepage starts rendering
Then render-blocking resources are minimized by inlining critical JS/CSS and deferring non-critical resources
And minimize main-thread work

Bildschirmfoto 2024-11-20 um 11.48.08.pngBildschirmfoto 2024-11-20 um 11.48.23.png

03.0

Product Feed

03.1

Product Feed Desktop and Mobile

AR: Product Feed Core Web Vitals FAILED. Performance is poor due to image sizes, lazy-loading issues, and swipe functionality on mobile.

Given the 28-day collection period shows failed core web vitals
When the product feed loads
Then Core Web Vitals for real users should pass with good performance for LCP, INP, CLS, FCP, and TTFB

Bildschirmfoto 2024-11-20 um 12.14.19.png

Bildschirmfoto 2024-11-20 um 12.14.55.png

Bildschirmfoto 2024-11-20 um 12.28.12.png

03.2

Product Feed Desktop

AR: Recent poor performance might be due to server issues.

Given product feed desktop has poor Core Web Vitals
When testing the feed
Then confirm if the recent poor performance is related to server issues
And validate if no further optimizations are needed

And if performance improvement is needed:

Then use plugin to compress hover images witouth significant loss of quality
And limit products that load on default from 20 to 16
And (if filter selected or search function used) load instock products first, followed by loading the outofstock products.

Bildschirmfoto 2024-11-20 um 12.37.03.png

Bildschirmfoto 2024-11-20 um 14.19.35.png

Bildschirmfoto 2024-11-20 um 14.19.42.png

03.3

Product Feed Mobile

AR: Poor performance, various Diagnostics to improve performance

Given performance issues
When the page loads
Then fix highlighted issues within the Diagnostics report, so performance improves

Bildschirmfoto 2024-11-20 um 12.30.28.png

03.4

Product Feed Mobile: Suggestion

AR: Swipe functionality loads all product images at once AND it actually loads all images.

Given swipe functionality is active
When the product feed loads
Then limit displayed swipable images to the first 3 images of each product to limit loading time
And lazy-load the images that can get accessed after first or second swipe to improve loading time

ScreenRecording_11-20-2024 16-54-08_1.MP4

03.5

Product Feed Mobile: Suggestion

AR: Image sizes are too large for mobile performance.

Given product images are large
When the page loads
Then reduce image sizes by resizing them without quality loss (similar to desktop)
And use a plugin that does that automatically for all of the images on saclab.com/bags mobile

Bildschirmfoto 2024-11-20 um 12.21.17.png

03.6

Product Feed Mobile: Suggestion

AR: Too many products are loaded simultaneously, causing delays.

Given too many products are loaded
When the product feed starts rendering
Then reduce the number of auto-loaded products from 20 to 14 to decrease loading time. Only do this if you think it’ll have a substantial impact

Bildschirmaufnahme 2024-11-20 um 16.51.05.mov

03.7

Product Feed Mobile: Suggestion

AR: LCP score is low

Given the LCP is set as the Heading Title

When the product feed starts loading

Then load H1 sooner to get a better LCP score

Bildschirmfoto 2024-11-20 um 16.47.28.png

Comments

Leave a Reply