Why Your Website Is Slow (and What to Do About It)
The four usual reasons small-business websites load slowly (images, fonts, JavaScript, hosting) and how to find which one is hurting yours.
Most small business websites are slow for one of four reasons: oversized images, poorly loaded web fonts, too much JavaScript (usually from themes, plugins, and third-party widgets), or cheap, overloaded hosting. You can find out which one is hurting you in a few minutes with a free tool, and most fixes don't require a new website.
Why website speed matters for a small business
Speed affects both whether visitors stay and how Google evaluates your pages. Google's Core Web Vitals are part of its page experience signals, so a slow site can work against you when your pages are otherwise similar to a competitor's. Slow sites also lose people before anything appears, especially on phones. You don't need a study to see it: load your own site on cellular data and notice how long you'd be willing to wait.
How to tell if your website is slow
Start with Google PageSpeed Insights, which is free and measures your page against Google's Core Web Vitals. These are the three numbers Google uses to judge real-world page experience:
| Metric | What it measures | "Good" threshold |
|---|---|---|
| Largest Contentful Paint (LCP) | How long until the main content appears | 2.5 seconds or less |
| Interaction to Next Paint (INP) | How quickly the page responds to taps and clicks | 200 milliseconds or less |
| Cumulative Layout Shift (CLS) | How much the layout jumps while loading | 0.1 or less |
Test your homepage and your most important service page, and read the mobile results first; Google primarily evaluates the mobile version of your site. The diagnostics further down the report usually point straight at one of the four causes below.
1. Images that are too large
Oversized images are the first thing to check, because they're easy to get wrong and easy to fix. A photo straight off a phone or camera can be several megabytes and thousands of pixels wide. If it's displayed in a space a few hundred pixels wide, the browser still downloads the whole thing.
How to fix it:
- Resize each image to the largest size it will actually be displayed at.
- Use modern formats. WebP and AVIF are typically much smaller than JPEG or PNG at similar quality.
- Serve smaller versions to smaller screens with responsive images (
srcset). - Lazy-load images further down the page, but not the main image at the top. That image is often your LCP element, and delaying it makes the score worse.
- Set a width and height on images so the layout doesn't jump as they load, which helps CLS.
2. Web fonts loaded the slow way
Custom fonts make a site look distinctive, but each font file is another download, and browsers often hold back text until the font arrives. The problem compounds when a site loads several font families, each in several weights, from a third-party server.
How to fix it:
- Limit yourself to two font families and only the weights you use.
- Self-host the font files where you can, so the browser doesn't open a connection to another server.
- Set
font-display: swapso text appears immediately in a fallback font. - Preload the one or two font files used at the top of the page.
3. Too much JavaScript
JavaScript is usually the hardest speed problem to fix, because it accumulates quietly. Every slider, popup, chat widget, analytics tag, tracking pixel, and page-builder feature adds script the browser has to download, parse, and run. Heavy JavaScript is the main reason a page can look loaded but not respond to taps, which is exactly what INP measures.
Common sources on small business sites:
- Multipurpose themes that ship code for features you never use
- WordPress plugins, many of which add scripts and styles to every page
- Page builders
- Third-party embeds: chat, review widgets, booking tools, social feeds
- Several analytics and ad tags, sometimes installed twice
How to fix it:
- Audit what's actually loading. PageSpeed's "Reduce unused JavaScript" list is a good start. Remove what you don't use.
- Load non-essential scripts after the page renders (
defer), or only on the pages that need them. - Replace heavy embeds with a simple link or a click-to-load placeholder.
This is also the honest answer to "Is WordPress slow?" WordPress itself can be fast. Slow WordPress sites usually have a heavy theme, a long plugin list, and a page builder layered on top. Templates in general tend to carry this kind of extra weight, which we cover in template vs custom websites.
4. Hosting that can't keep up
Cheap shared hosting puts your site on a server with many other sites, and when they're busy, yours slows down. The symptom is a long pause before anything starts loading, which PageSpeed reports as slow server response time, or Time to First Byte (TTFB).
How to fix it:
- Turn on caching, so pages are served pre-built instead of generated on every visit.
- Put a CDN in front of the site so files are served from a location near each visitor.
- Match the hosting to the platform. Pre-rendered sites, which frameworks like Nuxt and Next.js can produce, are very fast to serve from a CDN.
- Budget realistically. Hosting for a professionally built small-business site typically runs $20–$50 a month; going much cheaper often means a crowded server.
Fix your current site or rebuild it?
Most speed problems can be fixed without starting over. Images and fonts are usually quick wins. JavaScript and hosting take more work, but they're fixable on most sites, and keeping things fast afterward is part of ongoing website maintenance.
A rebuild makes sense when the slowness is structural: a theme or page builder that loads heavy code on every page no matter what, or a platform that won't let you control what loads. If you're removing plugins one by one and fighting the theme for every small gain, your time may be better spent on a clean build. Every site in our web design services is built on Nuxt, Next.js, or optimized WordPress and designed to load in under 2 seconds, and our website redesign option starts at $2,000 if your content is worth keeping.
The short version
Slow small business websites usually come down to four things: images, fonts, JavaScript, and hosting. Test with PageSpeed Insights, aim for an LCP of 2.5 seconds or less, an INP of 200 milliseconds or less, and a CLS of 0.1 or less, then fix the biggest problem first. Most sites can be repaired; rebuild only when the theme or platform is the bottleneck.
Frequently asked
How fast should my website be?
Your main content should appear within 2.5 seconds on mobile, which is Google's "good" threshold for Largest Contentful Paint. We build every site to load in under 2 seconds.
Is WordPress always slow?
No, but it often is. WordPress slowness usually comes from heavy themes, too many plugins, page builders, or underpowered hosting, not WordPress itself.
How do I test my website's speed?
Run your homepage and a key service page through Google PageSpeed Insights and check the mobile results first. Its diagnostics point to which problem is slowing you down.
Do I need a new website to fix a slow one?
Usually not. Images, fonts, and many script problems can be fixed in place. A rebuild makes sense when the theme or platform itself is the bottleneck.