What Actually Makes a WordPress Site Fast? A Look Under the Hood of Your Hosting
When a WordPress site feels slow, the usual suspects get the blame: a heavy theme, too many plugins, images nobody bothered to compress. They matter. But a big part of your site’s speed is decided before a single line of theme code runs, by the server stack your host has put underneath it.
That stack is mostly invisible in the sales material. Every host promises fast hosting, and very few explain what it actually means. So let’s look at what happens when someone opens a WordPress page, and which parts of the hosting setup make the difference.
What happens on every request
A visitor’s browser asks your server for a page. If there is no cached copy, the web server hands the request to PHP. WordPress then loads its core files, the active theme and every active plugin, runs a series of database queries and finally sends HTML back to the browser.
On a small blog, that can take a couple of hundred milliseconds. On a WooCommerce shop with forty plugins it can easily take a second or more, for every page and every visitor. Almost everything a good host does for performance is about skipping that work or making it shorter.
The web server: Apache, Nginx or LiteSpeed
The web server is the first piece of software to touch each request. Apache has run a large part of the web for decades and is very flexible, but its classic process-based setup uses a lot of memory when traffic spikes. Nginx and LiteSpeed are event-driven, so they can juggle many simultaneous connections with fewer resources.
LiteSpeed has an extra trick for WordPress. It comes with its own server-level page cache, LSCache, which you control from the free LiteSpeed Cache plugin. Because the cache lives inside the web server rather than in PHP, a cached page can be delivered without WordPress starting up at all.
Page caching is the biggest single win
Most pages on a typical WordPress site look exactly the same to every anonymous visitor. A full-page cache saves the finished HTML the first time a page is built and hands that copy to everyone who comes after. Time to first byte typically drops from hundreds of milliseconds to a few dozen, and the same server can suddenly handle many times more visitors.
Whether you use LSCache, a plugin like WP Rocket or FlyingPress, or a cache in front of the server, check that it is actually working. Most caches add a response header that says HIT or MISS, and you can see it in your browser’s developer tools. Remember that the first visit after the cache has been cleared will always be slower.
Object caching covers what the page cache can’t
Page caching has one big blind spot: anything personal. Logged-in users, the WordPress dashboard and, above all, the cart, checkout and account pages in WooCommerce can’t be served from a shared cache, because every visitor needs their own version.
This is where a persistent object cache comes in. Out of the box, WordPress only keeps the results of database queries for the duration of a single request and then throws them away. Connect Redis as a persistent object cache and those results stay in memory between requests, so the database is asked far less often. On busy admin screens and in WooCommerce checkouts, the difference is usually easy to feel.
You can’t switch Redis on from the WordPress dashboard alone. The host has to provide it, so it’s worth checking whether your plan supports it before you actually need it.
Storage and PHP, the parts nobody talks about
Uncached requests hit the disk: for PHP files, for the database, for images being resized. NVMe drives connect over the server’s PCIe bus and handle far more simultaneous reads and writes than older SATA SSDs, let alone spinning disks. You won’t find the storage type in your theme settings, but you’ll feel it on every uncached page view.
The PHP version matters as well. Current PHP 8 releases are faster than the PHP 7 versions many older sites still run, and the last PHP 7 branch stopped receiving security updates in November 2022. Also ask about PHP workers. Each uncached request occupies one while it runs, and if they’re all busy, say during a campaign, new visitors simply wait in line.
WooCommerce is the real stress test
A brochure site can live almost entirely off its page cache. A web shop can’t. Cart contents, stock levels, shipping rates and payment callbacks all need PHP and the database on every request, and the load tends to peak exactly when you run a sale.
That’s why dedicated WooCommerce hosting is a different product from an entry-level plan. The environment has to be sized for uncached traffic and a busy database, not just for serving cached pages quickly.
Distance still matters
A page served from the other side of the world will always feel slower than one served nearby, because every round trip between browser and server takes longer. For visitors in the Nordics, hosting in Northern Europe keeps those round trips short. For European businesses it has a second benefit: customer data stays inside the EU, which makes GDPR a lot simpler.
When a simple webhotel is enough
Not every site needs a managed platform. In Denmark, standard shared hosting is usually sold as a webhotel, a package with web space, databases and email where many sites share one server. For a small site with modest traffic and good page caching, that can be perfectly fine.
Once the site becomes important to the business, you want the pieces above in place and looked after by someone else. Managed WordPress hosting on LiteSpeed with NVMe storage, Redis support, daily backups and a staging environment covers most of them. That’s the setup Danish hosting provider Hostious uses for its WordPress plans, with its servers inside the EU and support available in Danish around the clock.
Five questions to ask your host
Before you blame your theme, put these questions to your current or future host:
- Which web server do you run, and is there a server-level page cache?
- Can I use Redis or another persistent object cache?
- Is the storage NVMe, and how many PHP workers does my plan include?
- Can I choose my own PHP version and test changes on a staging site?
- Where are the servers, and how often are backups taken?
Clear answers to those five questions will tell you more about how fast your WordPress site can get than any “blazing fast” headline on a pricing page.