Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize payfast.greenn.com.br
The main product image (608KB) is severely oversized and delays LCP by 3.2 seconds.
Resize the product image from 800x450 to match display size (158x89). Convert from JPEG to WebP format for 90% size reduction. In your Nuxt app, use <NuxtImg> component with format='webp' and sizes prop for responsive delivery.
A score of 71 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 71/100. The biggest problem is extremely slow image loading, particularly a 609KB product image that's poorly optimized and oversized, causing your Largest Contentful Paint to suffer at 10.3 seconds - well beyond the recommended 2.5 seconds. Converting images to modern formats like WebP, properly sizing them for display dimensions, and implementing better caching could save over 634KB and dramatically improve load times. Additionally, removing 175KB of unused JavaScript from your Nuxt bundles would provide further speed improvements and better user experience.
Why It Matters:
175KB of unused JavaScript code delays LCP by 600ms and blocks interactivity.
How to Fix:
Use Nuxt's tree-shaking by importing only needed functions from libraries. Split large components using defineAsyncComponent() for code splitting. Remove unused vue-tel-input CSS (77% unused) by importing only required styles or switching to a lighter alternative.
Why It Matters:
No cache headers on images forces re-downloads on repeat visits, wasting 600KB bandwidth.
How to Fix:
Configure your S3 bucket to serve images with 'Cache-Control: max-age=31536000' headers. Update Cloudflare settings to cache static assets for 1 year. Add cache busting to image URLs when content changes to ensure updates are delivered.
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
The hero image is oversized by 41KB and has insufficient caching, contributing to poor LCP performance.
358KB of unused JavaScript is adding 2.4 seconds to LCP and blocking main thread execution.
Critical CSS files are blocking initial render for 1.2 seconds, severely delaying both FCP and LCP.
Forced reflows cause 91ms of layout thrashing, degrading user experience and potentially affecting CLS scores.