Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize web.stag.dtv.onl
795KB of unused JavaScript and 90KB of unused CSS waste bandwidth and slow down parsing.
Configure Nuxt's build optimization to enable tree-shaking for unused code. Remove or lazy-load the duplicate reCAPTCHA scripts. Use PurgeCSS in your build process to eliminate unused Tailwind classes and component styles. Consider code-splitting your main bundle using Vue's async components.
A score of 77 falls in the "Needs Improvement" 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 site has moderate performance issues with a score of 77/100, but users experience significantly slow page loading with content taking 8.5 seconds to fully appear. The biggest problem is excessive unused CSS (90KB) and render-blocking stylesheets that delay initial page rendering by 900ms, particularly affecting how quickly users see content. The site is also loading nearly 800KB of unnecessary JavaScript from various sources including reCAPTCHA, which bloats the page without providing immediate value. Cleaning up unused CSS, deferring non-critical stylesheets, and removing or lazy-loading unnecessary JavaScript could improve the performance score by 15-20 points and dramatically reduce loading times for better user experience.
Why It Matters:
Render-blocking CSS delays First Contentful Paint by 900ms, significantly impacting perceived loading speed.
How to Fix:
In your Nuxt config, implement critical CSS inlining for above-the-fold content. Use Vue's dynamic imports to defer component-specific CSS like BtnScrollToTop and Header styles. Move non-critical Swiper CSS to load asynchronously using media='print' onload technique.
Why It Matters:
LCP is delayed by 2.55 seconds due to resource load delays, making the page feel unresponsive.
How to Fix:
Add fetchpriority='high' to your LCP image and preload it in the document head. Implement resource hints like dns-prefetch for external domains (cdni.dienthoaivui.com.vn). Use Nuxt's built-in preloading for critical resources and optimize your CDN configuration for faster response times.
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
LCP is delayed by 2.55 seconds due to resource load delays, making the page feel unresponsive.
Render-blocking CSS delays First Contentful Paint by 440ms and forces sequential resource loading.
JavaScript execution blocks the main thread for 10.9 seconds and creates 2,040ms of blocking time, severely delaying user interactions.
Resource load delay of 2.6 seconds for LCP image pushes Largest Contentful Paint to 5.1 seconds.