Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize dienthoaivui.com.vn
Critical CSS files are blocking first paint for 570ms, delaying when users see content.
Use Nuxt's CSS configuration to inline critical styles and defer non-critical CSS like FontAwesome and Swiper styles. Implement 'media=print' technique for non-critical stylesheets, then switch to 'all' onload. Consider using Nuxt's built-in CSS optimization with the 'css' property in nuxt.config.js.
A score of 28 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 Nuxt/Vue e-commerce site has severe performance issues with a critically low score of 28/100. The biggest problem is an extremely slow Time to Interactive of 33.9 seconds, caused primarily by massive amounts of unused JavaScript (1,924 KiB could be eliminated) that's blocking the main thread for 5 seconds. The site also suffers from major layout shifts (CLS of 0.302) due to unsized images and a painfully slow Largest Contentful Paint of 16.8 seconds. Removing unused JavaScript, optimizing images with proper dimensions, and implementing efficient caching could dramatically improve performance by 15+ seconds and potentially double the performance score.
Why It Matters:
Unused JavaScript is blocking the main thread for 4.3 seconds and delaying LCP by 4.4 seconds, severely impacting user experience.
How to Fix:
Use Nuxt's tree-shaking capabilities by enabling the 'experimental.treeshakeClientOnly' option. Audit your Vue components and remove unused imports from the main bundle (BcenCm5Y.js). Split large JavaScript chunks using Nuxt's code splitting with dynamic imports for non-critical components.
Why It Matters:
Unsized images are causing a CLS score of 0.302, creating jarring content jumps that hurt user experience.
How to Fix:
Add explicit width and height attributes to all images, especially the logo and banner images. Use Nuxt's built-in <NuxtImg> component with aspect-ratio CSS to maintain dimensions during load. Reserve space for dynamically loaded images with CSS min-height properties.
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 Nuxt Speed Tests
66 KiB of static assets have no cache headers, missing opportunities to improve repeat visit performance and LCP by 500ms.
8.3 seconds of main thread work creates 1,910ms Total Blocking Time, severely impacting user interaction responsiveness.
192 KiB of unused JavaScript is blocking page load, delaying both FCP and LCP by 900ms with potential 19-point score improvement.
594 KiB of unused JavaScript is delaying LCP by 150ms and increasing bundle size unnecessarily.