Web development 7 min read
Why your website is slow and what usually causes it
The usual reasons a business website loads slowly, how to measure them and which fixes to make first.
On this page
If you are asking "why is my website slow?", the cause is usually one of a few familiar problems: large images and unnecessary scripts, hosting that is too small or badly configured, slow database queries, or plugins and third-party tools doing too much work on every page. Most slow websites have more than one of these at once. The good news is that each can be measured, and fixing the biggest problem first often makes a noticeable difference.
Website speed matters for visitors, who leave slow pages, and for search engines. Google recommends that site owners achieve good Core Web Vitals, a set of metrics that measure loading performance, responsiveness and visual stability. This guide explains the common causes of a slow website in plain terms and which fixes to do first. If you would like help with your site, our website service page explains how we work.
How to check if your website is really slow
A site can feel slow on your office connection and fast elsewhere, or the other way round. Measure before deciding what to fix.
- Test the pages that matter. Check your home page, a key service or product page and your contact or checkout page. Different pages are slow for different reasons.
- Use a page speed tool. Google's PageSpeed Insights tests a page and reports its Core Web Vitals, both from real visitors where data is available and from a lab test. It also lists suggested improvements.
- Test on mobile. Many visitors use phones on mobile data. Mobile results are often slower than desktop, and they matter more.
- Note the server response. If the page takes a long time before anything starts to appear, the problem is likely on the server: hosting, database or code. If the first content appears quickly but the page takes long to finish, the problem is more likely images, scripts or third-party tools.
- Record the results. Write down the scores and timings for each page, so you can tell later which changes helped.
The three Core Web Vitals give useful clues. Largest Contentful Paint measures loading, Interaction to Next Paint measures how quickly the page responds when someone taps or clicks, and Cumulative Layout Shift measures how much the page jumps around while loading.
Large images and unused scripts
The most common reason a page loads slowly is simply that it asks the browser to download too much.
Images
- Resize images to the size they are shown. A photo displayed as a small card does not need to be uploaded at full camera resolution.
- Compress images. Compression reduces file size with little visible change in quality.
- Use modern image formats where your platform supports them, as they are usually smaller for the same quality.
- Load images below the fold later. Images further down the page can load as the visitor scrolls, a technique called lazy loading.
- Set image dimensions. Giving images a set width and height stops the page jumping as they load, which improves layout stability.
Scripts and styles
Scripts are pieces of code that add features, such as sliders, chat widgets and animations. Styles control how the page looks.
- Remove what you do not use. Old tracking codes, unused sliders and features from past campaigns often remain on every page.
- Load scripts only where needed. A booking widget does not need to load on your blog posts.
- Delay non-essential scripts. Scripts that are not needed for the first view can load after the main content.
- Limit fonts. Every extra font and weight is another file to download.
Hosting and server limits
If the server is slow to respond, everything else waits. Hosting problems often show up as a long delay before anything appears.
- Check your hosting plan. Low-cost shared hosting, where many sites share one server, can be slow at busy times.
- Check the server location. A server far from most of your visitors adds delay to every request. A content delivery network (CDN), which stores copies of files on servers around the world, can help.
- Use page caching. Caching saves a ready-made copy of a page, so the server does not rebuild it for every visitor. Pages that differ for each visitor, such as carts and account areas, must be excluded.
- Use a supported PHP version if your site runs on PHP, as many do. PHP lists which versions still receive fixes on its supported versions page.
- Check resources during busy periods. A site that is fast on a quiet day may slow down during campaigns or sales if the server runs short of memory or processing power.
Slow database queries
Websites that show changing content, such as products, bookings or articles, read it from a database. Slow or repeated database queries can delay every page.
- Growing data. Old records, logs and temporary data build up over time and can slow queries down.
- Missing indexes. An index helps a database find records quickly, like the index in a book. Tables without the right indexes get slower as they grow.
- Repeated queries. Poorly written code can ask the database the same question many times on one page.
- Heavy searches and filters. Complex product filters or reports can be expensive to run on every visit.
These problems usually need a developer to measure and fix. The fixes, such as adding an index, caching results or rewriting a query, are often small once the cause is found.
Plugins and third-party tools
Content management systems such as WordPress make it easy to add features with plugins. Each plugin adds code that may run on every page. Third-party tools, such as chat widgets, analytics, advertising tags and embedded videos, add their own scripts and connections to other servers.
- List every plugin and tool, and why it is there. Remove anything no longer needed.
- Look for overlaps. Two tools doing the same job waste resources and can conflict.
- Test the effect of each heavy tool. On a staging copy, the private test version of your site, disable one tool at a time and measure the difference.
- Load third-party tools carefully. Many can be delayed until after the main content, or loaded only on pages where they are used.
- Replace heavy tools with lighter options where a feature is important but the current tool is slow.
If your site is an online store, our guide on how to speed up a slow WooCommerce store covers store-specific issues such as caching around the cart and checkout.
Which fixes to do first
With measurements in hand, prioritise by impact and effort:
- Fix the biggest problem first. If images make up most of the page weight, start there. If the server is slow to respond, look at hosting and caching.
- Start with quick wins. Compressing images, removing unused plugins and deleting old scripts are usually low-risk and fast.
- Then address hosting and caching, which can improve every page at once.
- Then look at the database and code, which usually needs a developer but can solve deeper problems.
- Measure after each change, and keep changes on a staging copy until you are confident they work.
- Keep it fast. Test new plugins, tools and design changes for speed before adding them to the live site.
Regular maintenance keeps a site fast once it is fixed, and our guide on what website maintenance includes explains the ongoing work.
Summary
- Slow websites usually suffer from heavy images and scripts, weak hosting, slow database queries or too many plugins and tools.
- Measure key pages, especially on mobile, and use the Core Web Vitals to understand where the delay is.
- Resize and compress images, remove unused scripts and load only what each page needs.
- Use suitable hosting, page caching and a CDN, and keep the server software supported.
- Fix the biggest problem first, measure after each change and test new tools before adding them.
A faster website is easier to use and gives every visitor a better first impression. If your website is slower than it should be, you can tell us about it here.