Why Is My WordPress Site Slow? Six Causes
6 min read
When a client says the site feels slow, the first instinct is usually that the server is underpowered, so they upgrade the plan. Money spent, barely any difference. The reason is almost always the same: everything that was actually slowing the site down is still there, now being dragged along by a faster machine. Below are six common causes ranked by how much they usually matter. Each one you can check yourself, and you can decide whether to spend anything once you have looked.
1. Measure before you change anything
A site feeling slow when you open it yourself might be nothing more than your own connection at that moment. Before touching anything, get a set of numbers you can compare against later, or you will never know whether a change helped.
The least effort route is to put the URL into Google PageSpeed Insights. You get separate mobile and desktop scores plus a list of what is holding the page back. Mobile is the one that matters. Most small business sites now take more traffic from phones than from desktops, and the mobile figure is usually much worse. A flattering desktop score has convinced plenty of owners that nothing is wrong.
Do not only test the home page. It is normally the most cared-for page on the site, while the article and listing pages are where the problems sit. Test one of each and you will find the direction faster.
2. Too many plugins, or one heavy one
This is the most common cause, and it is rarely one terrible plugin. It is accumulation. Every active plugin runs code on every page load, and many of them load their own stylesheet and script files as well. On a site carrying thirty of them, those extra files alone are enough to sink the load time.
The first job is not optimisation. It is an inventory. List every active plugin and ask, one by one, whether it is still doing something for you. Delete what you do not use rather than deactivating it: a deactivated plugin still has its files sitting on the server, where they can still be scanned and exploited.
Then look for overlap. More sites than you would expect run two caching plugins, two SEO plugins and two form plugins at the same time, which adds nothing and often makes them fight each other. Keep one of each kind.
If the site is still slow after the clear-out, find the heavy ones. The method is crude but it works: deactivate them one at a time on a staging copy and re-measure after each. Do this on a staging site, never on the live one. Deactivate the wrong plugin and a feature can vanish outright.
3. Images that were never processed
A photo taken on a phone and uploaded straight from the camera roll is often several megabytes. The browser has to finish downloading it before it can draw it, so five of them on one page is tens of megabytes. This is the easiest item on the list to fix and the one with the most direct effect. Usually you can see the difference the same day.
One rule covers it: do not make the browser download pixels it cannot use. If the slot in the layout is 800 pixels wide, a 4000 pixel original is waste. Resize to the size it actually displays at before uploading, then save it in a format with better compression, which typically halves the file at the same visual quality.
Three things to do before uploading
- Resize to the display size. Match the width of the slot in the layout instead of uploading the original.
- Save in a better-compressing format. Same quality, usually less than half the file size.
- Set the width and height. Without them the layout jumps around as images arrive, and that counts against your user experience score.
One setting that gets missed is lazy loading. Images below the fold can wait until the visitor scrolls, but the one at the top of the page should not be deferred. It is normally the element that decides how quickly the page looks like something, and deferring it makes the score worse.
4. No caching
Every time somebody visits, WordPress runs code, queries the database and assembles the page again. A hundred visits to the same page means assembling it a hundred times. Caching stores the assembled result and hands it straight to the next visitor, skipping the work.
On a content site with no logins and no basket, full page caching makes the biggest difference of anything here, often several times over. Install one caching plugin, turn on full page caching, and most sites get noticeably faster on the spot.
A small thing that wastes a lot of time: clear the cache after editing content. Otherwise you are looking at the old version, assume the change did not save, and do it all again.
5. The theme itself is heavy
Multipurpose themes are built so you can adjust anything from the admin screen, which means they ship with a large amount of features and layouts. The parts you never use often get loaded anyway.
Look in the theme settings for a switch along the lines of "only load the modules in use" and turn off what you do not need. Built-in sliders, animations and icon fonts can usually be disabled individually too. That step alone strips a fair number of files out of some themes.
Changing theme belongs last on the list. It is a big job: the layout gets rebuilt, content has to be moved and plugin compatibility can shift. Deal with plugins, images and caching first and most sites are already fast enough.
6. Fonts and third-party services
Font files are large on their own. A full Chinese, Japanese or Korean character set runs to several megabytes, and even Latin families add up once you load several weights and styles. Pulling them from an outside service costs another round of connection time on top. Serving fonts from your own server and keeping only the characters the site actually uses can cut the size several times over.
Fonts aside, social plugins, analytics, chat widgets and ad tags are all outside requests. Each one is a separate connection to somebody else's server, and that wait happens before your page appears. Start by counting how many outside domains a page actually contacts. Removing tracking tags and social buttons nobody uses normally clears out a fair number.
Whatever is left can usually wait for a scroll or a click before it loads. Chat widgets suit that especially well. Nobody arrives on a site wanting to talk to support in the first second.
7. When a hosting upgrade is actually the answer
If all six are done and the site is still slow, then it is the host. The way to judge is not the number of cores and gigabytes in the plan name. It is the pattern of symptoms.
| Symptom | Likely cause |
|---|---|
| Public site fast, admin slow | The server is short of processing power. The admin area is not cached, so it reflects the machine most honestly |
| Slow at peak, fine off peak | Neighbours on shared hosting competing for resources. How well tenants are separated is the host's decision, and you can neither see it nor control it |
| Slow once you have thousands of products or posts | A database query problem. What needs work is the database, not the plan |
| Everything slightly slow, evenly | The server sits far from your visitors, so every request carries that extra distance |
Slow WordPress sites are usually the result of accumulation: more plugins over time, bigger images over time, theme features switched on and never switched off. Work through the list above and most sites get much faster without changing host. If the site is still slow once that is done, an upgrade is finally worth paying for, and you will know exactly what you are paying for.
Common questions
- I installed a caching plugin and the site is still slow. Why?
- Caching fixes the time spent assembling a page. It does not shrink images and it does not remove outside requests. If the weight is a few uncompressed photos and a pile of tracking tags, caching cannot help with that. Read what PageSpeed Insights lists: the report usually points straight at the category the problem sits in.
- How many plugins is too many?
- There is no number. What matters is that each one is in use and that none of them overlap. Ten plugins each doing one job can easily beat five bloated ones. The useful test in practice is simpler: if deactivating one makes the site noticeably faster, that one is worth replacing.
- Does a bigger hosting plan help?
- It helps, but it is rarely the best first move. Hosting is a fixed monthly cost, while trimming plugins, compressing images and setting up caching are one-off jobs. Do those first and most sites no longer need the upgrade. If the site is still slow afterwards, the upgrade is money well spent.