How to host a website - The Ultimate Guide
By now you’ve managed to find an awesome website idea, you’ve secured your preferred domain and you’ve even decided on development technology. So, what’s left?
Your next difficult question is, “how to host a website?”
Making the right hosting choice is actually quite important, because it will affect important factors like uptime, loading speed, and stability.
Just ask yourself, do you bother waiting for a website that needs 10seconds+ to load? Would you like to use a website that is down every time you happen to visit?
Didn’t think so…
This guide will explain everything you need to know, covering everything from what web hosting is to how you go about setting it up.
What is website hosting?
A Website host is basically an organization that rents out space on their servers.
These servers are in many ways similar to your own computer. They run an operating system, like Windows and Linux, they can store files, and they can run programs. The main difference is that these servers are specifically setup to make some files available to the public.
These public files are what you end up seeing as a website in your browser.
So, every time you go to a website your browser actually connects to a server somewhere and downloads the required public files, and the loads them for you to see.
Website hosting is then the process of storing your website on a server and making it accessible to the public.
How is hosting and domain name related?
To take the explanation a bit further, let’s look at how hosting relates to a domain name.
- You type in a domain name in your browser, and that gets sent as a request to the DNS Servers
- The DNS Servers goes through several steps to figure out the IP address for the domain name and sends it back to the browser. Check out this post for more details about the DNS steps.
- The browser sends an http request to the IP address
- The server with that IP returns the website to be rendered in the browser.
When you eventually sign up with a web host you will be allocated some space on their servers. The space will also be allocated an IP address that will allow visitors to find your website.
The link between the IP address and domain name gets stored on DNS servers. If you at any point change host, you will be allocated a new IP address, and the link between domain name and the new IP needs to be updated on the DNS servers.
Do I need a website host?
Although it’s possible to host your website on your own server, I strongly advise you to not go for that option (unless you really know what you’re doing).
Just to give you an idea, in order for you to successfully host a website on your own, you would have to:
- Buy a server to store your website on
- Ensure continuous power supply to keep your website online at all times, including power backup in case of power outage.
- Have a really good internet connection to handle all the traffic
- Ensure that sufficient security measures are in place to avoid hacking
- Keep software up to date at all times
I could have mentioned more, but you get the point.
Setting up a physical server on your own and hosting your website on it is both complicated and costly. That’s the reason why I strongly recommend that you go for a professional web host that will handle all of these things for you.
Managed vs Unmanaged
When we now start looking into all the different hosting options out there, it’s easy to get a bit lost.
The first thing you should understand is the difference between managed and unmanaged hosting.
All hosting options falls in either of the two categories. So, if you manage to decide on which one that fits you, you’ve reduced the number of options by 50%.
What is managed hosting?
We know that hosting is about storing a website on a server and making it accessible to your visitors.
The most basic requirement of any hosting option is to have a physical server available, and normally an operating system installed.
But in order to get a website up and running you also require some additional software installed. This could be things like a webserver (like Apache), a database (like MySQL) or support for a backend language (like PHP).
With managed hosting, all of this, and a lot of other server tasks, is handled for you.
Managed hosting is basically about paying a bit extra in order to have someone else to setup, maintain and monitor the server for you.
For most beginners that just wants to focus on creating their websites, managed hosting is the preferred option.
What is unmanaged hosting?
Unmanaged hosting is then the opposite. Here you would typically just get a server with an operating system installed.
What you do on that server, which software you install, which security measures you establish, and whether or not you decide to do backups, is entirely up to you.
Unmanaged hosting is then basically about renting the required hardware to get a website online, with the expectation that you know how to do the rest in a correct and secure manner.
Unmanaged hosting is typically chosen by people that either are familiar with these kind of management tasks themselves, or have access to developers with that knowledge.
Just be aware that this management requires time, time that could have been spent on website development. And if you don’t know what you are doing, it might also become a security risk for your website.
Let’s have a quick look at the main common differences between managed and unmanaged hosting
One of the most notable differences is that basic software like Apache, MySQL and PHP comes preinstalled on managed hosting. The managed option will also ensure that all installed software is kept up to date to ensure a stable and secure server.
The management of a server comes at an additional cost, because there is actually someone who has to ensure that your server is kept up to date. If you choose unmanaged hosting, the cost will then be your time or your developer’s time.
Backing up your website is an absolute must! You don’t want all those hours you’ve put into your website to just go to waste due to a server crash. Most managed options include regular backups be default, whereas unmanaged options don’t.
Keeping your website secure should always be a top priority. If it’s not a top priority, your website can become an easy target for anyone with some technical skills and a bad intent.
The impact could be anything from someone messing up your website layout, to stealing user data or using your server to distribute illegal files. Either way, you don’t want that to happen.
With unmanaged hosting, it’s up to you to ensure that you have sufficient security measures in place.
Most managed servers also come with a control panel (like cPanel), allowing you as a user to do specific things like setting up email, installing a Content Management System, creating databases, accessing website files.
For unmanaged servers, this might not come preinstalled, requiring you to figure out the setup yourself.
The level of support will typically also vary depending on whether you choose managed or unmanaged hosting.
Since unmanaged hosting typically just provides the hardware and the operating system, you can’t expect to get a lot of free support that spans outside that scope.
If you’ve signed up for a fully managed hosting on the other hand, a good support team should be able to assist you with almost any problems related to your website.
Different types of hosting explained
Now that we’ve covered managed and unmanaged hosting, we can have a look at the different hosting types you can find within each of the two categories.
Shared hosting is exactly what it sounds like, your website will be sharing the same server and the same resources with quite a few other websites.
It’s also worth noting that shared hosting always comes as a managed service. That is done to reduce the risk of someone messing up the server for everyone else.
- It’s the cheapest managed hosting option
- It’s very beginner friendly
- You share resources with other websites. So, if another website on your server uses a lot of server resources (CPU, RAM etc.), that means less resources for the rest, and possibly a slower website for you.
Who should choose shared hosting?
Shared hosting is typically a great option for any website that is just starting out, or don’t have a lot of traffic.
You might be a bit worried about the shared server resources, and I get that. But until you start seeing at least 10,000 visitors per month, there should be no issues as long as you’ve chosen a decent host.
Some higher tier shared hosting plans will also manage to handle up to 100,000 visitors a month.
With that in mind, combined with this being the cheapest managed hosting option, it’s no big surprise that is also the most popular hosting option out there.
I’m running this site on a shared hosting plan from Siteground.
Virtual Private Server (VPS)
Although you are still “sharing” one physical server with other websites like on shared hosting, you’re now sharing it with a lot less users.
In this case the physical server has been partitioned into several smaller virtual servers, where you have been given one of them.
This virtual server comes with its own set of dedicated resources that are only available to you and your site. So, although you are still sharing a physical server with other users, the other websites will not be able to steal your server resource.
Since your account is contained within one virtual server, it possible to make server configurations without affecting others. As a result, VPS is often available as both unmanaged and managed.
- More server resources, making it possible to handle more visitors
- Dedicated server resources, which improves stability and reliability
- Greater flexibility with regards to server configurations
- Costs more than shared hosting
- More responsibility and requirement for technical knowledge if you go for the unmanaged option.
Who should choose VPS hosting?
VPS is typically the ideal choice for whoever that needs to take the step up from shared hosting.
If you have the additional money, you should probably start looking towards a VPS as soon as you start getting a decent amount of traffic to your site.
With dedicated hosting you now have an entire physical server for yourself.
That means you have all the server resources at your disposal. No other websites will be stealing any resources.
But since you’re not sharing resources, your also not sharing the cost, making this one of the most expensive options
Dedicated hosting is often available both as a managed and unmanaged option.
- Full control of all the server resources
- No security risks or issues caused by other customers
- Great flexibility with regards to server configurations
- Cost more than VPS
- More responsibility and requirement for technical knowledge if you go for the unmanaged option.
Who should choose dedicated hosting?
With the availability of high-end VPS options, and highly saleable cloud solutions, the need for dedicated server hosting is declining.
That said, there are two scenarios where a dedicated server can still be a valid option:
- You have some very special requirements with regards to hardware
- You have some very special requirements with regards to data privacy
Cloud hosting is in many ways much like VPS hosting, since you get access to a virtual server.
The difference is however that a VPS is limited to one physical server, whereas cloud hosting can utilize resources from several physical servers.
This is without a doubt the most future oriented hosting option.
You can choose between both managed and unmanaged cloud hosting.
- Scalability – A cloud based virtual server can provide you with the amount of resources you need, exactly when you need it.
- Cost – Only pay for the resources you end up using.
- Reliability – Since the virtual server utilizes a cluster of servers, it can rely on other parts of the cluster if one server malfunctions.
There’s actually not a lot of drawbacks with cloud hosting. Actually, there’s just one thing I want you to be aware of.
- Pricing model – A lot of hosting providers uses a combination of fixed price with a pay-as-you-go model if you exceed the limits. The good thing is that this ensure that your website is online, even during peaks. The downside might be unpredictable cost, so make sure you read up on the pricing model.
Web hosting specifications
When you’re browsing through the endless amount of hosting plans, you will see that different plans have different server specifications.
If you’re going for shared hosting, there’s really not much you can do about these specifications. But if you’re looking towards VPS, dedicated, or cloud hosting, you will often get the possibility to adjust some of these specifications to your liking.
So, here’s an introduction to some of the terms you will come across.
Linux or Windows
Just like your computer, the hosting server will also require an operating system. The two most common options are Linux and Windows.
Linux is an open source operating system that is free to install and use, whereas windows require an expensive license.
Linux servers are also considered to be more reliable and stable compared windows servers.
As a result, Linux is by far the most popular option for hosting servers.
So, why would you ever choose a windows server?
It all comes down to which scripting languages and databases you require support for.
You would choose Linux if you will be using:
- Scripting languages like PHP, Ruby, Perl and Python
- Databases like MySQL, PostgreSQL and MongoDB
- Web servers like Apache or NGINX
You would choose Windows if you were to use:
- Microsoft technologies like ASP and ASP.NET
- Databases like Microsoft SQL Server and Access
- Web servers like Internet Information Services (IIS)
If none of this made sense to you, Linux should be your default choice.
Let’s first talk about storage technology.
If you had to replace your computer’s hard drive today, you would have had two choices:
Hard Disk Drive (HDD) – Cheap storage with large amount of disk space at the cost of slow read/write speed.
Solid State Drive (SSD) – Expensive storage that can read/write data many times faster than an HDD.
Website hosts have the same choice, and although many have switched over to SSD’s by now, there are still hosts that are left with the slow HDD’s.
Make sure your host stores your data on SSD’s.
Now, what about storage size?
The truth is that most of us don’t really need as much space as we think.
If we take this site as an example, the WordPress installation, the plugins and all the pictures add up to less than 300MB. That is 3% of all the storage I actually have available.
One of the reasons why I barely use any of my space is that I compress all the pictures I upload. My average picture size is probably around 20kb.
To put that in perspective, if I uploaded 50,000 pictures, that would take up 1GB (1000MB) storage, which again is only 10% of my 10GB allowance.
For those who need to host large video files or high-resolution photographs, the situation could be completely different.
So, keep in mind what you will be hosting on your website when you evaluate how much storage you need.
Bandwidth can be defined as the amount of data that can be transferred between one point to another.
Bandwidth can also give indications of how much traffic a site can handle.
Let’s say that a given website was 1MB and it got 1000 visitors a day, that website would have used 1GB (1MB*1000) of bandwidth that day.
When you’re browsing through different hosting plans, you’ll notice that some have specified the allowed monthly bandwidth usage. Whereas others just specify unmetered/unlimited bandwidth/traffic.
The use of “unmetered” and “unlimited” can in many cases be a bit deceiving…
It might be true that they don’t count how many visitors you get or how much bandwidth you’re using. The problem is that there are other factors that eventually will limit the number of visitors your site can handle.
These days, with more and more websites being dynamically generated, CPU and RAM is more often the limiting factor.
So, just keep in mind that there will always be a limit to how much traffic a given hosting plan can handle. There will always be one resource that is the limiting factor, and that limiting factor is probably not bandwidth.
If you’re concerned about these limited resources, you could consider cloud hosting, but then you have to be prepared to pay for any over usage.
RAM is the temporary memory of a computer. That’s where the computer keeps track of and stores the programs, scripts, and data you’re using right now.
When data is loaded into RAM, the server can access that data many times faster than it could have accessed the data from the hard drive.
When your website is sharing a server with other websites, it means that they also share the available RAM. If your website runs out of RAM, the server will start using the hard drive for virtual memory, which will slow down the processing significantly.
If you end up in a situation were your server is running out of RAM, the option is typically to upgrade to a more expensive plan, or switch to cloud hosting which can scale the RAM on demand.
The CPU is often considered as the “brain” of the computer. It does all the processing, all the computation, and initiates everything that needs to happen.
Let’s take this website as an example.
When you came to this site, the server first started loading the page template, then it populated that template with content from the database, it started any plugins I’ve installed, and finally it delivered the complete website to you. All of these steps were initiated and handled by the CPU.
If your website is sharing a server with other websites, it means they also have to share the available CPU. In order to ensure that one website doesn’t use all the CPU, most hosts have limits to how much CPU you can use within an hour/day/month. This is to ensure that all websites get the same good performance.
If you end up in a situation where you’re using to much CPU time, the option will typically be to upgrade to a more expensive plan, or switch to cloud hosting which can scale the CPU on demand.
How to choose a good web host?
Ok, you’ve gotten an understanding of what website hosting is, but the important question remains.
How do you find a good website host?
Here are some of the most important characteristics you should look when you’re trying to find the perfect host.
Separate hosting and domain name
When you start browsing for a hosting company, you’ll soon realize that quite a lot of them also offer domain names. Many of them will also offer hosting and domain name as a bundle deal.
Although it probably sounds convenient with domain name and hosting from the same company, I would actually advise against it.
First, you avoid getting locked in with one company, making it easier to switch both domain registrar or host if you’re not happy with the service they are providing.
But the security aspect is still the most important benefit. You have your domain name, which might become valuable asset, hidden behind one set of password and username. Then you have all your website files, the ones you’ve spent hundreds, maybe thousands of hours on, hidden by another set of password and username.
In other words, separation of domain and hosting is a cheap but effective protection against getting hacked.
When you’ve first spent a lot of time and money on creating your website, you’ll want a web host that actually keeps it online for people to see. Aim for a web host with uptime scores at 99,9% and above.
Loading speed is your visitors first impression of your website. Always strive for a good first impression!
Just think about how you would react if you visited a site that needed 10 seconds to load. You would probably just leave before it had even loaded.
It’s also said that loading speed might affect your rankings in Google. After all, Google is interested in presenting the best possible result to their users. A slow loading website that will provide its users with a poor user experience is not likely to be Google’s top pick.
Having an efficient and friendly support team that is actually available when you need it, is worth quite a lot.
Regardless of which host you end up choosing, you can be certain that you at some point will experience technical issues. That’s when you need a host that efficiently deals with the problem at hand.
There are three things you should check:
Support channels – Check which support channels they offer. Do they offer live chat, phone and email? You should make sure you’re comfortable with communicating via at least one of the methods offered.
Support hours – A good host will have someone ready to assist you no matter when the problem occurs. Anything less than 24/7 support is not considered good enough.
Quality of support – Quality of support might be a bit difficult to measure. My recommendation is to test it out yourself. Send them an email or ping them on the live chat, ask them about anything you might be wondering and see how long it takes to get a decent answer.
With cybercrime being a serious and growing threat all around the world, I believe every website should have an SSL-certificate installed.
The most important role of an SSL-certificate is to ensure that information sent between the hosting server and your browser is encrypted. This is to ensure that hackers don’t get access to sensitive user data they shouldn’t have access to.
That could be anything from credit card information from your customers, to the administrator password you use to log into your WordPress site.
These days you can get an SSL-certificate for free. So, there’s really no good reason for your host to not offer an easy and free installation of SSL-certificates.
Again, regardless of which host you end up with, they can never guarantee that nothing will ever happen to your site or the server it’s stored on.
That’s why it’s important to always have a backup of your site.
All decent host should have automatic backups as part of their service.
That being said, I also recommend that you set up a backup of your own. You can never be too safe.
Good track record
As you can imagine after reading this article, providing good and reliable hosting service is both a complex and technically demanding job. In other words, you want to sign up with someone who knows what they’re doing.
Another aspect is that there is a lot of money in hosting, and as a result some companies unfortunately turn into money machines that don’t really care about their customers.
You would imagine that a quick search in Google would tell you the truth about which hosts are the best (and worst). The problem is that, when there’s money involved, people don’t always play by the rules. The result is, among other things, paid/fake reviews…
Now, I’m not going to drop any names here, but I would recommend that your read this post which talks about a particular group of hosts that the web community is not a big fan of at the moment.
After telling you all this, it’s only fair that I also direct you towards a few hosts that I believe are good hosts.
The three hosts I’ll talk about are Siteground, Kinsta, and Cloudways, and all of them have an overall good reputation among their customers.
I’ll also give you a bonus tip, Netlify, which is a host that limits itself to static sites, but has the upside of being free.
Siteground was the first host I ever signed up with, and they are still my preferred host when it comes to shared hosting.
Since the beginning in 2004, it has grown into one of the most well know hosting companies, with more than 1 million hosted domains. That shouldn’t come as a big surprise considering how they’re known for their well performing hosting plans, and their great customer support.
Performance: Both from personal experience and from looking a performance benchmarks, Siteground is proving to be a stable and well performing host.
Support: Top notch support, offering both mail, chat and phone options 24/7.
SSL: Free SSL-certificate that is easy to enable
Backup: Daily automated backups with one-click restore option
Without a doubt the host I would recommend if your looking for a cheap but well performing shared hosting.
This means that your WordPress site will be hosted on the infrastructure built and maintained by Google, and used by companies like Twitter, eBay, and The New York Times.
With the cheapest plan starting at $30, Kinsta is not a low-cost budget hosting, but you can also expect the performance to be thereafter.
Compared to Siteground’s shared hosting, it’s a step up both cost and performance wise.
The Kinsta essentials:
Performance: They’re known for their high performing WordPress hosting, and that also shows on performance benchmarks. The fact that your site will be hosted in the cloud also allows for improved scalability during visitor peaks.
Support: 24/7 support, fast response time, and a support team with very deep technical knowledge. Worth noting that they only provide support through their messaging system, but they have their reasons.
SSL: Free SSL-certificate that is easy to enable
Backup: Daily automated backups, and you have the additional possibility of adding backup points manually.
If you want to take your WordPress hosting to the next level, it’s definitely worth checking out Kinsta.
Cloudways is a managed cloud hosting platform that wants to make it easy for website owners to move their websites to the cloud.
They offer a wide range of plans, spanning across several cloud providers such as Google, Amazon and DigitalOcean.
Just like with Siteground, Cloudways offer easy installation of common Content Management Systems like WordPress, Joomla and Drupal.
With a price starting from $10/month, it can be an entry point to cloud hosting, also for those on a limited budget.
Performance: Their utilization of well established and robust cloud infrastructure gives good results in performance benchmarks. The cloud approach also provides the scalability required to handle visitor peaks.
Support: 24/7 support, but mainly through their messaging system.
SSL: Free SSL-certificate that is easy to enable
Backup: Possibility of both automated and on-demand backups.
All in all, Cloudways is a solid option for anyone looking towards the cloud, and require managed hosting.
Bonus tip: free hosting of static websites
In general, free hosting isn’t something I would recommend, since it usually involves things like forced ads, slow load times and in general poor service.
There is one exception, but it does have some limitations with regards to what type of websites it is able to host.
The option I’m talking about is called Netlify, and is an option that allows you to host static sites for free.
In other words, you will not be able to host Content Management Systems like WordPress, Joomla and Drupal on Netlify.
For beginners, the initial setup can also be a bit more technically demanding than other hosting options.
Performance: In general, the absence of a database, makes static sites a lot faster than most websites. That, combined with the Content Delivery Network (CDN) that Netlify provides, gives you a stable and speedy website all around the world.
Support: Since it’s completely free, you will have to rely on community and email support.
SSL: Free SSL-certificate that is easy to enable
Backup: Since your code will be stored in a repository like GitHub, you will have to arrange for backups of those repositories yourself.
As you can see, there are some limitations to the free Netlify hosting, but if you fit the criteria’s it’s absolutely worth checking out.
The things to remember is that Netlify requires a bit web development knowledge, as it requires you to be familiar with GitHub and how to develop static sites (coding involved).
How to set up hosting with Siteground?
If you’ve decided on shared hosting, here’s how to set up hosting with Siteground.
The StartUp package is a great choice for anyone starting a new website.
The GrowBig and GoGeek plans are great as well, but they become more relevant once your visitor count grows, or you want to host several websites on the same hosting plan.
If you don’t have a domain name yet and want to have hosting and domain name with the same provider, check the Register a New Domain and enter the domain name of your choice.
If you already have a domain, select “I already have a Domain” and enter the domain name.
To create an account and complete the purchase, just enter your personal information and credit card details in the “Review & Complete” section.
You’ll have to add email, a new account password, First Name, Last Name, Country, City, Street Address, Zip Code, Phone Number and your payment information.
The last part you have to go through before the account creation is complete, is to review the selected plan and sign-up period.
Note that the 1-month trial setup has a rather expensive setup cost. Besides that, the monthly hosting cost is the same regardless of which duration you choose.
Once done, click “Pay Now”.
Great, the hosting account is setup.
You will get a setup wizard right away, giving you a few options:
Start a new website: If you decided on Content Management Systems in the technology selection article, this option will take you through the necessary installation steps for the CMS of your choice.
Transfer a website: Choose this option if you already have a website, but you need help to transfer it to Siteground for free.
Don’t need help now: Select this option if you know how to proceed on your own (Don’t worry, I have guides telling you what to do)
I do not want to set up now. Remind me next time I log in: This option is at the very bottom and if you select this, you will get this same setup wizard the next time you log in.
If you followed my recommendation and bought a domain name with NameCheap (or another domain registrar), you will now have to connect the domain name with the new hosting account.
Ok, so how do we do that?
That’s done by pointing the domain to SiteGround’s DNS Servers.
Have a look at my illustration further up if you need a recap on DNS and domain name.
How to point your domain from NameCheap to SiteGround
First, you should login to both your NameCheap and SiteGround account
1. Log into your SiteGround account
Under the My Accounts tab, click “Manage Account” and go to the “Information & Settings” tab.
In the “Account DNS” section you’ll find two nameservers and their corresponding IP.
Copy the two nameservers.
2. Log into your NameCheap account
Click the “Domain List” tab, and you will see all your domains. Choose the domain you want to point to SiteGround and click “Manage”.
Here you should find a section called “Nameservers”, click the dropdown and select “Custom DNS”.
Paste in the nameservers you copied from SiteGround and click the green check-mark.
That’s it, you’re done with your hosting setup.
Now you have to wait a few hours for the DNS settings to get updated and your site to become visible. This could take up to 48 hours.
That being said, waiting a few hours to get started on your website is truly worth all the benefits of keeping hosting and separate.
Finding the perfect website host is not an easy task, and sometimes it might require some trial and error. So, remember to choose a host that offers to give you the money back if you change your mind after a week or two.
Another tip, don’t sign up with a host solely based on price. Providing good technical support, having robust and stable servers is not free, and it might be worth paying a few $ extra to get that.
If you liked this article, or have any questions, please let me know in the comments below.