Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize medium.com
Short cache lifetimes force users to re-download 4 KiB of assets on repeat visits.
Set cache headers for static assets to at least 1 year (31536000 seconds). Configure your CDN to cache CSS files like unbound.css for longer periods. Use versioned filenames for cache busting instead of short TTLs to ensure updates reach users while maximizing cache efficiency.
A score of 63 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
Medium.com has poor performance with a score of 63/100, primarily due to excessive JavaScript that's slowing down the site significantly. The biggest issue is unused JavaScript code (685 KB worth) that's causing a 4.2-second delay in loading the main content and making the page unresponsive for over 11 seconds. The site is loading massive amounts of unnecessary code, particularly from reCAPTCHA and the main application bundle, which is blocking user interactions and creating a frustrating experience. Removing unused JavaScript, optimizing script loading, and reducing the overall code size could dramatically improve performance by cutting load times in half.
Why It Matters:
685 KiB of unused JavaScript delays LCP by 1.8 seconds and blocks user interactions.
How to Fix:
Remove or defer the unnecessary reCAPTCHA script that's loaded on every page but only needed on forms. Split your main JavaScript bundle using code splitting to load only required functionality. Use dynamic imports for non-critical features to reduce initial bundle size.
Why It Matters:
2.6 seconds of main-thread work creates 1,070ms of blocking time, preventing user interactions.
How to Fix:
Break up long-running JavaScript tasks by using setTimeout or requestIdleCallback to yield control back to the browser. Optimize the reCAPTCHA and main.js execution by loading them asynchronously. Consider using a web worker for heavy computations to keep the main thread responsive.
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
Unsized images cause 0.13 CLS score with layout shifts primarily from the logo and hero image lacking explicit dimensions.
732 KiB of unused JavaScript delays LCP by 3.6 seconds, with block-editor and components scripts being 80%+ unused.
The 1.4MB hero image causes 5.1 second resource load delay and significantly impacts LCP by appearing oversized at 6000x4000 for 570x380 display.
CSS and JavaScript files are blocking initial page render for 3,090ms, significantly delaying First Contentful Paint.