Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize moducraft.org.za
Google Tag Manager is consuming 67KB of unused JavaScript and delaying LCP by 750ms.
Move Google Analytics script to load after page interaction using async/defer attributes. Consider switching to gtag.js instead of GTM if only using basic analytics. Alternatively, implement Partytown to run analytics in a web worker off the main thread.
A score of 80 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 website has decent performance with a score of 80/100, but faces significant loading speed issues. The biggest problem is the Largest Contentful Paint taking 4.4 seconds, which is well above the recommended 2.5 seconds and creates a poor user experience. The main culprits are unused JavaScript from Google Analytics (wasting 66 KB and 750ms of loading time) and a missing priority hint on the main hero section image. Quick wins include removing unused JavaScript, adding fetchpriority="high" to the hero image, and extending cache lifetimes for static assets, which together could easily push the performance score above 90.
Why It Matters:
Your LCP element lacks fetchpriority=high, which could significantly improve the 4.4s LCP time.
How to Fix:
Add fetchpriority='high' attribute to the hero section's background image or main content element. If using a background image, consider converting to an <img> tag with priority hint. This signals to the browser to prioritize loading the LCP resource earlier in the waterfall.
Why It Matters:
Your CSS and JavaScript files have only 7-day cache lifetimes, missing optimization opportunities for repeat visitors.
How to Fix:
Configure your server or CDN to set cache headers for static assets to 1 year (31536000 seconds). Add versioning or hashing to filenames for cache busting when files change. Update your build process to include content hashes in asset filenames automatically.
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
The oversized logo image wastes 97 KiB and delays LCP by 450ms while being displayed much smaller than its actual size.
126 KiB of unused JavaScript from Google Analytics and GTM delays LCP by 900ms and wastes bandwidth.
Render blocking CSS and fonts delay LCP and FCP by 1,050ms, preventing users from seeing content immediately.
Award images are oversized by 441KB and lack explicit dimensions, causing layout shifts.