Why Site Speed is Critical for SEO

Since 2021, Google officially considers Core Web Vitals for ranking — these are speed and usability metrics measured in real conditions on actual user devices. Sites that pass the Core Web Vitals threshold receive a slight ranking boost.

But the indirect impact is more important: slow site → higher bounce rate → less time on page → worse behavioral signals → lower rankings. Additionally, Google allocates a smaller crawl budget to slow sites.

Core Web Vitals: Three Key Metrics

LCP — Largest Contentful Paint

Time until the largest visible element (usually a hero image or heading) appears. Shows when the user sees the main content.

  • Good: up to 2.5 seconds
  • Needs improvement: 2.5–4 s
  • Poor: over 4 seconds

Main causes of poor LCP: large uncompressed images, slow server, render-blocking resources (JS, CSS), lack of CDN.

INP — Interaction to Next Paint

Response time to a user interaction (click, tap, input). Replaced FID in March 2024.

  • Good: up to 200 ms
  • Needs improvement: 200–500 ms
  • Poor: over 500 ms

CLS — Cumulative Layout Shift

Total shift of elements during loading. Content "jumps" when images or ads are loaded.

  • Good: up to 0.1
  • Needs improvement: 0.1–0.25
  • Poor: over 0.25
🔧 How to Check

pagespeed.web.dev — enter the URL and get a detailed report on all three metrics for mobile and desktop. Also, check Search Console → Core Web Vitals for real-world device data.

Image Optimization — The Quickest Win

Images are the main reason for a slow LCP. A few rules:

  • WebP format — 25–35% smaller than JPEG at the same quality
  • Lazy loading — loading="lazy" for images below the fold
  • Dimensions in HTML — always specify width and height to avoid CLS
  • Preload LCP image — add <link rel="preload" as="image"> for the hero image
  • CDN for images — Cloudflare Images or an equivalent for global delivery

Server Speed and TTFB

TTFB (Time to First Byte) — time to the first byte of the server response. Google considers a TTFB up to 800ms to be good.

  • Caching — pages should be returned from the cache, not generated every time
  • Hosting — VPS or cloud hosting is much faster than shared
  • CDN — Cloudflare reduces TTFB for visitors from different countries for free
  • Databases — slow SQL queries are the most frequent cause of bad TTFB

JavaScript and CSS Optimization

The browser cannot render the page while render-blocking resources are being downloaded and executed:

  • Move JS to the end of the body or add defer / async
  • Extract critical CSS (above-the-fold) and inline it in the head
  • Minify and compress JS and CSS files
  • Remove unused CSS (Coverage tab in DevTools)
  • Split large JS into chunks and load them lazily
⚠ Third-Party Scripts — The Main Enemy of Speed

Google Analytics, Facebook Pixel, chats, ad networks — every third-party script adds 100–500ms to the load time. Auditing third-party scripts via the Lighthouse Network tab is a mandatory step.

Fonts and Speed

  • Use font-display: swap — text is visible immediately, font loads in the background
  • Preconnect to fonts.googleapis.com and fonts.gstatic.com
  • Limit font variants — only those weights that are actually used
  • Consider system fonts for critical text (zero load time)

Fast Site — Fast Indexing

After improving speed, trigger a reindex of the updated pages via IndexFast. Google will see the Core Web Vitals improvements and update its data faster.

Try for free →

Mobile Optimization

Google uses Mobile-First Indexing — it indexes the mobile version of the site as the primary one. Therefore, mobile speed is more important than desktop.

  • Check mobile PageSpeed separately from desktop
  • Test on real devices, not just in DevTools
  • Buttons minimum 48x48px for easy tapping
  • Avoid horizontal scrolling
  • Popups should not obscure main content (penalty for intrusive interstitials)

Site Speed Checklist

  • LCP under 2.5 seconds on mobile
  • INP under 200ms
  • CLS under 0.1
  • All images in WebP format
  • lazy loading for images below the fold
  • CDN connected (Cloudflare or equivalent)
  • JS moved to the end or defer added
  • Server caching configured
  • TTFB under 800ms
  • font-display: swap for custom fonts
  • Third-party script audit completed
← Previous Article Website SEO Audit: Complete 50-Point Checklist in 2026 Next Article → Mass Google Indexing: How to Index 500+ Pages in 24 Hours