Carousell Shubham Desale Feb 8, 2022

Optimising Core Web Vitals at Carousell

Article Summary

Shubham Desale from Carousell improved all Core Web Vitals by at least 40%. The secret? Knowing when NOT to follow best practices.

Carousell, Southeast Asia's leading marketplace, tackled their web performance problem systematically using Google Search Console and Lighthouse. They focused on homepage and product pages, discovering that blindly applying SSR and lazy-loading can actually hurt performance if not implemented thoughtfully.

Key Takeaways

Critical Insight

Carousell reached 'Good' performance levels in multiple markets by selectively applying SSR, removing unnecessary lazy-loading, and auditing third-party scripts.

Their approach to handling crawlers versus real users reveals a clever workaround to the SSR versus SEO dilemma.

About This Article

Problem

Product detail pages on Carousell were loading images slowly. The lazy-loading components would show placeholders first, which created a JavaScript dependency that kept the actual product images from appearing right away.

Solution

The team ditched lazy-loading for product images and added preloading directives to the DOM instead. This let the browser find and download images immediately without waiting.

Impact

The change cut about 200ms off LCP performance. It's a good reminder that sometimes removing a feature works better than piling on more complexity.