Reduce Unused JavaScript Bundles

How to optimize mstock.com

Next.js SiteScore: 58/100Analyzed May 2026Re-analyze this site

Reduce Unused JavaScript Bundles

High Impact+12 points estimated

Why It Matters

468KB of unused JavaScript is increasing Total Blocking Time and delaying interactivity.

How to Fix

Implement code splitting in Next.js using dynamic imports for large components. Use next/bundle-analyzer to identify unused chunks. Remove or lazy-load the Google Analytics bundle and split the 2352 chunk into smaller, route-specific bundles using Next.js automatic code splitting.

0Needs Improvement

What This Score Means

A score of 58 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.

Core Web Vitals Analysis

LCP

Largest Contentful Paint

9.0s
Poor

Good: < 2.5s

Measures how long it takes for the main content to appear on screen

INP

Interaction to Next Paint

478ms
Needs Improvement

Good: < 200ms

Measures how quickly the page responds to user interactions

CLS

Cumulative Layout Shift

0.06
Good

Good: < 0.1

Measures visual stability - how much content shifts during page load

AI Performance Analysis

This Next.js/React website has poor performance with a score of 58/100. The biggest problem is an extremely slow Largest Contentful Paint of 9.0 seconds, primarily caused by render-blocking CSS files that delay page rendering by over 1 second. The site is also loading 468KB of unused JavaScript and 65KB of unused CSS, while images are oversized and poorly cached. Fixing the render-blocking resources, optimizing images, and removing unused code could improve the score by 30+ points and dramatically reduce load times from 14 seconds to under 4 seconds.

Other Optimization Recommendations

Eliminate Render-Blocking CSS Resources

High Impact+15 points estimated

Why It Matters:

CSS files are blocking initial render for over 1 second, severely delaying First Contentful Paint.

How to Fix:

Use Next.js dynamic imports for non-critical CSS modules. Implement critical CSS inlining in your _app.js for above-the-fold styles. Move remaining CSS to load asynchronously using next/dynamic with { ssr: false } for non-essential components.

Optimize Large Contentful Paint Element

High Impact+18 points estimated

Why It Matters:

LCP is delayed by 9 seconds due to poor resource discovery and lack of priority hints on the banner element.

How to Fix:

Add fetchpriority='high' to the banner section's background image or primary content. Use Next.js Image component with priority={true} for LCP images. Preload the banner's critical resources using next/head with <link rel='preload'> for fonts and images.

Keep Your Site Fast After Optimization

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.

Explore DeployHQ →Trusted by engineering teams shipping high-performance sites

Want to Analyze YOUR Website?

Get AI-powered performance insights with actionable fixes in 30 seconds

More Next.js Speed Tests

Next.js Performance Resources

Frequently Asked Questions