Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize grabtravel.grab.com
The LCP element isn't discoverable in initial HTML, causing unnecessary load delays.
Move the loyalty program banner background image from CSS to an HTML <img> tag with fetchpriority='high' attribute. Add preload link for critical images in the document head. Remove lazy loading from above-the-fold images to ensure immediate discovery.
A score of 35 falls in the "Poor" range (50-89). While it is better than poor (0-49), you should aim for 90+ to provide an optimal user experience and maximize SEO benefits.
This site is slower than approximately 35% of similar sites. The main issues affecting performance are image optimization, JavaScript execution time, and layout stability.
Addressing these issues could improve your conversion rate by 15-20% and boost your search engine rankings.
Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
Interaction to Next Paint
Good: < 200ms
Measures how quickly the page responds to user interactions
Cumulative Layout Shift
Good: < 0.1
Measures visual stability - how much content shifts during page load
This travel booking website has severe performance issues with a score of only 35/100, indicating a very poor user experience. The biggest problem is excessive JavaScript bloat - the site loads 354 KiB of unused JavaScript code that delays page rendering by 1.7 seconds, while the main script file alone is nearly 1.8 MB. The site takes an extremely slow 17.1 seconds for the largest content to appear and 17.3 seconds to become interactive, which will frustrate users and hurt conversions. Reducing unused JavaScript, optimizing the 291 KiB of oversized images (including converting a GIF to video format), and improving caching could dramatically improve performance by 4+ seconds and boost the score by 30+ points.
Why It Matters:
354 KiB of unused JavaScript is blocking page load and delaying LCP by 1.65 seconds.
How to Fix:
Implement code splitting using dynamic imports to load JavaScript modules on-demand. Use webpack-bundle-analyzer to identify unused code in main-thDUzlr-.js and vendor files. Remove unused PrimeVue components and Sentry features not required for production.
Why It Matters:
Poor cache policies waste 955 KiB on repeat visits and slow LCP by 4.75 seconds.
How to Fix:
Configure your CDN to serve JavaScript and CSS files with Cache-Control: max-age=31536000 (1 year) instead of current 1-day cache. Implement versioned URLs or ETags for cache busting. Set longer cache lifetimes for static assets like images and fonts.
Once your site is optimized, maintain that speed. Use DeployHQ for zero-downtime, automated deployments—so performance fixes and updates go live safely every time, without breaking your site.
Get AI-powered performance insights with actionable fixes in 30 seconds
More Generic Speed Tests
Oversized and unoptimized images waste 116KB and delay LCP by 150ms with poor user experience.
Unused JavaScript accounts for 358KB of waste, delaying LCP by 900ms and blocking main thread execution.
CSS files are blocking the initial page render for 480ms and delaying First Contentful Paint.
Poor cache policies waste 955 KiB on repeat visits and slow LCP by 4.75 seconds.