You’re getting ready to setup your new website and now you face a decision: “Who do I choose for my hosting?”
Selecting a host is kind of a big deal, because everything from the speed and stability of your website, to its security and uptime can depend on making a good choice. And if you pick a host and set yourself up only to realize another host would be better for you, migrating your site can be a real pain in the neck.
As someone with many years in the web world managing my own sites and those of my clients, I’ve personally worked with the services of just about every major hosting company, and I’ve learned a great deal about what is important to look for in a host. Choosing a bad host can cause endless hours of headaches and in some cases lost money. However, choosing a great host can make your life a breeze.
In this guide I’m going to share some of the most important things I’ve learned over the years about hosting. I’ll help you understand the essentials of how hosting works, the key things to look for in a quality provider, and what type of hosting fits which projects. I’ll also give you some tips on how to avoid some of the most common pitfalls in hosting selection.
Note: the aim here is to be comprehensive and help out anyone looking for a host, no matter what their goals and limitations are. As such, there’s a lot of information here and some of it will be relevant to you, while some won’t be. If certain sections are not pertinent to your project, feel free to skip forward.
By the time you’ve finished reading you’ll be much more confident as you go out and choose the host that will form the foundation of your sites.
When you first get into setting up websites it can be very confusing navigating a lot of new terminology and concepts. So let’s start at the beginning: what exactly is hosting?
Note: If you already understand how hosting and domains work you can skip to the “Checklist” section below.
In a nutshell, a web host maintains a bunch of specially configured computers called servers. They look something like you see here:
In many ways these computers are just like your own; they run on operating systems like Linux and Windows, they store files, and they connect to the internet. The main difference is that servers are purpose designed to be opened up to the public so people browsing the web can access their content. Every time you look at a site on the web you’re actually connecting to a server somewhere and downloading the site’s files through your browser.
“Hosting” refers to a company renting you space on one of their servers so they can “host” your site there. You put all your site’s files onto the server, then the host takes care of letting people on the web connect to your space so they can view your site.
Now that you have the basics of hosting down, it’s also important to understand the difference between hosting and domain names as well as how they interact. This will help you to better to make sense of some of the inclusions of different hosting packages. Let’s go through the essentials.
When you sign up for a hosting account and are given some space on one of the company’s servers, you’ll be allocated an I.P. address that people can use to access that space. For example, the I.P. address of the server hosting the main Google site is 184.108.40.206. If you go to that address in your browser, you’ll be taken to Google.
Go ahead, try it: http://220.127.116.11
The problem with I.P. addresses is that they’re very hard to remember. Can you imagine trying to recite your I.P. address every time you wanted to tell someone about your website? This is where domain names come along to simplify things.
Domains are an easy name to remember that can be pointed to your hosting I.P. address. When someone types in your domain name they’ll be invisibly redirected to your I.P. address. So instead of having to remember 18.104.22.168 you just remember “google.com”. Much easier.
The analogy I like to use is that you can think of your hosting space as being like shop space you’ve rented in a mall. You can put all your stuff inside and the space becomes yours. This is like putting your website’s files onto your hosting space.
In order for people to be able to find your store you’re given an address such as “Shop 5, Mega Mall, Car Street, Shopping Town”. You can compare the address of your shop space to the I.P. address of your hosting space.
To help everyone remember and find your shop you give it a name like, “The Awesome Store”. People can easily remember the name, and through it they can find your address and make their way to your store. This is similar to the way domains work, making it easy to remember your site and find the way there.
Now, if you decide to move your store to another location, your address will change but you will keep the business name “The Awesome Store”. This means people can still just look up your store by name, find the new address and still be able to visit you. The same thing happens with domains and hosting. If you move your site to another hosting space your I.P. address will change, but you can just point your domain name to the new address and people will still be able to find you.
Tip: Typically, companies specialize in providing either domains or hosting. Some companies offer both, but in my personal opinion and observation it’s best to go with separate companies for your domains and hosting, choosing providers who are fully focused on each area. This also prevents you having “all your eggs in one basket”.
Now that you understand the essentials of web hosting, let’s move on to how to make your selection of provider.
Even a host that delivers a perfect service may not be the right one for you if it doesn’t meet the needs of your project. So before you even starting comparing hosts it’s important that you have all the details of your site’s requirements hashed out.
By answering the following ten questions you’ll have a full picture of the specifics you need in a host, and hence a much better understanding how the subsequent sections of this guide relate to you and your project.
This question is really where everything starts. Different types of sites such as WordPress, Ghost or static HTML come along with different technical requirements in a web host so it’s crucial to know how your site is going to be built before you begin.
We’ll talk about some of the most common types of sites in the next section.
Once you know what type of site you’ll be building, you need to find out the full list of technical requirements it will have; things like coding languages or types of databases.
We’ll go through the requirements of some of the most common types of sites below.
While all sites need to be secure to a minimum level, certain types of sites require more attention to security than others. If you will be processing customer credit card details through your site, or you’ll be storing personal information such as emails and passwords of your visitors, you’ll need to take steps to make sure this is all done safely.
Will you be setting up email addresses associated with the domain of your new site, such as firstname.lastname@example.org? If so, do you want to have your host handle your email rather than putting it through another provider? If you do, you’ll need to check that the email hosting included will fit your needs.
Are you just going to set up one site on your host, or will you need to setup multiple sites? If you’re setting up multiple sites, will they each be on subdomains like
myothersite.mydomain.com or will they need their own top level domain like
myothersite.com? And are there other requirements for your extra sites, such as additional databases?
The capacity your host will require is not just a matter of traffic, but also the file size of whatever you’re showing to that traffic. The bigger the file size, the more storage and bandwidth you’ll need your host to have. For example, a predominantly text oriented site will need a smaller amount of storage and bandwidth, while a site serving lots of high quality images will need larger amounts.
Virtually all hosting services are tiered to cater to various levels of traffic. Realistically, most new sites will have low levels of traffic, but if you know for certain your initial traffic levels will be high you’ll need to ensure your host can handle it.
Even if you expect your traffic to start low, do you have strong plans in place to build it up to high levels? If so, you may need to plan a way for your site to be able to increase its capacity as time goes on.
You don’t need to know the exact dollar amount you want to spend on hosting, but you do need to have a ballpark idea. If your budget is limited you may need to prepare yourself to do without some bells and whistles. If your budget is flexible, you may be able to benefit from some extra perks. We’ll talk about the pricing tiers of different hosting types further on.
It’s very possible to create almost any type of site with limited experience, however certain types of site management tasks will require different levels of technical experience. If you are confident, you may be able to tackle things like administrating your own server. If you are less comfortable, you may wish to look at fully managed services where everything is done for you. We’ll discuss what to think about in this regard below.
Most hosts will provide a chart or table of some kind giving a comprehensive list of everything that is included in their hosting packages. You should just need to have a little hunt around a prospective host’s site to find such a chart or table. Often you will find it in a comparison between the various hosting packages on offer.
Tip: If you can’t confirm the technical inclusions in a hosting package, it might be best to steer away.
If you know what type of site you plan to setup, such as a WordPress or ecommerce site for example, the first thing you need to check is that the hosting service you’re considering supports its technical requirements. If it doesn’t, no other considerations are relevant.
You’ll need to be aware of not just the coding languages and frameworks your site will need, but also the versions of those languages. For example, a common language used by content management systems is PHP. If your site needs PHP version 5 and your host only caters for version 4, it won’t work.
Languages or frameworks you might find your site needs include:
Once you’ve decided the type of site you’ll be creating, find out what its language and framework requirements are and have the list handy as you examine your hosting options.
If you’re creating a dynamic site (e.g. WordPress) rather than a static site (e.g. an HTML template), it’s very likely you’ll need the ability to create a database. If so, you’ll need to find out what type of database is needed and whether your host can provide it. As with languages and frameworks, you’ll also need to check on the version of the database system that is available.
As well as the above there are sometimes extra requirements a site might need, such as particular PHP extension or an additional hosting feature. We’ll cover where to look for extra requirements below.
If you’re setting up a WordPress site there are two areas you’ll need to check for technical requirements. The first is the requirements of WordPress itself, and the second is those of any specific themes or plugins you know you want to use.
The two main requirements of WordPress are support for the language PHP, and the ability to setup a MySQL database. Right now, you’ll need at least:
Ideally you should have:
You’ll find that almost all hosts meet these requirements, but it’s a good idea to check just in case.
As well as these two, if you want search engine friendly permalinks on your articles, e.g.
mydomain.com/my-awesome-article rather than
mydomain.com/p?=134, you’ll need support for
mod_rewrite on an Apache or Nginx based server. Most hosts do have this enabled due to the popularity of WordPress.
You can check out a full rundown on requirements and recommendations for WordPress here: https://codex.wordpress.org/Hosting_WordPress
Sometimes plugins and themes have additional requirements on top of those of WordPress itself. For example, you might have a plugin that needs extra tools to fetch information from an external source like Amazon, or to run tasks automatically at certain times. If there are specific themes or plugins you know you’re going to use, keep an eye out for requirements like:
Just take a quick look at the plugin or theme to see if anything like this is needed, then check the requirements against the packages offered by the host you’re considering.
If you’re just setting up a static HTML site requirements are typically very simple as you usually won’t need any special support on your host.
If you are planning on having an contact form however, make a plan for how you intend this to work. Some form to email scripts require CGI, in which case you’ll need to ensure your host supports CGI.
If you don’t want to mess around with CGI though, it might be easier to find a service that provides embeddable contact forms and leave it up to them to handle the email processing on their external server.
There are many options when choosing a CMS, however in most cases you’ll find their requirements to be very similar to WordPress. Most commonly PHP is required as well as a MySQL database, though sometimes you’ll also find different types of databases can be used such as PostgreSQL or SQlite. Once you’ve selected a CMS, make sure you find out what its requirements are and that the host you choose can support it.
And again, as with WordPress, if there are themes or plugins/extensions you want to use, check the requirements of those too.
Typically the best place to look for the technical requirements of a CMS is the download page or the installation documentation. Below are links to the current requirements of some of the most popular content management systems:
Generally speaking there are two types of ecommerce systems you might use; stand alone ecommerce sites and plugin-based ecommerce. For example, you might create a stand alone ecommerce site with a system like Prestashop, or you might use a plugin such as Easy Digital Downloads for WordPress.
In a nutshell, a standalone ecommerce system is just another type of CMS, with the difference being that its UI and security measures are optimized for online store creation. As such, you’ll find that the general technical requirements are much the same as with a regular CMS. Most systems will require PHP and a MySQL database.
Take a look at the requirements of some popular standalone ecommerce systems:
If you’re taking the plugin / extension path you’ll first need to ensure that the CMS you’re building on top of is supported by your host, and as with any other plugin / extension check on its specific requirements too.
Here are the requirements of some popular ecommerce plugins:
Whether you’re using standalone or plugin based ecommerce, in most cases you’ll find you need to find a host that can accommodate additional security measures, such as SSL certificates. We’ll talk more about security in a later section regarding security.
Your two best options with Ghost are to:
The first option would be best for you if you have limited experience with command line and server management, and the latter could be considered if you have managed your own servers before or are interested in learning how.
As well as the technical specifications you might have for particular types of sites, there are also other features you may need to factor into your selection of host.
Unfortunately there are always unsavory types getting around out there looking for vulnerable sites to hack or spam, so it’s important to have strong security. You’ll need to put your own measures in place, such as using security plugins on a CMS for example, but it’s also important to know that the host is providing strong security measures and features as well.
Check on the information the host provides about the security measures taken to protect their servers. Look for things like assurances the host is running firewalls and malware detection. Check to see if they talk about monitoring servers for unusual activity. Exactly what’s on offer will vary from host to host and it’s something you’ll have to read about and make a call on case by case. And don’t be afraid to ask a company representative about security measures to make sure you’re happy.
In almost all cases, if you are looking to host an ecommerce solution you’ll need an SSL certificate. If so, you’ll need to check to make sure it’s possible to get an SSL certificate with the hosting package you purchase.
“IP Deny” is a feature that’s available from certain hosts, and it allows you to deny access to your site for specific IPs. This can be a very handy tool to have available should you be able to identify the IP address / range of hackers or spammers.
Sometimes, even despite the best preparation, it’s possible for damage to be done to your site by hackers or some other unpredictable event. That’s why its important to choose a host that does regular backups so that if all else fails they can restore your site.
You should check, not only that your host performs backups, but also with what frequency. Ideally you should look for backups every 24 hours so if something goes wrong, especially on a frequently changing site, you’ll never lose more than a day’s worth of changes.
If you’re looking to have email addresses handled through your host you’ll need to first check that support for email is included. If it is, you should also find out how many email accounts you can have to make sure there are enough for what you need. Most hosts do include email and typically with unlimited accounts, but this is not always the case so it’s something to be double-checked.
If you find a hosting package that’s perfect for you but it doesn’t include the type of email you’re after, an alternative is put your email through a separate service such as Gmail instead.
In our checklist at the beginning of this article we asked about the amount of data you’ll be storing and what volume of traffic you expect. These two factors work together to determine how much storage capacity you’ll require and how much bandwidth.
Storage is the amount of amount of data the host will allow you to upload to their server. Bandwidth is the amount of data the host will allow your visitors to download from your storage space.
In the case of most hosts you won’t have issues of running out of storage space if you’re running a predominantly text-based site like a blog or a regular business site. However if you have a lot of data to store such as high numbers of quality images and videos, or lots of digital products, then you should be sure to check the storage capacity of a prospective host is sufficient.
After ensuring storage space is sufficient, you’ll then need to check on the bandwidth allowance. As a very general rule:
Bandwidth = site data × traffic
Let’s look at an example.
Generally speaking, most startup sites will be just fine with the bandwidth allowances of a typical hosting offer. However if:
…then you’ll want to choose a host that tells you exactly how much bandwidth you have allocated so you can make sure you’ll stay inside your allowances.
Once you’ve assessed that storage and bandwidth are sufficient for your site, it’s also a good idea to ask the host about upgrade pathways. It’s not unusual to want to grow your site and the traffic it receives, and if you do you’ll want to know the host you choose can move you onto a larger hosting plan without causing downtime to your site.
The easiest way to ascertain this is simply to ask a representative of your host before your sign up. Ask them what plans are available for you to upgrade to in the future and take a look at those plans to make sure you’re happy with them.
Also ask the host if they can handle the upgrade process for you, without you having to manually handle any transfers from one account to another. Finally, get an assurance from them that such an upgrade process will not cause any downtime for your site. If you’re just running a personal site a little down time may not bother you too much, but if you’re running a business site customers depend on, it’s a good idea to get assurances there won’t be significant interruptions before you purchase a plan from a host.
How many sites do you intend to setup on your host? In many cases you’ll find that the entry level package for a host will allow you to have only a single top level domain, and hence a single standalone website. Most hosts will allow unlimited subdomains, however, and you can use those if you’re happy having URLs like
If you only need one site with a top level domain to begin with that’s fine, but if you intend to create more later, ensure there’s a seamless upgrade path to a plan that allows more domains. And of course if you need to setup multiple sites from the beginning, be sure to select a plan that allows sufficient domains.
If you are setting up multiple sites, it’s likely you will also need multiple databases. As with domains, it’s common for entry level hosting packages to only allow a single database. Make sure there are enough databases for what you need to setup, or that you can upgrade your account later as required.
As we touched on earlier, the most common type of database used by CMSs and ecommerce sites is MySQL. However you might also need PostgreSQL or SQlite databases. Make sure you know what type of database you will need, and that the host you’re considering offers it.
When you visit a typical web host you’ll see four types of packages on offer; shared, dedicated, VPS and reseller. As an alternative to these, you also have the option to consider fully managed hosting. Let’s briefly go over what each one of these hosting types is.
You’ll recall at the start of this guide we described how, by purchasing a hosting account, you’re renting space on one of the servers maintained by the host. When you purchase a “Shared” hosting account you are sharing one server with a number of other customers who also rent space on that same server.
Shared hosting is the most common type of hosting, and is typically the right choice for any start up or smaller traffic and bandwidth site.
When you sign up for dedicated hosting, you are getting an entire server to yourself. You don’t share resources with any other customer, and you can control every single thing on the server from the operating system up. However, dedicated hosting is typically self-managed, meaning it’s up to you to handle a lot of the technical tasks the hosting company would normally take care of for you on a shared hosting service. Fully managed dedicated hosting is available, but you generally have to specifically go looking for it.
Dedicated hosting is for you have very large storage and bandwidth requirements. If you, or someone you have available to help, don’t have the the technical ability to handle server admin be sure to look for fully managed dedicated hosting.
VPS stands for Virtual Private Server, which is the next best thing to dedicated hosting. You can consider it “virtually as good as a private server”. With a VPS a single server is sectioned off into separate “virtual” servers, each with their own operating system instance. In a sense this is like shared hosting due to there still being multiple customers on one server, but the number is far, far fewer. As with dedicated hosting, VPS hosting commonly requires you to take care of some technical tasks yourself.
VPS hosting is for you if you need more storage and bandwidth than you can get through a shared hosting plan, but dedicated hosting is more than what you need. As with dedicated hosting, if you don’t have someone who can handle server admin be sure to look for a fully managed option.
Reseller hosting is a form of shared hosting, but it is setup so you can sub-rent portions of your own allocated space to others. However, even if you don’t want to resell web hosting, reseller packages can be worth looking at because sometimes they can provide a level of resources in between shared and VPS hosting. You might be able to get more storage space and bandwidth than any of the shared packages a host offers, while paying less than you would for VPS and avoiding any need to handle server admin.
With reseller hosting you’ll typically be given a special user interface where you can decide how to divvy up your space into sub-accounts, allocating storage space and bandwidth. If you want to use reseller hosting just for yourself, you can simply setup one account only and provide it with all the storage space and bandwidth you have available.
Reseller hosting is for you if you want more resources than shared hosting, but fewer than VPS, and you don’t mind dealing with one extra control panel to manage sub-accounts.
With all the hosting types above, a certain degree of self-management is required. Even on shared hosting someone might be handling all your server admin but it’s completely up to you to take care of your own site management.
For example, if you have a self-managed WordPress site or an Ecommerce site some of the things you’ll be responsible for are:
Managed hosts on the other hand typically focus on a specific type of site such as WordPress, Ghost or ecommerce, and some or all of the above site management tasks will be taken care of for you as part of the service.
Managed hosting is also typically heavily optimized for speed and performance, generally to a degree that would take a lot of setup and expertise to do yourself and would require a VPS or dedicated server. Most managed hosts also strive to provide a very high quality of customer support. However it’s generally more expensive because of the extra inclusions, and has tighter limits on the number of sites you can setup.
Note: if you are creating an ecommerce site that will be processing credit cards, managed hosting may be of particular value to you, because in many countries you are liable if your site is found to have insufficient security. Managed ecommerce hosts shoulder that liability for you instead.
Managed hosting is for you if you want to be as hands free with your site as possible, and your budget can stretch further than shared hosting requires. It’s also worth considering if you wish to process credit cards on your site securely.
With a web host, support and customer service is everything. I cannot stress this enough.
The fact of the matter is that the most pristine quality hosting service in the world cannot prevent 100% of problems from occurring. No matter which host you choose, it’s important to understand that technical issues, even if only small ones, can still happen.
This is why what really matters is how effectively and promptly a host deals with problems when they do arise.
Before you sign up with a host find out what support channels they offer, e.g. live chat, phone, email. Make sure that you’re comfortable with communicating via the methods available. For example; don’t sign up for a host which only uses live chat if you’re not comfortable with typed conversations and prefer the phone.
Also find out during which hours support is available. Is support available 24/7 or is it only during business hours? Which timezone are you dealing with? What about public holidays? Try to find out exactly what type of support you’ll get if your site goes down at 10pm on a Sunday evening. A good host will have someone ready to help you with your site no matter when something needs attention.
The other aspect of support that is probably most important of all, yet somewhat difficult to determine before signing up with a host, is the quality of the support given. Some hosts run huge businesses with vast numbers of customers and they can be very timely with support, yet not very good at actually solving problems. Other hosts run small businesses but offer very high quality of support which solves issues fast.
To find out the quality of a company’s support you’ll need to do some Googling. Generally speaking it’s not worth searching for hosting “reviews” because you will find search results overwhelmed by salespeople trying to pitch different hosts in return for a commission. I recommend going straight for finding out the worst case scenario for a given host by searching for phrases like “host A sucks”, “my host A site is down”, “host A downtime” or “host A site hacked”.
Remember, problems happen to every host so don’t be put off solely by finding examples of this with a company you’re considering. Rather, use what you find to get an insight into how the company was able to deal with issues and how happy their customers were as a result. Be sure to check on the date of search results to make sure what you read is recent and relevant.
Finally, here are a few extra hints I can offer you to help you avoid problems along the road.
Most hosts provide a control panel through which you’ll interact with your hosting account. It’s through your control panel that you’ll install sites, manage databases, make backups, setup security, manage email accounts and plenty more. If the host provides a poor control panel, you’ll have a poor experience handling these tasks.
There is more than one type of control panel, however the industry favorite and one I can personally vouch for is cPanel. If you’re new to hosting, try to ensure the package you choose comes with cPanel included.
It’s not uncommon to see the word “unmetered” listed as the amount of bandwidth you get with some companies’ shared hosting packages. These packages can still give you excellent value for money, but you should be well aware up front of what this really means.
The reality is that on every shared hosting server there are several other customers. The performance of their websites depend on your site not taking up too much of the server’s resources. For this reason your “unmetered” bandwidth will only be allowed to go so far in order not to affect other customers. You may have a package that might not overtly meter your bandwidth, but in practice there definitely is a limit–you just won’t know exactly what that limit is.
With “unmetered” packages what’s typically described in the Terms of Service, rather than the up front sales pitch, is that if your site grows in traffic to a certain unspecific point it can be shut down at any time with zero warning. You then might then find yourself needing to upgrade to a VPS or other more expensive package just to get your site back online.
If you only intend to run a small site with modest traffic this may never become an issue for you. However if you plan to grow your site’s traffic it’s better, in my opinion, to choose a company that tells you up front exactly how much bandwidth you have available so you can monitor your usage throughout each month and stay within it. This way you’ll have no nasty downtime or required upgrade surprises.
Hosting is a complex and technically demanding service to provide, and for this reason I recommend you ensure that the company you choose is 100% focused on hosting as their core business.
You should also try to establish that a prospective host has in the in-depth experience required to offer high quality hosting. You learned above about “Reseller Hosting”. It’s very possible to unknowingly sign up with a reseller who may know very little about hosting, and hence not be very well equipped to provide you with good service when issues arise.
Experience and dedication go a very long way to making a great hosting company.
Let’s do a brief recap of everything we’ve covered:
This guide is the distilled experience of many years building and managing sites for myself and clients, and through it I hope to help you avoid some of the pitfalls and speed bumps you can encounter when dealing with hosts.
The success of your web projects can be heavily influenced by the hosting foundation they’re built on. There are some absolutely fantastic service providers out there, and when they work wonderfully it gives you a huge advantage as you move forward with your web projects.
I hope that with this information it’s now much easier for you to go out and find yourself an outstanding host!