Most slow small business websites are slow for one of five reasons: oversized images, cheap hosting, too many (or the wrong) plugins, heavy fonts and third-party scripts, or sliders and video backgrounds. The first two account for most of it. Across the sites we look after for more than 100 clients, the causes repeat themselves with almost boring regularity.
The good news is that the biggest fixes are also the cheapest. The bad news is that the one people obsess over, the PageSpeed score, is the least useful number to chase.
The usual culprits, in the order we find them
1. Images straight off the camera
This is the most common problem by a long way. Someone uploads a photo from their phone or a photographer’s folder, and it’s 4,000 pixels wide and 6MB. It displays at 800 pixels wide on the page, but every visitor’s phone still has to download the full file.
Ten photos like that on a homepage and you’ve got a page that weighs more than a short video.
The fix:
- Resize before uploading. For most website use, 1,600 to 2,000 pixels on the long edge is plenty, even for full-width banners. Smaller images (team photos, thumbnails) can be 800 to 1,200.
- Compress them. A good JPG for the web is usually a few hundred kilobytes, not several megabytes.
- Use modern formats. WordPress handles WebP images natively now, and they’re typically much smaller than JPGs at the same quality. An image optimisation plugin can convert existing images for you.
- Make sure images below the first screen are lazy loaded, so they only download when someone scrolls to them. WordPress does this by default for most images.
On sites we inherit, fixing images alone often makes the biggest visible difference of anything on this list.
2. Cheap hosting
Hosting is where your website physically lives. Budget shared hosting crams hundreds or thousands of sites onto one server, so your site competes for resources with everyone else’s. The symptom is a slow first response: you click, and nothing happens for a second or two before the page even starts to load.
No amount of image optimisation fixes a slow server. And for a WordPress site built with a page builder like Elementor, the server is doing real work on every uncached page view.
Saving $10 a month on a site that’s meant to bring in thousands of dollars of work doesn’t add up. Look for hosting with Australian servers (your customers are here), current PHP versions, server-level caching, and support that answers. Ours is $25 a month + GST, which is part of how we keep client sites quick. Our hosting and maintenance page explains what’s included.
3. Too many plugins, or the wrong ones
The number of plugins matters less than what they do. A site with 25 well-built plugins can be faster than one with 8 bad ones. The problem plugins tend to be:
- Ones that load scripts on every page, even where they’re not used (a form plugin loading on pages with no form, for example).
- Several plugins doing overlapping jobs, like two caching plugins or three SEO tools.
- Social feed, chat and popup plugins that pull in external scripts.
- Old plugins nobody remembers installing.
Go through your plugin list and ask of each one: what does this do, and would anyone notice if it was gone? We’ve written more about how many WordPress plugins is too many.
4. Heavy fonts and third-party scripts
Fonts seem harmless, but loading four font families in five weights each adds up quickly. Most sites need one or two families and three or four weights in total.
Then there’s everything else that loads from someone else’s server: chat widgets, booking embeds, review badges, Facebook pixels, Google Tag Manager containers full of old tags, embedded Instagram feeds, YouTube videos. Each one is another request your visitor’s phone has to make, often to a server you don’t control.
You don’t have to remove all of them. But each one should earn its place. If the chat widget got two conversations last year, it’s probably not worth the slowdown.
5. Sliders, video backgrounds and animation
The big homepage slider with five full-width images means downloading five large images before anyone sees anything useful. Autoplay video backgrounds are worse. Entrance animations on every element can make a page feel sluggish even when it has technically loaded.
Replace a slider with one strong image and a clear headline. Put video further down the page, or use a thumbnail that loads the video only when tapped. Use animation sparingly, if at all.
Reading PageSpeed Insights without chasing 100
PageSpeed Insights is Google’s free testing tool. Paste in your address and it gives you two quite different sets of information. Knowing which is which saves a lot of wasted effort.
The top section: real visitors
If your site gets enough traffic, the top of the report shows data from real Chrome users who visited your site over the past 28 days. This is the part that reflects what your customers experience, and it’s what Google uses for its Core Web Vitals assessment.
There are three metrics to look at. According to Google’s published thresholds, “good” means:
| Metric | What it measures | Good |
|---|---|---|
| Largest Contentful Paint (LCP) | How long until the main content (usually the big image or headline) appears | 2.5 seconds or less |
| Interaction to Next Paint (INP) | How quickly the page responds when someone taps or clicks | 200 milliseconds or less |
| Cumulative Layout Shift (CLS) | How much things jump around while loading | 0.1 or less |
Google measures these at the 75th percentile, so most of your visitors need a good experience, not just the ones on fast connections. Many small sites don’t have enough traffic for this section to appear, which is normal.
The score: a lab test
The big number out of 100 comes from a simulated test: one load, on a simulated mid-range phone with a throttled connection. It’s useful for diagnosing problems and comparing before and after a change. It’s not what your customers experience, and it bounces around from one test to the next.
What we tell clients
- Look at the mobile result, not desktop. That’s the harder test and the one that matters for most local businesses.
- If the real-visitor section is green across all three metrics, your site is fine for speed, whatever the score says.
- A score in the 70s or 80s on a well-built small business site is perfectly respectable. Getting from 85 to 100 usually means stripping out things that help sell (photos, fonts, reviews) for no noticeable gain.
- Read the “Diagnostics” list for clues, not as a to-do list. “Properly size images” and “Reduce initial server response time” are worth acting on. Some of the more technical items aren’t worth the cost to fix on a small site.
Be wary of anyone promising a guaranteed 100. It’s usually achievable only by removing half your website, or by tricks that make the test look good without making the site faster for real people.
The order to fix things
If your site is slow, work through it in this order. Each step is cheaper and more effective than the one after it.
- Resize and compress your images, and convert them to WebP.
- Check your hosting. If the server response is slow, move hosts before doing anything else expensive.
- Turn on proper caching, either at the server or with one good caching plugin.
- Audit plugins and third-party scripts. Remove what you don’t need.
- Trim fonts to the families and weights you use.
- Replace sliders and video backgrounds.
- Then, and only then, look at the finer technical tweaks.
If your site is built in Elementor, our guide to Elementor and site speed covers the builder-specific settings. And because speed hits phone users hardest, it’s worth reading alongside designing for phones first.
Run PageSpeed Insights on your homepage and your busiest service page today, mobile setting, and note the three real-visitor numbers if they appear. If they’re not green and you’d rather not do the fixing yourself, we can speed up an existing WordPress site, and it’s part of what we sort out when we build or rebuild a site.