Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize medium.com
3.2 seconds of JavaScript execution time is blocking the main thread and causing 500ms Total Blocking Time.
Break up long-running script evaluation tasks using setTimeout or requestIdleCallback. Move heavy JavaScript processing to Web Workers where possible. Implement progressive loading for complex UI components. Optimize reCAPTCHA loading by using the explicit render method with callback.
A score of 44 falls in the "Poor" 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 severe performance issues with a critically low score of 44/100. The biggest problem is excessive JavaScript that takes nearly 10 seconds to load the first content and almost 12 seconds for the page to become interactive - far exceeding Google's recommended thresholds. The site is loading 690KB of unused JavaScript code, particularly from reCAPTCHA and main application files, which is causing massive delays in Core Web Vitals metrics. Removing unused JavaScript, optimizing script loading, and reducing the overall JavaScript payload could potentially improve load times by 4-5 seconds and dramatically enhance user experience.
Why It Matters:
690 KiB of unused JavaScript is blocking page load and delaying LCP by 4.6 seconds.
How to Fix:
Remove or defer the reCAPTCHA script if not needed immediately (185KB unused). Split main.js bundle using code-splitting to load only critical components initially. Use dynamic imports for non-essential features. Audit Medium's main bundle for unused dependencies and tree-shake effectively.
Why It Matters:
reCAPTCHA scripts are causing 93ms of forced reflows that degrade rendering performance.
How to Fix:
Batch DOM reads and writes to avoid layout thrashing. Cache geometric property values instead of repeatedly querying offsetWidth/offsetHeight. Consider loading reCAPTCHA asynchronously after critical content renders. Use CSS transforms instead of changing layout properties when possible.
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
Images are 177KB larger than needed due to oversized dimensions and poor compression, slowing LCP by 1.3 seconds.
CSS files are blocking initial page render for 3.9 seconds, preventing users from seeing content.
Your LCP element has an 11.4-second resource load delay and isn't prioritized, severely impacting loading performance.
Your images are 228 KiB larger than needed for their display dimensions, causing unnecessary bandwidth usage and slower LCP.