Websites & online business
How to speed up a slow small business website
A slow website loses visitors before they read a word. The cause is usually one of a handful of things: big images, too many add-ons, slow hosting or no caching. You don't need to be a developer to find out which. Measure first, fix the biggest problem, then measure again.
The short version
The short version
- Test your key pages in PageSpeed Insights and look at real-user data first.
- Resize and compress images, and use WebP or AVIF where your platform allows.
- Remove plugins, apps and scripts that don't earn their place.
- Use caching and a CDN, and move hosts if the server itself is slow.
Measure before you change anything
Guessing wastes time. Start with Google's free PageSpeed Insights. Enter the address of a page and it reports on both mobile and desktop.
Test more than the home page. Try your busiest pages too, such as a service page, a product page or your contact page.
The report has two parts, and they answer different questions:
- Real-user data shows how the page performed for actual Chrome users over the previous 28 days. This is what your visitors really experienced. Small sites may not have enough visitors to show it, in which case you may see whole-site data or none.
- Lab data is a simulated test run on the spot. The mobile test imitates a mid-range phone on a mobile network. It gives a performance score from 0 to 100 and a list of suggestions.
A score of 90 or more is rated good, 50 to 89 needs improvement, and below 50 is poor. The score is useful for spotting problems, but don't chase 100. Real-user results matter more.
Write down your results before you change anything, so you can tell whether a fix helped.
What Core Web Vitals mean
Core Web Vitals are three measures Google uses to describe how a page feels to use. Google assesses each one at the 75th percentile of visits, so most visitors need a good experience for the page to pass.
| Measure | What it tells you | Good | Needs improvement | Poor |
|---|---|---|---|---|
| Largest Contentful Paint (LCP) | How long the main content, often a hero image or heading, takes to appear | 2.5 seconds or less | 2.5 to 4 seconds | Over 4 seconds |
| Interaction to Next Paint (INP) | How quickly the page responds when someone taps, clicks or types | 200 milliseconds or less | 200 to 500 milliseconds | Over 500 milliseconds |
| Cumulative Layout Shift (CLS) | How much the page jumps around while it loads | 0.1 or less | 0.1 to 0.25 | Over 0.25 |
INP replaced an older measure, First Input Delay, on 12 March 2024. Older articles that mention FID are out of date.
As a rough guide, a slow LCP usually points to images, hosting or render-blocking files. A poor INP usually points to heavy scripts. A poor CLS usually points to images without set sizes, late-loading ads or widgets, or fonts swapping in.
Fix images first
Oversized images are the most common cause of a slow small business site. A photo straight off a phone can be several megabytes and thousands of pixels wide, then shown in a box a few hundred pixels across.
1. Resize before you upload. Make the image no wider than the largest size it will actually be shown at. 2. Use modern formats. WebP and AVIF generally compress better than JPEG and PNG, and all modern browsers support them. Many platforms and image plugins convert automatically. 3. Serve different sizes to different screens. Responsive images let a phone download a small version and a large monitor a large one. Most website builders and current WordPress themes do this for you. On a custom site, ask your developer whether images use `srcset` and `sizes`. 4. Lazy-load images further down the page, but not the main one. Images below the fold can wait until the visitor scrolls. Your hero image or main product photo should load straight away, because it is often what LCP measures. 5. Give images set dimensions so the browser reserves space for them. This stops the page jumping as they load.
Cut back plugins, apps and scripts
Every plugin, app, chat widget, tracking pixel and embedded video adds work for the visitor's browser. Third-party scripts are a common cause of slow responses to taps and clicks.
- List everything that loads. Check your plugins or apps list, and any code added through a tag manager or your site's header settings.
- Remove what nobody uses. Old analytics tags, abandoned marketing pixels, sliders and duplicate features are common. On WordPress, delete unused plugins rather than just deactivating them. That also helps security, as the website security checklist explains.
- Ask whether each one earns its place. A live chat or AI chatbot can be worth the cost if customers use it. If you're considering one, check these things first, including how it affects the page.
- Load the rest later where you can. A developer can set non-essential scripts to load after the main content.
- Limit who can add code. Tag managers make it easy for anyone with access to add scripts that slow the site.
On Shopify, apps and theme code both affect speed, and Shopify provides web performance reports in the admin.
Hosting, caching and a CDN
If the server itself is slow, nothing else fully fixes it.
- Caching stores ready-made copies of your pages so the server doesn't rebuild each one for every visitor. Many hosts include it. On WordPress it is often a plugin or a host setting.
- A content delivery network (CDN) keeps copies of your images and files on servers closer to your visitors. Many hosts and website platforms include one, so check whether yours is already switched on.
- Cheap shared hosting can be slow when other sites on the same server are busy. If PageSpeed Insights repeatedly flags a slow server response after you've added caching, it may be time for better hosting.
- Pick a host with servers near your customers. For an Australian audience, a host or CDN with Australian locations helps.
Go easy on fonts
Each font and each weight (regular, bold, italic) is another file to download. Two families are usually plenty.
- Use system fonts for body text where your design allows.
- Ask your developer to use WOFF2 font files and a sensible `font-display` setting, which controls what visitors see while a font loads.
- Replace icon fonts with SVG icons where you can.
Make it a habit
Re-test your key pages after each change, and again after adding a new plugin, app or theme. If your site is in Google Search Console, its Core Web Vitals report shows how your pages perform for real visitors.
Speed is also worth checking after a security clean-up. A site that suddenly slows down for no clear reason can be a sign of unwanted code; see what to do if your website is hacked.
If you'd rather someone else worked through the list, a web developer or managed IT provider such as NovaSoft can run the tests and make the changes with you.
Common questions
Will a faster site rank higher on Google?
It can help, but it isn't a guarantee. Google says it shows the most relevant content even when page experience is poor, and good scores alone don't put a page at the top. Speed matters most for keeping the visitors you already have.
Why is my mobile score so much lower than desktop?
The mobile test simulates a mid-range phone on a mobile network, which is slower than a desktop on a wired connection. Many of your visitors are on phones, so the mobile result is the one to focus on.
My score changes every time I test. Is something wrong?
No. Lab tests vary a little each run. Look at the trend over a few tests, and give more weight to the real-user data.
Should I install a speed plugin?
A caching or image plugin can help on WordPress. Adding several plugins that do the same job usually makes things worse. Pick one, test before and after, and remove it if it doesn't help.
Sources
- Google: PageSpeed Insights
- Google for Developers: About PageSpeed Insights
- web.dev: Web Vitals
- web.dev: Largest Contentful Paint (LCP)
- web.dev: Interaction to Next Paint (INP)
- web.dev: Cumulative Layout Shift (CLS)
- web.dev: Interaction to Next Paint becomes a Core Web Vital on March 12
- web.dev: Serve responsive images
- web.dev: Choose the right image format
- web.dev: Browser-level image lazy loading
- web.dev: Efficiently load third-party JavaScript
- web.dev: Content delivery networks (CDNs)
- web.dev: Best practices for fonts
- Google Search Central: Understanding Core Web Vitals and Google search results
- Google Search Central: Understanding page experience in Google Search results
- Shopify Help Centre: Online store performance
This guide is general information, not legal or financial advice. If you think you’ve lost money or personal information, contact your bank and the services named above straight away.
Keep reading
Related help
Talk to NovaSoft
Want a hand with this at work?
These guides are free to use. If your business wants help putting the checks, accounts and devices in place, our team can do it with you.
