Why Is My Website So Slow? (And How to Fix It Fast)

← Back to all posts

Your website is slow. Maybe a customer mentioned it. Maybe you noticed it yourself. Maybe Google told you in Search Console. Whatever triggered the question, the answer matters -- because slow websites lose rankings AND customers.

Here's how to diagnose the problem and fix it, starting with the most common causes.

First: Measure It

Before fixing anything, get a baseline:

1. Go to pagespeed.web.dev 2. Enter your URL 3. Look at the LCP (Largest Contentful Paint) number

Google's thresholds:

  • Under 2.5 seconds: Good
  • 2.5 - 4.0 seconds: Needs improvement
  • Over 4.0 seconds: Poor
  • If your LCP is over 4 seconds, you're being actively penalised in rankings. We've seen small business sites with LCP over 20 seconds -- that's 8x slower than Google's limit.

    The 5 Most Common Causes (In Order of Frequency)

    1. Unoptimised Images (The #1 Cause)

    This is the problem on 80% of slow websites. Someone uploaded a 4MB JPEG straight from their camera. It's 4000x3000 pixels but displayed at 800x600 on the page.

    How to check: Open your page, right-click an image, and check its file size. If any image is over 200KB, it's probably too large.

    How to fix:

  • Convert images to WebP format (30-50% smaller than JPEG at same quality)
  • Resize images to their display dimensions (don't upload 4000px wide if it's shown at 800px)
  • Compress with a tool like ShortPixel, TinyPNG, or Squoosh (all free)
  • On WordPress: install ShortPixel or Imagify plugin (free tiers available)
  • Impact: Can reduce page load time by 50-80% if images are the main problem.

    2. Too Many Plugins / Scripts

    Every JavaScript file your page loads adds to the load time. Chat widgets, analytics, social media embeds, slider plugins, animation libraries -- they all add up.

    How to check: In PageSpeed Insights, look for "Remove unused JavaScript" and "Reduce JavaScript execution time."

    How to fix:

  • Audit your plugins. Remove anything you're not actively using.
  • Do you really need that chat widget? That slider? That animation library?
  • Defer non-critical scripts: ``
  • Load analytics asynchronously
  • Impact: Each removed script can save 100-500ms of load time.

    3. No Lazy Loading

    If all your images load at once when the page opens -- including images at the bottom that nobody can see yet -- that's wasted bandwidth that slows down the whole page.

    How to fix:

  • Add `loading="lazy"` to images below the fold
  • Do NOT lazy-load images in the hero/above-fold area (those should load immediately)
  • On WordPress: lazy loading is built in since WordPress 5.5, but check it's working
  • Impact: Significant on pages with many images (galleries, product listings, portfolios).

    4. Slow Hosting

    Sometimes the server itself is the bottleneck. Cheap shared hosting can have response times of 1-2 seconds before any content even starts loading.

    How to check: Look at TTFB (Time to First Byte) in PageSpeed Insights. If it's over 600ms, your server is slow.

    How to fix:

  • Contact your hosting provider and ask about their server response times
  • Consider upgrading from shared hosting to VPS or managed WordPress hosting
  • Providers with good performance: Cloudways, SiteGround, Kinsta, DigitalOcean
  • A CDN (like Cloudflare, free tier available) can dramatically improve response times for visitors far from your server
  • Impact: Can reduce TTFB from 1-2 seconds to under 200ms.

    5. Render-Blocking CSS/JS

    If your CSS and JavaScript files are loaded in the `` without `defer` or `async`, the browser waits for them to download before showing anything.

    How to check: PageSpeed Insights flags "Eliminate render-blocking resources."

    How to fix:

  • Move JavaScript to the bottom of the page, or use `defer`/`async`
  • Inline critical CSS (the CSS needed for above-fold content)
  • Load the rest of the CSS asynchronously
  • On WordPress: plugins like Autoptimize or WP Rocket can handle this
  • Impact: Can reduce LCP by 1-3 seconds.

    Quick Fixes vs Proper Fixes

    Quick fixes (do today):

  • Compress images with an online tool
  • Add `loading="lazy"` to below-fold images
  • Remove unused plugins
  • Enable browser caching
  • Proper fixes (do this week):

  • Convert all images to WebP
  • Audit and defer JavaScript
  • Set up a CDN (Cloudflare free tier)
  • Review hosting performance
  • Long-term fixes (if needed):

  • Upgrade hosting
  • Rebuild with performance in mind
  • Implement a proper caching strategy
  • How We Test Speed

    Our audit runs Google Lighthouse, which measures all three Core Web Vitals and gives specific recommendations for your site. We also measure your page size, count your scripts and images, and compare your speed to your competitors.

    If your competitor loads in 3 seconds and you load in 15, that's not just a ranking issue -- it's customers leaving before they see what you offer.

    *Find out exactly what's slowing your site down. [Get your SEO audit](https://seorankmasters.com) -- from GBP 29.*

    Want to know your SEO score?

    Get a free score check across 6 categories. Takes 30 seconds.

    Check My Score Free