In this guide, I’m going to go over the things you need to think about when choosing a WordPress host for your site. I’ll also recommend some WordPress hosting options.
WordPress is one of the most popular pieces of software for creating and running a website. One of the main reasons for its popularity is that it allows people to launch and run a website with little to no coding knowledge.
WordPress is what is known as a content management system. It basically allows you to create a website, and then to create and update the content on it. It also has powerful features allowing you to do things like have multiple authors for your site and have interactive community features like commenting.
WordPress is designed so that all this can be done without having to learn how to actually code a website.
The powerful functionality and relative ease of use has led to WordPress becoming hugely popular. As of 2021, WordPress is used to power around 43% of the top 10 million sites on the internet. It also powers all of our sites. We like how customisable it is to use and how many options there are to adjust how a website looks and works.
Whilst I have a background as a web developer, which means I can delve into the code of the site if I want to, I still appreciate how WordPress pretty much gets out of the way of letting us create and update our content without having to think about things like HTML or CSS coding. I also like that I can apply my coding knowledge to further customise our sites if I want to.
Most users choose to run their WordPress website through a company that provides and manages servers, and this is known as a WordPress hosting company, or WordPress host.
Whether you are hosting a blog, an e-commerce store, a photography portfolio, or a website for your business, you are going to need some kind of WordPress host. Let’s get into this guide by looking at what that is exactly.
What is a WordPress Host?
A WordPress host is a company which manages the software and hardware where the WordPress software is actually installed.
When you visit a website on the internet, what you are essentially doing is asking a computer somewhere in the world to send you a copy of that website so your browser can display it. That computer is known as a server because its job is to serve you data.
In the case of WordPress, the server will have a copy of WordPress installed on it, as well as various things that a WordPress installation requires, including web server software, a database and an operating system.
As a website owner, you don’t want to be thinking about server hardware, network connectivity, databases and operating systems. All you want is an interface that allows you to create and edit the content on your website.
You can think of this a bit like a webmail service. When you sign up for a webmail service, you don’t want to be worrying about how it works underneath it all or how e-mail is sent. All you want is an interface that lets you create and send e-mails, add attachments, and change your formatting. Your e-mail host handles all the rest.
A WordPress host does all this for your WordPress powered website. The WordPress host should handle all the technical side of running your server, keeping it up to date, installing the requisite software and installing WordPress. All you should have to do is choose how your website looks, and create content.
Self-Hosted WordPress.org vs. Managed WordPress.com
If you choose to use WordPress for your website, you will likely come across both WordPress.com and WordPress.org, and you might wonder which is the real WordPress!
Let me explain the difference.
WordPress.org is the website where you will find the software which powers WordPress sites. It’s a free product which is developed by a massive community of developers.
Anyone can download the WordPress software for free from WordPress.org and then install it on a server. If you already have a server that meets the requirements, then you could do this and get going.
In essence, a self-hosted WordPress website means that you decide where to install the WordPress software. All you need is a server somewhere in the world which is hooked up to the internet, and is capable of running the WordPress software.
In reality though, most website owners aren’t interested in the end-to-end process of setting up a server, and installing and maintaining things like an operating system, web server software and database software. These are all things WordPress needs to work.
In addition, a server and the software on it, like any Windows or Mac computer, needs regular software updates, and this generally isn’t something you want to be worrying about.
Instead of setting up and managing their own server, most users opt to use what is known as a WordPress hosting provider, or WordPress host.
A WordPress hosting provider normally gives you access to a server which already has WordPress installed on it. They handle the technical side of managing the server and all the software on it that WordPress requires, and you just have to get on with the design and content creation side of things.
Of course, if you are super technically minded you could set up your own server and manage the whole thing yourself. Honestly though, I would say the time you spend doing this will far outweigh any potential cost saving, even if you are technically minded.
You’re usually better off paying the slight premium for a host who handles it all for you. That way you can focus your time on content creation instead of server management.
Cloudways is an example of a WordPress host. Other well-known WordPress hosts include Bluehost (recommended for those just starting out), Kinsta, LiquidWeb and BigScoots.
If you’re looking for a WordPress host, check out my review of Cloudways, which is the host we currently use. I’ll also recommend some options at the end of this guide.
When you sign up with a WordPress host, you should get access to a server which has everything you need to start hosting your own site, including a WordPress installation. The hosting team should take care of the server and all the software on the server.
You just need to deal with the WordPress side of things.
WordPress.com is basically a managed hosting provider for WordPress, similar to other WordPress hosts. It’s available in both a free and paid version. If using WordPress.com you would sign up at the website WordPress.com to create your account and website.
This is an all-in-one solution. Your site is hosted by the team at WordPress.com. They handle all the technical side of things, and you handle creating the content for your site.
There are two options for hosting with WordPress.com, a free basic option and a paid Pro plan.
The free basic option comes with free hosting, although you get ads on your site and can’t add plugins to extend the functionality.
If you want to remove ads and add plugins or use your own domain name, this requires an upgrade to the paid plan. This is actually quite a good value option as of April 2022, when they simplified their plans. However it is not as competitively priced as something like Bluehost for those starting out.
There are some restrictions on the Pro plan around specific plugins you can’t use, but overall the price is quite competitive.
I’d say that the free WordPress.com option is a good starter option for people getting used to WordPress and managing their first website, although for most it will be a stepping stone to a paid option further down the road. The good news is that if you outgrow the free plan and decide to move to another host, you can easily export your site so you don’t have to start over.
What to Look for in a WordPress Host?
Now you know what a WordPress host is and why you need one, I’m going to go over the various features that you need to look for in a WordPress host. Knowing what is important will help you to differentiate between different hosting providers.
For the most part, the importance of these features will be the same whether you are running a travel blog, a food blog, a portfolio website, or a company website.
However, some types of websites put a bit more strain on a server, depending on how it is configured, and therefore may need a server which is designed to handle more load.
In particular, ecommerce sites that handle a lot of transactions per day, or sites with a lot of regularly updated content can require a more powerful server.
When evaluating a WordPress host, you definitely need to be thinking about what kind of site you have and how that stresses a server, so you can choose the right setup for your needs. Don’t worry if you’re not sure though, I’ll explain all this as we go.
Server Type: Shared Hosting, Virtual Private Server, or Dedicated Server for WordPress Hosting?
There are three main types of managed WordPress hosting on the market today. These are shared hosting, virtual private servers (VPS), or dedicated servers.
The difference between these three options comes down to how server resources are allocated. A server is just a computer, which means it has resources like memory and a processor.
Running a website takes up these resources, and hosting providers can choose to allocate these resources to the websites on their servers in different ways.
I’ll go through these three options so you can decide which might be right for you.
With shared hosting, your WordPress website will be hosted on the same physical server as a number of other WordPress websites. So multiple websites will all be competing for the same server resources like CPU, network bandwidth and memory.
This is fine if the sites are all very small as none of them will use very many resources. However, it has the significant downside that if any of these sites has a spike in traffic or runs into an error that starts to affect server performance, all the other sites on that server will be adversely affected.
In addition, if the server crashes, all the sites go down together.
To explain shared hosting in different terms, imagine your website was a tenant looking for somewhere to live. Shared hosting would be equivalent to your tenant sharing one large room with lots of other tenants. If one person makes too much noise, it disturbs everyone. If the lights go off, it goes dark for everyone.
The advantage of shared hosting is that it is very affordable. By running lots of sites on one server, the costs to the web hosting provider are lowered and they can pass this on to you in the form of low-cost hosting. Most low-cost web hosting packages use shared hosting.
In terms of a WordPress site, for a general blog or business site, shared hosting is normally fine up to around 10,000 to 15,000 visitors a month.
We used shared hosting for the first few years of our blogs until upgrading to a Virtual Private Server (VPS) as our traffic increased and our sites got too large for shared hosting. We also didn’t want to take the risk of someone else’s site on our server having the capability to knock ours out if they had a spike in traffic.
That said, the risks mean we’d recommend upgrading to a VPS if you’re running the site as a business critical enterprise where uptime is important. So for example an e-commerce site that would lose sales if down for a few hours.
Virtual Private Server
A virtual private server (VPS) works differently to shared hosting. Whilst there are still multiple websites on one physical server, the resources on the server are divided up and managed using specialist software, creating “virtual” servers.
What this means in practice is that each website on the server cannot exceed the resources allocated to them. If one user exceeds their CPU usage for example, it might affect their website, but it won’t affect yours. In this regard, a VPS is similar to having your own server, which is why it is called a virtual private server.
Of course, if the whole server goes down, your site will still go down, but the virtualization technology means it’s harder for individual users to do this – normally this only happens when something goes wrong at the host level.
Using our tenant example, a VPS is like living in a traditional, soundproofed apartment building. All the tenants have their own rooms. If you turn the lights on and off in your room, you don’t affect the lights in the other room. If you make a lot of noise, the soundproofing means no-one else is disturbed.
However, if the power to the building goes out because the local energy provider has an issue, all the lights still go off.
A VPS is the perfect balance between price and performance, and is what we’d recommend for all but the highest volume traffic sites. A VPS can easily scale to in excess of a million visitors a month.
A dedicated server is basically what you would imagine. You have the whole server to yourself, with all the resources allocated to your website. You’ve moved out of your shared apartment and have a nice detached property with no close neighbors.
These days, unless you have a huge site with millions of visitors a month, you probably don’t need a dedicated server. VPS technology means that you can get the advantages of a dedicated server without the disadvantages of shared hosting.
In addition, a VPS can easily be scaled up or down in resources, whereas with a dedicated server you’ll have to migrate to a different server if you outgrow your needs.
Server Type Summary for WordPress
In summary, we’d recommend a VPS for the majority of WordPress websites. Looking at our provider, Cloudways, they offer a range of WordPress VPS servers, starting from $10 / month.
For lower traffic sites (less than 10,000 visitors a month), or those for whom the odd bit of downtime is less important, a shared server from someone like Bluehost will likely be more cost effective.
Server Hardware for WordPress Hosting
Like any computer, a server is made up of a number of components. When it comes to hosting a website, the key components to consider are the CPU, hard drive type, storage space, and memory (or RAM).
If you’re interested in learning more about these in detail, you can read my guide to photo editing laptops, which goes into more detail about what these components do. Whether it’s a laptop for editing photos or a server on the web, the underlying components still perform similar tasks. I’ll provide a top line summary in this guide.
Note that depending on the host type, this information might not always be applicable. For shared hosting in particular, as the server resources are shared between a lot of sites this information won’t be available on a per website level.
CPU for WordPress Hosting
The CPU is the brain of the server. When it comes to WordPress hosting, most VPS and dedicated server hosts talk in terms of how many CPU cores you have access to. More CPU cores means the server can respond to multiple requests more quickly. So if lots of people visit your site all at once, the server won’t get tied up in knots trying to help them all.
A shared hosting service generally won’t list this information as there can be thousands of sites competing for the same CPU cores.
If you think about a restaurant with waiter service, a computer with more cores is the same as a restaurant with more waiters. If more customers come to the restaurant, they’ll all get served more quickly if there are more waiters.
However, if you don’t have lots of customers, the waiters will sit idle but you still need to pay them. So picking the right number of waiters, or in our case, CPU cores, is an important consideration.
For WordPress hosting, I’d recommend a hosting package with at least access to one whole CPU core.
Storage and Drive Type for WordPress Hosting
Storage refers to how much space you get on the server for your files, which is usually things like images, your WordPress theme, plugin files, and so on.
Images normally take up the bulk of your storage. You’ll want to ensure you compress these to save space and your users bandwidth – see my guide to optimizing images for WordPress for more.
Storage space is normally measured in gigabytes (GB). A gigabyte is 1,000 megabytes. As a guide, most web-optimised images will be between 0.1MB and 1MB, so a gigabyte of storage is enough for between 1,000 and 10,000 images.
The majority of sites likely won’t need more than 10GB to 20GB of storage space. Some larger sites with thousands of articles and images might need more of course. The only thing that really matters when it comes to hard drives is whether it’s a mechanical hard drive (HDD) or a solid-state hard drive (SSD).
The latter offers much faster read/write speeds, which means when someone requests an image for example, the server will be able to return it that much quicker. Always go for SSD based storage when picking a server. It’s like equipping your restaurant waiters with roller skates.
RAM for WordPress Hosting
Finally, memory, or RAM. This is also measured in gigabytes (GB), but it is a much faster type of memory used for temporary storage. For WordPress, you need at least 1GB of memory if you’re running one website on your server. If you plan to run more than one site on your server, then you might need more memory. 2GB or 4GB will give you breathing room.
If a server has more memory, then you can take advantage of it to increase the speed of your site by loading commonly requested assets into server memory. This is usually known as caching, and I’ll talk more about this soon.
As with CPU cores, shared hosting won’t list this sort of information as the resources are shared between many sites.
In summary, as a minimum, I’d recommend the following for a WordPress site with around 10,000 visitors a month:
- 1 core processor (CPU)
- 20GB storage, SSD based
- 1GB memory (RAM)
If you increase any of these, it will cost you more.
When you visit any WordPress hosting website and read through their marketing material, there is a good chance that you will be greeted by a lot of technical jargon. Usually this relates to the various versions of the underlying software stack that a website needs.
This is important, but some parts are more important than other parts. Let’s look at what is actually important.
As previously covered, the WordPress software sits on a server, and it needs various bits of software on the server to make it work. This is known as the technology stack. Let’s look at the main things you will want to think about.
PHP Version for WordPress
First, a WordPress install needs PHP. PHP is the programming language that WordPress is written in, and the server needs to be able to interpret this PHP and turn it into machine code. This isn’t too important. What is important is the version of PHP that your web host provides.
WordPress, as of 2020, recommends a PHP version of 7.3. However, it will still work on PHP versions 5.x and 6.x. The better WordPress hosts support the latest PHP version (currently 8.1), and will let you choose the PHP version you want for your site. Picking a 7.x or later version will make your site faster. PHP 7.x is approximately twice as fast as 5.x.
Database Version for WordPress
WordPress needs to store its configuration data as well as your content somewhere, and it does this in a database.
The two main database options are MySQL 5.6+ and MariaDB 10.1+. We would recommend MariaDB 10.1+.
Web Server for WordPress
WordPress runs on top of web server software. The web server is the software which receives requests over the internet and passes them on to WordPress to fulfill. Most web hosting companies offer either Apache or Nginx as a web server. Some, like Cloudways, offer a combination of the two.
In my experience, Apache is easier to work with as an end user, as it’s easy to set up things like redirects. Nginx is better at scaling to high volumes of requests, but harder to work with.
Our host, Cloudways, uses both, so you get the best of both worldseasy configuration with Apache and fast performance from Nginx.
Finally, there are a number of other technology options, including caching technologies like Varnish, Redis, and Memcached. These can all help to improve the server speed, and I talk more about caching further on.
Technology Summary and Recommendations
Overall, the technology stack is important for WordPress. Honestly though, most hosts these days have good technology stacks. As long as you can pick up-to-date PHP and database versions, have some sort of server-side cache technology in place, and know the web server software type, that is the main thing.
In summary, look for a host that provides the following for WordPress for the easiest configuration and compatibility, as well as solid performance
- PHP 7.x +
- MariaDB 10.1+
- Apache or Nginx
- A caching mechanism like Varnish
Price Model for a WordPress host.
When you come to choose a host for your WordPress site, obviously the price is an important consideration. Managed WordPress hosting is available from a few dollars a month to in excess of a thousand dollars a month.
For a VPS, you’re generally looking at a price in the range of $10-$20 a month for a smaller website (10,000 – 50,000 visitors a month), $20 – $80 a month for a medium sized website, (50,000 – 1 million visitors a month), and then $80+ per month for much larger sites (1 million visitors a month and up).
These are general figures of course, with individual sites varying depending on the site type. You can also pay a lot more than this depending on the host you choose.
When it comes to pricing, website hosts have different ways of charging for their services.
Visitor Number Based Pricing
A common way to charge is based on visitor volume. For example, if you look at the Kinsta plans here, their prices are primarily based on the number of visitors that the site receives. Other popular hosting services like Flywheel and WP Engine have a similar principle. There are some other differences, but the main reason you will pay more is if you have more visitors.
This might, at first glance, seem like a logical way to price a hosting service. More visitors means more load on the server and more bandwidth usage, so you should pay more. Right?
Well, personally, I’m not a fan of the visitor-based pricing system. First, there’s the issue of transparency around visitor volume. It’s usually measured by the host, and may include all kinds of things, including bots and spam attacks.
These visits do of course contribute to server load. However, they are not counted by analytics software like Google Analytics, meaning there can be a great disconnect between how many visitors you think you are getting, and how many your host is billing you for.
The other issue, which is more important in my opinion, is that not all WordPress sites are created equally. A well put together WordPress site with good caching, which offloads work to a Content Delivery Network (more on this later), will use much less server resources and bandwidth than a highly dynamic site that doesn’t take advantage of caching or a CDN.
Hardware Based Pricing
So what do I think is a fair way to bill for a web host? Well, I think it should be related to the underlying hardware you are being hosted on.
If you have a site that needs more resources, then you can pay more for more CPU cores, more RAM and more hard drive space. Network bandwidth is another fixed cost, so having this as a factor is another option.
Other Costs to Consider
Your WordPress host will also include some level of technical support, so this is a cost that needs to be added to the overall price.
Finally, there may be other features that can increase the cost, like offsite backups and e-mail servers.
If you look at the Cloudways pricing model as an example, you’ll see that it’s not based on visitor volume. Instead, it’s based on server hardware and bandwidth.
These means that if you want to fine tune your WordPress site, take advantage of a free CDN like Cloudflare, and cache your content, you can run a site with 100’s of thousands of monthly visits on a $10 – $30 Cloudways server with no problem.
Security is obviously important for any site on the internet. If your site goes down as a result of it being hacked or overwhelmed by malicious requests, or if user data is stolen, this will negatively impact your brand and revenue.
As such, you will want to pick a WordPress host that takes security seriously. This should include a number of features. To start with, you’ll want obvious measures like two factor authentication to protect your account.
Then, look out for features like DDoS detection and prevention, firewall capabilities, the ability to limit login attempts to your site and a promise of regular security updates to the software stack on the server itself. You should also check what processes are in place for fixing your site should the worst happen and it gets hacked.
Backups are a critical part of any WordPress site. I don’t think I can emphasise this enough. You need regular and reliable backups of your WordPress site, which should include the database and all your files.
Backups should be stored offsite, i.e., not on your server. That way, if the worst should happen and your server’s data is somehow corrupted beyond repair, your backup is safely stored elsewhere ready to be restored.
When evaluating a host, check what backup capabilities it has. You should be able to choose how often backups happen. These can vary from hourly backups to daily and weekly. I would recommend that most sites should run daily backups.
Another important thing to check is how long the backups are stored, which is known as backup retention. This might be a fixed period of time, say two weeks or four weeks. This means that your backups will be kept for that time period, and you should be able to revert your site to a version from that long ago.
The way backups are handled is also important. Some servers offer full backups, whilst others offer incremental backups. The former means that every time a backup runs, it will back up everything on your site.
This is a bit wasteful of storage space and network bandwidth, as many of your files such as images will likely not change very often. An incremental backup is a better option, as this will first take a full backup, and then subsequent backups will only be of changed files.
Of course, a backup solution is no good if you can’t easily restore your backup. So take a look at the documentation for how the backup and restore process works for your prospective WordPress host. It should be a question of just picking the restore point, pressing a button, and voila! Your website is restored.
Finally, whilst the majority of reputable WordPress hosts include some sort of backup, do check if this is included in the price. Offsite backup storage carries a cost, usually in cents per Gigabyte, and not every host includes this in their price.
In some ways this makes sense. Different websites have different needs and sizes. A website with hundreds of posts and thousands of images will require much more backup space than a small website with a few posts and a small number of images. As such, it does seem more fair to charge for the amount of backup space you actually need, rather than a one size fits all.
If a host does charge separately for backup, you will definitely want to ensure it uses an incremental backup process as otherwise your backup charges will quickly start to add up, especially if you choose to keep backups for a longer period of time.
There are also other options when it comes to WordPress backup solutions, including plugins that you can use. These are nearly all paid solutions, but if you don’t want to rely on your hosts’ backup, are a good option for extra piece of mind.
SSL / TLS Certificate Support
These days, every site on the internet should be secure. That means when you visit the site you get a little padlock icon in your browser, and the URL starts with “https://” instead of “http://”.
This security works in the form of a security certificate. When a visitor goes to a site on the internet, their browser will download a security certificate, which is used to authenticate that the site is what it says it is.
The original version of security certificates worked using a protocol known as SSL (Secure Sockets Layer), which is why they are often referred to as SSL certificates. However, SSL was actually superseded by TLS (Transport Layer Security) in 1999, so these days all sites run TLS certificates. However, the terms are usually used interchangeably.
Regardless of the terminology, you want visitors to your website to run on the secure “https” protocol, which means you need a TLS certificate issued by what is known as a certificate authority. You can get these for free from a site like Let’s Encrypt.
However, it’s a lot easier if your host just handles this all for you. You should just need to enter your domain, and let the host handle the certificate issuing. Certificates expire after a certain amount of time, so the host should also support automatic renewal otherwise when they expire users will receive an ominous warning in their browser, and in some cases will be blocked from visiting your site.
My recommendation is to pick a host that includes SSL/TLS certificate issuing and management. It should definitely be included as a free service.
Your website is important. If it is a commercial site and it becomes inaccessible, you run the risk of losing revenue, so you definitely want a host that is stable.
Most WordPress hosts will offer what is known as an uptime guarantee or uptime service level agreement (SLA). This agreement will normally guarantee an uptime as a percentage, such as 99.99%.
If your site goes down as a result of a hosting issue for longer than the guarantee, then this guarantee will normally compensate you based on the length of downtime.
Of course, this won’t cover you if your site becomes inaccessible due to an issue on your end, such as a failed plugin update or plugin incompatibility. This sort of issue is what backups are for.
Overall, I would definitely recommend picking a WordPress host which has a clearly defined uptime guarantee of at least 99.99%.
One of the most important decisions you’ll need to make when choosing a WordPress host is the physical location of the actual server.
The physical location of the server can make a big difference to site load times. The further away from your users the server is, the longer it will take to get a response.
I would recommend picking a server location that is close to the majority of your users. For example, if most of your users are in the USA, then a server that is in the USA will load faster for the majority of your users.
When picking a WordPress host, make sure it has server locations which are close to where your users are.
A CDN, or content delivery network, is another way to improve the speed of your website. A CDN works by replicating some of your website content onto servers around the world.
This way, if your visitor is for example located in Australia, but your website is hosted in the USA, the CDN will deliver files to the user’s browser from a location near to Australia. This will improve the site’s loading time.
If we think about a CDN in terms of restaurants, you can think of a CDN as being a bit like a franchise. If you wanted food from a popular fast-food restaurant for example, you wouldn’t travel halfway around the world to pick up a meal if there’s a franchise outlet offering the same products in your town.
A CDN also reduces the load on your server, as well as the bandwidth the server requires. It’s ideal for files which don’t change much, such as image and video files.
Personally, I find Cloudflare to be an excellent CDN solution. The free tier automatically serves the majority of our image content from their worldwide locations, reducing our server load and bandwidth use.
However, many server hosts also provide their own CDN features. This might either be included, or as a paid addon. If it’s paid, it will normally be charged by the GB, so you will have to decide if this is worth it for you. As I said, I think the free Cloudflare tier will work for most users.
WordPress is a complicated bit of software that is primarily designed for dynamic sites. What does this mean? Well, it means that the content on the site can be regularly updated, and whenever someone visits the site, they’ll see the latest version.
So, if I decide I want to change the content of this post, I can just edit it, and then the next time you come to read it, you’ll see the edited version. It also means if someone leaves a comment, the next visitor will see that comment.
This is great, but it comes with a major downside.
Basically, every time someone visits this site, WordPress has to do a bunch of work. First, it checks which post you are trying to read. It will then look that post up in the database where it stores all its data, to get the post content.
Then, a lot of work happens behind the scenes to deliver the post to you. WordPress supports something called plugins, which can change the look and content of a page, and each of those has to run when the page is requested.
Every single time a new person comes to the site, even if nothing has actually changed on the page, WordPress has to go through this rigamarole. This takes time, and as a site gets busier and busier, it doesn’t take long before the site can get overloaded. This means pages either get slower, or in a worst case scenario, the server crashes.
Luckily there’s a solution to this, and it’s called caching.
Let’s go back to our restaurant analogy from earlier. In this case, the WordPress process is a bit like the kitchen receiving an order, and you are the customer asking for a dish.
Imagine at the same time that you order a dish, five other people also order it. Now, for the first person, the kitchen has to look up the recipe, find the ingredients, put them all together, and plate it up. This takes time.
However, the kitchen isn’t going to do that every time. When the kitchen gets multiple orders for the same dish, it’ll make them all together. That way, the process is shortened. Those other five people will all get their dishes pretty much just after you. For really popular dishes the kitchen could batch produce them and freeze them for later service.
This is similar to caching. The first time a page is requested, WordPress has to build it all from scratch. But if someone comes along a few minutes later and requests the same page, your server will have it all ready to go. If someone arrives later on, the frozen dish could be reheated*.
For repeat queries of the same page, WordPress can skip the whole process of querying the database and running the plugins, and just return the completed page much more quickly. The technology that returns the already completed request to you is known as a cache.
There are various levels of cache. You are probably already familiar with your browser cache, which saves webpages as you visit them so they load faster the next time round, from your local browser cache. In the same way, WordPress servers have different caching levels.
Ideally, the host you choose will offer some level of caching. The fastest caches run on the server, separate from WordPress, such as Varnish. But there are also plugins available which provide caching, like W3TC, WP Rocket or Flying Press, which are far better than no cache at all.
Generally, I’d suggest picking a host that offers some level of caching for your WordPress site, as this will allow you to handle a higher load of users without having to pay for a much more powerful server.
The exception is if you run a very dynamic site with a lot of regularly changing content, or a membership site, where each user has to get a different page. In these cases, a cache might not help as much.
*Of course, this analogy isn’t perfect because frozen food takes time to reheat and can lose quality. Luckily, digital copies are exactly the same and retrieving a file from a cache is very quick!
However awesome your server and caching setup is, at some point (hopefully), your needs will outgrow your server size.
At this point you will want to increase the resources available to you. This will usually mean increasing available CPU, memory or hard drive space.
One of the nice things about a VPS over a shared or even dedicated server is that this is an easy thing to do. Normally it should just be a question of either asking your host, or using the interface they provide to increase the resources available.
In an ideal world, you should be able to scale in both directions – up and down. So if you go through a period of lower traffic, or you have overestimated the required server size, you can reduce the resources you require and save a bit of money.
When picking a WordPress host, I’d definitely recommend picking one that lets you scale up and down easily. You should also check their billing policy – ideally, they’ll only bill you for the time used at the new size, rather than a whole month for example.
Reporting and Log Access
I firmly believe that transparency is really important when it comes to a WordPress host. As an example, If I am hosting my website on a server, and I am contacted by the support team to say I am using too many resources, I want to be able to see graphs, charts and log files so I can see this for myself.
Being able to see resource utilization also means you’ll know if your server is capable of handling your visitor volume, and when it’s time to upgrade.
As a minimum, you should be able to see CPU usage over time, RAM usage over time, bandwidth usage over time and free storage. If any of these resources start to regularly run low, you look to what might be causing it. This might be a poorly coded plugin, or it might just be a higher volume of users.
As well as being able to see resource utilization, I believe it’s important to have access to the servers’ logs. Whilst these aren’t something you want to be looking at regularly, if your site has any issues (often caused by plugins or WordPress updates), it can be useful for either you or your developer to have access to these for troubleshooting.
Migration from Another Host
If you already have a WordPress website, or even a website on another platform like Blogger, then moving to a new host means moving your whole site. This is a process referred to as migration.
Whilst migrating a site isn’t too difficult, and there are lots of plugins and instructions to help out, it can still be a nerve wracking and daunting task if you’ve not done it before.
Therefore, you might prefer to pick a WordPress host that includes migration from another host as part of their hosting package. Most WordPress hosts only include migration from other WordPress hosts rather than platforms like Blogger. If you are coming from Blogger, see my guide to migrating from Blogger to WordPress for some helpful tips.
Another reason to pick a WordPress hosting provider instead of building your own server is that you will get some level of technical support.
Different providers offer different levels of support, so it’s important to pick a host that meets your needs.
First, you have to consider the availability of support and how the communication is handled. Personally, I would recommend a host that at least provides 24/7/365 live chat support. The internet doesn’t tend to take a break for weekends and holidays, so if your site has any issues during these times, you will still want to be able to get hold of someone.
Of course, you may prefer email or phone based technical support. If these are important to you, check if they are available for the hosts you are comparing.
When looking at the support options, check what kind of response times you can expect. Most hosts have some kind of response time guarantee for their support, so you know you will get a response to your query in a certain timeframe.
Then there’s the question of what the technical support will actually do. In my experience, most WordPress hosting technical support will be able to help you with server related issues. So if you can’t access your server, need help setting up SSL certificates or there are error messages on your site, they should be able to help out. They may also be able to help with things like setting up redirects, and helping you resolve any security issues or site hacks.
On the other hand, not all hosts will be able to help with your actual site. So this would be things like plugin updates, conflicts between plugins, site design, site speed, and so on. This kind of support normally requires a developer, and if hosts provide this support it will normally be at a significant price premium.
I’d suggest that you separate out hosting support and site maintenance in your mind as two different categories. If you need help with site design, plugins etc, consider hiring a WordPress developer. Most users don’t need this kind of assistance on a regular basis, so paying for it as part of a monthly hosting fee can be excessive.
For hosting issues, that’s what your WordPress host should be able to help with.
Of course, if you want a really hands off approach to your website where you don’t need to think about things like plugin updates, then you’ll want to go with a fully managed WordPress solution. These solutions definitely come at a price premium.
You might think that WordPress hosts are fairly equal when it comes to what you can do with your site, but this isn’t actually the case. Many WordPress hosts have restrictions in terms of what you can and can’t do.
The most common restrictions are around plugins. Some plugins for example are known to be particularly resource intensive, so hosts might block these to reduce server load.
Other plugins might duplicate features that the host already offers. For example, if a WordPress host has its own custom caching solution, this might conflict with third party plugins. As such, these might not be allowed.
Another example is backup plugins. Some hosts might not allow some types of backup plugins as they cause high server load or network use.
For an idea of what hosts might not allow, see this list of disallowed plugins at Kinsta, this list at Flywheel or this list at WP Engine.
Whilst I can understand the reasoning behind restricting plugins, for me it is usually a red flag. If a host is restricting plugins, it could be because it is sharing resources between clients, and as such they don’t want you to run a plugin that might affect other users’ experience.
Personally, I’m of the belief that if I want to run a CPU intensive plugin, that should be my decision to make. As long as I’m only affecting my VPS, then my host shouldn’t care. After all, if my resource usage is too high, I can always scale up my server to meet the demand.
Plugins aren’t the only restrictions of course. You might also be limited in terms of what versions of software you can run, or what sort of access you have to the server and directories. Some features of PHP might not be available, like libraries that allow for image conversion. These are nearly all restricted for performance reasons, although security is sometimes a factor.
Of course, it’s up to you which option you prefer. I like the flexibility of having the option to install whichever plugins I want. If I break my site as a result, well, I have a backup.
A WordPress site, as already explained, lives on a server. Different WordPress hosts will allow you varying options for access to the server.
Obviously, you will always be able to access your WordPress admin screen, which is where you can create posts, add and remove plugins, and manage your media library, amongst other tasks.
However, sometimes you might want to get more direct access to the server. Technologies like FTP, or preferably, secure FTP (SFTP), allow you direct file access to your server.
If something goes wrong with WordPress whereby you can’t access the admin page (usually as a result of a plugin update), then you will definitely want direct access to your server so you can either delete the offending plugin, or at least check the log files to get an idea of what’s gone wrong.
Another option to look for is SSH access to your server. This will allow you to directly connect to your server using a console command interface, and run various commands. This can be a good way to change configurations, check resource usage and use other command line tools.
This is definitely a bit more advanced, and not something you might want to use every day (or at all), but I believe it’s better to have it and not need it, than not have it at all.
Number of Websites
One thing to keep in mind when comparing WordPress hosts is how many websites you can host with your account. If you only have one website, then you might not be too concerned about this. However, you might decide to launch a new website, in which case being able to just add it to your existing hosting account without paying any additional fees will definitely be a nice benefit.
If you already have multiple websites you are planning on migrating to a new WordPress host, then you will definitely want to be sure that the account will support all of them.
Some WordPress hosts have a hard limit on how many sites you can add to your account, which will normally increase as the price increases. Others will have no limit, in which case you will only be limited by the resources on your server.
Honestly there’s no better option in this case. If you have lots of smaller sites though, then a host that allows for unlimited websites on your account will likely be more cost effective than a host which charges for additional sites.
If you’re familiar with running a WordPress website, then you have at some point probably experienced the phenomenon where you update to a new version of a plugin or WordPress, and everything goes wrong.
Sometimes this renders your site inaccessible, leaving you scrambling to get it all up and running again. Usually this will be either by restoring from a recent backup, directly accessing the server, or contacting your support team or developer.
You can avoid this problem with your live website by running what is known as a staging site. A staging site is a copy of your real site that isn’t accessible to the general public. It’s usually available behind a password protected page, and it’s basically a testing ground.
You can use a staging site to test changes and updates, and once you are happy with them, you can copy the staging site back to your live site and put everything live.
A staging site is definitely a useful feature, and I’d recommend picking a WordPress host that provides staging functionality. This should allow you to quickly clone your live site to staging, easily reset the staging site if you happen to break it, and also to push changes from the staging site to the live site once you are happy.
When you’re comparing WordPress hosts, an important thing to check is the length of the contract. Some hosts will just bill you hourly for what you use, and won’t tie you in to lengthy contracts.
Other hosts might require you to commit to a minimum of a month, a year, or even longer. Often signing a longer contract might result in a lower total cost, but I would always be wary of any service that requires you to commit for a prolonged period of time.
If you outgrow the service, or find that you don’t like it for whatever reason, getting out of a long contract can be costly or even impossible – you usually have to pay for the whole term.
With this in mind, I’d recommend picking a service that only commits you to a month or even less. Ideally, it should also have a money back period in case you change your mind after sign up.
Email / SMTP Support
Email is a very different beast to server hosting, and as a result many WordPress hosts don’t provide email services by default. Honestly, this isn’t a bad thing, if you want to be able to send and receive emails, it’s better to use a dedicated service like Gmail, G Suite or Rackspace.
Some hosts do include email hosting as part of the package, so if this is important to you, you’ll want to check if this is the case.
On Cloudways for example, they have an email addon which uses the well-known Rackspace product. This costs a minimal amount extra per month. This will allow you to use your blog domain name as an e-mail address, i.e. firstname.lastname@example.org.
The other piece of the e-mail puzzle is known as SMTP support. SMTP is a protocol for sending e-mails. Sometimes, your WordPress site needs to send e-mails. For example, if someone leaves a comment on this blog post and opts in to receive e-mail notifications of a reply, WordPress needs a way to send that e-mail.
Some hosts provide this out of the box. If they don’t, it’s usually very easy to configure a third-party SMTP service. This can either be done through your host, or using a plugin like this. With these plugins, you just need to connect to a third-party SMTP server such as Mailgun or SendGrid.
What Makes a WordPress Site Fast?
Site speed is really important these days, and there are a number of factors that go into making a WordPress site fast, as some of these are directly related to the host.
There is a fairly common myth that a faster host will automatically equal a faster website, and whilst this is partially true, there are a lot of variables that go into the speed of a website. Some of these are related to the host, but many others are not.
Let’s look at what does make a WordPress site fast, and which of these elements are related to the host, and which are not. We’ll do this by looking at the process of loading a web page on a website.
How Loading a Website Works
When you load a web page, a number of things happen in order.
1. You Type in the URL or Click a Link
First, your web browser will look at the URL you requested. For example, if you visit my website homepage, you will type “https://www.findingtheuniverse.com” into your browser’s address bar.
The first thing the browser will do is check its local browser cache to see if it has already loaded this page, in which case you can skip to step 7 as the browser will just load the page from it’s local cache.
More often though, you will be visiting a new page that is not in your cache. In this case, the browser needs to look up the URL of the website and find the server where my website is located. This is known as a DNS request. How long this takes has nothing to do with your host.
2. Browser Requests Page from Server
Once the DNS request is done, the browser will know where the server is, and will send a request to the server for the page requested.
The request to my server is the first part of the process in which the web host can make a difference.
3. Server Receives Request and Checks Cache
The request will come through the internet and arrive at the server.
If the server has a cache system like Varnish in place, it will check if there is a cached version of the page available. If so, it will return this to the browser and you move to Step 6.
4. No Server-Level Cached Version Available, Send Request to WordPress
If there’s no cache in front of WordPress, then the server passes this request to the WordPress software.
If WordPress itself is running a cache plugin like W3TC or Breeze, WordPress will check that cache first for the requested page. If it exists, it will return that to the user and you move to Step 6.
5. No WordPress Cached Version Available, Create Page Manually
If there is no WordPress level cached version of the page available, WordPress will generate the page html. This requires making calls to the local database, running the site plugins and running WordPress code.
Depending on the complexity of the WordPress setup, the speed of the server, and the number of plugins installed, this process can take a little while. Of course, it’s only going to be measured in the hundreds of milliseconds, but that is a long time in computing terms!
Once WordPress has created the page, it passes the data over the internet to the browser and you move to Step 6.
6. Browser receives data
When the browser receives the data, it starts the process of loading the page. How long this takes will depend on how big the page is, how many images it has and the speed of the user’s internet connection.
7. Page Loaded
Once loaded, the process is complete.
The period of time from the first DNS lookup (Step 1), to the time the browser receives the data (step 6), is known as the time to first byte, or TTFB.
Google recommends that a TTFB should be no longer than 600ms, or 0.6 seconds, for an optimal user experience.
As you can see from this simple series of steps, there are a number of times that we can skip steps, which all come down to caching.
If the server is able to return a cached version of the webpage, the TTFB will generally be fast regardless of server host. The main factor that will affect the speed will be the distance from the user’s browser to the server in the real world. In my experience, with a cache in place, the TTFB should be in the region of 50ms to 200ms.
If the server and/or WordPress itself does not have a cached version of the webpage, then WordPress will have to create it.
This will always take longer than serving a cached version, because WordPress has to dynamically create the page by running lots of code. How long this takes will depend on the speed of the host. I’d suggest 300 – 600ms would be the range to aim for.
In reality you are looking at a difference of a few hundred milliseconds in most cases between a fast server and a slower server. However, some hosts can take multiple seconds for that critical first byte. If this sounds like your site, then now is definitely the time to switch hosts!
So that was TTFB. That isn’t the end of the speed story when it comes to loading a webpage.
Once the server has sent the data to your browser, the browser will download it and start to display it to the user, which is Step 7 of the process. It will also start to download other elements of the page, like images or scripts that the page might need to run.
For the most part, the speed of the host will only play a small part in how long this takes. What is important at this point is the speed of the user’s internet connection. The other major factor is how well optimized the webpage is. This means things like serving correctly sized images, minifying scripts and so on.
Optimizing a WordPress webpage is a whole different topic, but the key takeaway here is that you can optimize a site a great deal regardless of the host.
In addition, as you should be serving a cached page to most users, the server host will normally only make a significant difference to very dynamic websites where caching is less effective. So a membership site or forum for example, where the content changes a lot, is harder to cache effectively.
In summary, a WordPress host can make a difference to site speed, but it is not as great a difference as you might think. Often, just having a good cache plugin in front of WordPress will make a big difference.
If you are on a shared server, where your WordPress site is fighting for resources with other sites, then moving to a VPS will likely make a noticeable difference.
If you have a site with millions of visitors a month with content that cannot be easily cached, like a membership site, ecommerce site or forum, then a very high-end server will be required to handle this level of load.
If you are running a standard WordPress site that you update no more than a few times a day, then a good VPS that has a solid technology stack with a good cache is all you need.
I would argue that unless you are running a very dynamic site where caching is less effective, you will not notice any major difference between a $50 a month VPS and a $500 a month VPS until you scale to millions of users a month.
Recommended WordPress Hosting Providers
Now that we have gone through everything you need to look for in a hosting provider, I wanted to share a few recommended WordPress hosting providers for you to consider.
Which one of these works for you will depend on your budget and needs, but hopefully one of them will meet your requirements. If not, I would hope this post has prepared you to find one that does!
- WordPress.com – the free ad-supported version of WordPress.com is an option to consider if you just want to try making a website and experimenting with WordPress.
- BlueHost – this is a well-known hosting provider who are known for good value starter plans on shared servers. We ran one of our sites on a shared BlueHost plan for many years until we outgrew it and moved to a VPS based host. If you have site traffic up to around 10,000 visitors a month or are just starting out, this is definitely an option to consider.
- Cloudways– we currently host with Cloudways, as we think they offer one of the best balances of price to performance. They offer VPS based plans with an optimised WordPress install. You can see our full Cloudways review here for more. If you have over 10,000 visitors a month, this is a great option plus they offer free migration from other hosting providers. You can get 10% off your hosting for the first three months. Just use the code TRAVELCATS when you sign up.
- Lyrical Host – this UK-based business offers a number of well-priced shared hosting plans. Despite them being shared hosting, they do optimise their setup to offer a more VPS like experience. You also get a lot of benefits with their plans, including WordPress specific technical support. You can also save 10% on your first month of hosting with Lyrical Host with the code FINDINGTHEUNIVERSE. If you are looking for a host that offers a lot of technical support which includes the WordPress side of things, at a great price point, and which you can scale as you go, this is a solid option.
There are of course many more hosts on the market to choose from, some at much higher price points. We feel that the above are some of the better value options, but hopefully from this post you are now equipped to make your own informed decision.
Hopefully this guide to choosing WordPress hosting has helped give you some tips for what to look for when choosing a WordPress host for your site.
We have a number of other articles and resources that we think you will find useful, covering both blogging and photography. Here are some to get you started.
Thanks for reading, and as always, if you have any questions about choosing a WordPress host, just use the comments section below. Well get back to you as soon as we can!