Why Your Website Feels Slow
By Artur Kraft • 5 minutes read •
Most slow websites I’m asked to look at have one thing in common: they’re running on WordPress. And that makes sense – WordPress powers around 43–44% of all websites on the internet today 1, so statistically it’s usually the culprit when something is sluggish. While I did move my WordPress blog to a static site, I do primarily use WordPress for my clients (for very good reasons), and I do make sure to optimise it as much as possible. Here are some most common issues I see:
Why your website feels slow
When a page loads slowly, what you see is just the symptom. Under the hood, your server might be doing far too much work: running heavy PHP, firing off inefficient database queries, loading dozens of scripts, and pushing unoptimised images. On a busy day, that can bring even a decent server to its knees.
Plugin problems
Plugins are both WordPress’s superpower and its biggest performance risk.
Common issues I see:
- Too many plugins doing overlapping jobs.
- Conflicting plugins fighting over the same hooks or database tables.
- Poorly written plugins running unnecessary or inefficient SQL queries on every page load.
Imagine a plugin that, on the homepage, runs this kind of query:
SELECT *
FROM wp_posts
WHERE post_type = 'post'
AND post_status = 'publish';On a site with thousands of articles, that’s a lot of data to pull when you might only need, say, the latest 5 posts.
A more sensible version would be:
SELECT ID, post_title, post_date
FROM wp_posts
WHERE post_type = 'post'
AND post_status = 'publish'
ORDER BY post_date DESC
LIMIT 5;Now you’re only fetching the fields you actually need, and you’re limiting the result set to a handful of rows instead of thousands. That means less CPU, less memory, and much faster response times.
Now picture not just one, but three or four plugins each doing something similarly heavy on every page load. You can see how quickly that becomes a bottleneck.
Heavy themes and JavaScript
Even if your plugins are under control, your theme can cause serious slowdowns:
- Themes that load multiple JavaScript libraries on every page, whether they’re needed or not.
- Page builders that add layers of nested HTML and inline styles.
- Animations, sliders, and effects that all require extra scripts and CSS.
Every additional script is another request, more parsing, and more work for the browser. On mobile connections, that really shows.
Unoptimised images
Unoptimised images are another classic issue:
- Uploading huge, print-quality images straight from a camera or phone.
- Using the same massive image for desktop and mobile.
- No compression, no modern formats like WebP, no responsive image handling.
All of that translates directly into slower page loads and frustrated users. A single oversized hero image can be larger than the rest of the page combined.
Shared hosting limitations
Even a perfectly optimised site will struggle if it’s on the wrong hosting.
On shared hosting, your website shares CPU, memory, and disk with many other sites. If one of them is hammered with traffic or misconfigured, everyone else slows down. You usually have limited control over PHP settings, server-level caching, and database tuning.
A better stack (for many sites) is a VPS or managed WordPress hosting, where you get more consistent resources and better control over performance.
Out-of-date WordPress, PHP, and plugins
Another very common problem: things simply aren’t up to date.
- Old PHP versions (like 7.x) are significantly slower than modern PHP 8.x.
- Out-of-date WordPress core and plugins can be both slower and less secure.
- Deprecated functions and poorly maintained plugins can generate warnings and overhead.
Keeping everything up to date isn’t just about security – it often gives you free speed boosts thanks to performance improvements in PHP and WordPress itself.
Caching (or lack of it)
WordPress is dynamic by nature – every page view normally means:
- PHP starts up.
- Multiple database queries run.
- The page is assembled and sent to the browser.
If that happens on every single request, your server works much harder than it needs to.
This is where caching comes in. Proper page caching lets you serve pre‑generated static HTML versions of your pages to most visitors. That means:
- PHP doesn’t have to run every time.
- The database isn’t queried repeatedly for the same content.
- Your server can handle far more traffic with the same resources.
Without caching, you’re effectively “grilling” PHP on every click, and that’s a sure recipe for a slow site.
Where I would start
There are hundreds of possible reasons why a website is slow, but for a typical WordPress site my first steps are usually:
- Remove plugins that are not genuinely needed.
- Replace heavy or outdated plugins with lighter alternatives.
- Update WordPress core, plugins, and PHP to supported, modern versions.
- Optimise or change the theme to reduce unnecessary scripts.
- Compress and resize images properly.
- Configure sensible caching so your site serves static pages whenever possible.
This not only improves speed but also security, stability, and long‑term maintainability.
If your website feels slow and you’re not sure where to start, get in touch with me for a free performance evaluation – I’ll review your setup, identify the main bottlenecks, and suggest practical fixes tailored to your site.
What hosting are you currently using for your website (shared, VPS, or managed WordPress)?

Comments
You can comment on this blog post by publicly replying to this post using a Mastodon or other ActivityPub/Fediverse account. Known non-private replies are displayed below.