A slow website loses visitors before they read a single word. People do not wait, and Google takes loading experience into account when deciding what to show. The good news is that almost every slow WordPress site is slow for a handful of recurring reasons.
In this article I will explain how to measure speed without fooling yourself, what those reasons are and what usually works to fix them. If you are somewhat comfortable with WordPress, you can check some of these things yourself.
First, measure properly
Before changing anything, you need to know where you are starting from. The most useful tool is Google’s PageSpeed Insights, and it is worth understanding what it shows:
- Real-user data. If your site gets enough traffic, you will see how it loads for the people who actually visit it. This is the data that matters most.
- Lab data. A simulation on a slow phone and connection. It is useful for diagnosis, but the score varies from one test to the next.
Pay particular attention to the Core Web Vitals, the three metrics Google uses to assess the experience:
- LCP (Largest Contentful Paint): how long it takes for the main element to appear. It should be under 2.5 seconds.
- INP (Interaction to Next Paint): how long the page takes to respond when you interact with it. It should be under 200 milliseconds.
- CLS (Cumulative Layout Shift): how much elements jump around while the page loads. It should be under 0.1.
Always measure the mobile version and save the results. Without a “before”, you will not know whether your changes helped.
The most common causes
Images that are too heavy
This is the number one cause. Photos uploaded straight from the camera or a stock site, 4,000 pixels wide and several megabytes, to be shown in an 800-pixel space. They need to be resized, served in modern formats such as WebP or AVIF, and lazy-loaded when they are not visible at first.
Plugins that load things on every page
The problem is not so much the number of plugins as what they load. A forms plugin that adds its scripts to every page, even though the form is only on the Contact page, slows down the whole site. It is worth checking what each page loads and removing what is not needed.
A bloated theme or page builder
Some “multipurpose” themes ship with everything just in case, and visual builders generate a lot of code if they are not used carefully. That does not mean Elementor or Bricks are slow by definition: a well-built site with them can be fast. The problem is usually how the site was put together.
Weak hosting or no caching
If the server is slow to respond, nothing you do afterwards will fully make up for it. Very cheap hosting shared with hundreds of sites usually shows. And without properly configured caching, WordPress builds every page from scratch on every visit.
Third-party scripts
Live chats, ad pixels, embedded maps, social media widgets, several analytics tools at once. Each one looks small, but together they can be the heaviest part of the page. Ask yourself which ones you really use.
Poorly loaded web fonts
Loading five weights of a typeface from an external server delays the moment the text becomes visible. Two or three weights, hosted on your own server, are usually enough.
Old PHP and a neglected database
An old PHP version is slower and less secure. A database full of revisions and leftover data from plugins you no longer use also adds up, although it is rarely the main cause.
What you can check yourself
If you want to start on your own, this list will help:
- Run your site through PageSpeed Insights on mobile and write down the results.
- Check the weight of the images on your home page. If any is over 300 KB, there is room to improve.
- Take stock of your plugins and deactivate the ones you do not use (on a copy of the site first).
- Check which PHP version your hosting is running.
- Remove third-party scripts that do not add anything.
- Measure again and compare.
What usually does not work
- Installing several caching plugins at once. They step on each other and can break the site.
- Turning on every optimization option. Minifying, combining and deferring everything without testing often breaks menus, forms or sliders.
- Obsessing over a 100 on PageSpeed. A perfect score is not the goal. The goal is for the site to load fast for your real visitors.
When to get help
If you have done the basics and the site is still slow, the problem is probably in how it was built: the theme, the builder, the structure or the server. That is where a technical audit makes the difference.
When I optimize a website I always follow the same order: measure the starting point, find the real causes, prioritize what has the most impact, apply the changes in a staging environment and measure again. You can see the full service on WordPress speed & technical SEO or send me your website URL for a first review.
Need help with this?
