Hosting a website simply means making sure that your website can be accessible on the World Wide Web (WWW). This is usually done in one of two ways. You can pay for hosting with a service provider or you can host it yourself at your own server – we will look into both methods in this article.
How to Host a Site Using a Hosting Provider
Using a service provider is the simplest way of hosting a website. You can pay a small monthly fee and rely on the service provider to take care of all your equipment, infrastructure, and other associated needs.
Pros of hosting with a service provider
- Usually cheaper
- Support is often readily available
- No need for hardware maintenance
- Higher reliability
Cons of hosting with a service provider
- May be some service restrictions
- Fewer choices in hosting locations
Here are the steps to host a website with a hosting service provider.
1. Decide which type of website you are building
There are two main types of websites; static and dynamic. Simple static websites can be built using a What You See Is What You Get (WYSIWYG) application and then transferred over to the hosting account.
Dynamic sites are mainly application-driven and make use of scripts, databases, and other tools to generate some portions of the site on the fly. WordPress and Joomla are examples of common Content Management System (CMS) apps that are popular today. Others such as Magento and PrestaShop are used for eCommerce websites.
2. Compare Web Hosting Types
Much like there are many different categories of cars, website hosting also comes in various flavors. For example, shared hosting is the cheapest and easiest to manage – they are akin to the compact cars of the world.
As the type of web hosting scales up, so too does the cost involved and often the complexity of managing the hosting account. For example, in VPS hosting you would need to manage not just the hosting details but also environment that it is being hosted in.
Three types of web host
In a nutshell, the most common types of hosting are
- Shared Hosting
- VPS/Cloud hosting
- Dedicated Server Hosting
WordPress? Prestashop? Magento? WooCommerce Hosting?
It’s important to know that web applications and web hosting are not the same thing. Some web hosts offer plans such as WordPress Hosting, PrestaShop Hosting, WooCommerce Hosting, and so on. These are not really hosting types, but intended to attract laymen who may not be familiar with real web hosting terms. These hosting offers merely entice users with the names of popular web applications.
For example, not many people might know the difference in hosting types, but many will recognize the term ‘WordPress’.
The type of web hosting you will need is typically defined by:
- The volume of traffic you expect on your website, or
- Any specific needs your website might have.
Most websites which are just starting out will typically have low traffic volume (i.e. few visitors) and shared hosting accounts will be fine for those. Most shared accounts will also come with application installers (such as Softaculous), but to ensure that your needs are met, ask the host if the application you want can be installed on the account you’re looking at.
Shared vs VPS/Cloud vs Dedicated Hosting
In terms of performance and management, each web hosting type also has their own pros and cons so choose yours accordingly.
3. Choose Hosting Providers and Plan
Even within hosting types, service providers often have a variety of plans available. The key difference in these plans often lie in the amount of resources that each gets. The more resources your site has, the more visitors it can handle.
When it comes to resources on web hosting, we are typically referring to three core items – processor (CPU), memory (RAM), and storage (HDD or SSD). These however do not always translate to good performance of a web host.
In the past there hasn’t been an easy way to gauge the performance of a web host. Most users had to rely on reviews which unfortunately, normally only take snapshots of a host’s performance and seldom update that. To get past this, try using HostScore, a site which constantly rates the performance of web hosts based on ongoing data collection. This means that their web host performance assessments are much more accurate.
Also keep a look out for value added features such as free SSL, domain name, advertising credits, an included website builder, or other items which can help you build or market your site.
After testing and reviewing more than 60 hosting services in the past, I was able to narrow down some best options for different use-cases (see my list of best web hosts).
Web Host for Newbies / Simple Websites
Web Host for Businesses / Growing Websites
Web Host for Developers / Advanced Users
4. Purchase Domain and Plan
Where your web hosting is the actual space your website files sit on, you need a domain name so that users can access your site. The domain name acts like your address on the WWW. Like real addresses, each is unique.
Many web hosting plans today will come with a free domain name, so make sure to check if that is applicable with the web hosting you intend to buy. If so, you can take care of the domain name at the same time as when you pay for your web hosting plan.
If not, you’ll need to buy a domain name separately. This can be done either from the same place that you bought the hosting plan or other service provider. If you need to buy the domain name separately, I highly recommend you look elsewhere.
Domain names are not fixed price items and often go on sale. Some providers often have cheap sales on domain names and if you’re lucky you can pick one up for a steal. Namecheap for example often had domain names on offer at up to 98% off.
The exception to this is if you are a first time site owner. In that case, buying a domain name and hosting from the same service provider might make things easier for you to work with as a beginner.
5. Move / Create Your Website to Server
Once your domain name and web hosting plan is ready it’s time for migration. Site migration can be complex, so if you’re doing this for the first time, ask for help from your new host. Some hosting service providers offer free site migrations.
If you have built your website locally (on your own computer) then simply transfer our files onto your web server. To do this you can either make use of the File Manager in your web hosting control panel or make the transfer using an FTP client.
The process is similar to copying files from one place to another on your own computer.
How to Host a Site Locally
Hosting a website locally means that you’re in essence using your own location to set up a web server from scratch. This means that you are responsible for everything from the hardware and software all the way to bandwidth provision and other infrastructure needs.
Pros of self hosting
- Extreme control over your hosting environment
- Potential for faster service turnaround times
- Your choice of equipment and service providers
Cons of self hosting
- Can be very expensive
- Not always possible in residential environments
Caution: Hosting web servers locally is complex and can be very expensive. It is also often less reliable than hosting with a service provider.
1. Select Equipment and Software
Basic server hardware can be very similar to the hardware on your own PC with some slight differences. In fact, technically, you could take your own PC (or even laptop) and turn it into a home web server if you really wanted to.
The key difference is in how reliable you want your web server to be and the visitor volume it can handle. As with service providers, you will need to keep an eye on processor, memory, and storage space.
If you opt for high-end server equipment such as rack server, you will also need to ensure that the specialized needs of this equipment is met. This includes in space, cooling, and power.
If you need the service to be more reliable you will also need to consider redundancy in hardware. For example, running your storage drives in RAID, plus active mirroring of backups onto additional drives.
Your other infrastructure equipment such as routers and modems will also need to be able to handle high loads of traffic.
For software, aside from your operating system you will need to also focus on your web server platform (at the moment, Apache and Nginx are the most popular on the market). This also means that you need to be responsible for not just configuring the software, but also for licensing.
2. Ensure Sufficient Bandwidth
Internet bandwidth is also vital to running your own server. In many cases, most of us are fine with standard Internet bandwidth since we’re using limited connections to the Internet. Imagine if 30 people were trying to use your home Internet at the same time – that, and perhaps more, is what you might be looking to support.
What also needs to be taken into consideration is your IP address. Most home Internet plans come with dynamic IPs assigned. In order to run a web server, you need a static IP. This can either be handled by a service provider such as DynDNS or by buying the service from your Internet Service Provider (ISP).
3. Develop and Deploy Website
The next part is similar to the experience of using a web hosting provider, except that you don’t get any support. Your web files need to be moved onto your web host in order for your site to start functioning.
Which Option is Best to Host Your Own Website?
As you can probably tell from the two examples here of using a hosting provider or self-hosting a website, the latter can quickly become incredibly expensive and complex. In reality, it is (believe me, I have done it before).
Aside from the satisfaction of having done it, there are few real benefits of doing so unless you are a business that has very specific needs for your site. Some of these might be legal or corporate requirements, for example.
However, web hosting service providers today have become very versatile and in many cases are open to discussing special needs with customers. In the majority of cases though, using a standard hosting plan is usually more than enough.
Managing Your Hosting Resources
Hosting a website – especially if you opt for hosting locally, is never a setup-and-forget task. Server resources management will become more and more important as your websites popularity grows. This is especially true when you have multiple websites hosted under the same server.
Some time ago we interviewed Marc Werne, staff member of Linux hosting provider Gigatux.com, and asked for his advice on server resources management. Here are some of his tips on making your resources last.
1. Choose a lightweight CMS
WordPress or Drupal, for example, would make a lightweight, flexible alternative that will save you MBs of web disk and bandwidth. Often less is more and lightweight doesn't equal less functional. Make a chart of your alternatives and choose the CMS that mostly suits your needs and your hosting package.
2. For forum – Use miniBB instead of SMF
MiniBB only takes less than 2 MB against the 10+ MB of SMF, yet it's a complete forum solution with a meaty repository of add-ons, extensions and plugins.
Not fond of miniBB?
There are several lightweight alternatives against bigger forum scripts. PunBB, FluxBB and AEF to cite a few. Also, plan the scope of your forum before installing any solution: if your goal is to reach thousands to millions of users, an upgrade of your hosting package may be required. If you want to keep the forum staff-only or aimed at a small number of users, by all means use the resources you have available at your advantage.
3. Use a third-party newsletter provider
Install a newsletter software on your limited web hosting account and it will start eating up your disk and bandwidth. Unfortunately there is not much to do about it, and the smallest available newsletter script — OpenNewsletter — is still 640Kb and you'll have to count in all the storage issues, too.
In comparison – MailChimp, a complete newsletter solution starting at zero cost if your target audience is less than 2,000 subscribers and you aim at sending not more than 12,000 emails per month.
All templates can be customized so you don't need to host your own, and you can integrate the newsletter with Facebook.
4. Employ a caching system
The majority of small business and personal website owners on a low budget opt for shared hosting packages in order to save on investment. Sometimes an upgrade is by all means necessary to increase performance and welcome a wider audience and the traffic it generates, but if you can't, you can save server resources by employing a caching system that doesn't overload your CPU.
WordPress users can install W3 Total Cache but if you don't use WordPress you should try to optimize your website cache with the tools made available by your CMS vendor. For instance, Joomla can count on Cache Cleaner or Jot Cache; while Drupal has several cache performance tools as well.
5. Regularly empty spam content
Get rid of spam in the form of emails, blog comments, pingback URLs and files that overload your servers and database quota.
Do it at least once a week to avoid memory issues (e.g. WordPress comment deletion only works up to a memory of 64MB, after which you'll get a fatal error and you will have to either increase the allowed memory size in your PHP.INI file or in wp-config.php within your WordPress root).
6. If possible, use external databases
If your host allows remote database linking, by all means use it. External databases help lighten usage of your web disk quota because they store your content outside of your hosting account. However, keep in mind that remote databases can be quite expensive and a hassle to the end users.
7. Use third-party file hosting services
Host all things downloadable on an external file hosting service, such as Photobucket, Vimeo, YouTube, 4Shared, Giphy, and so on.
You should not allow your visitors, clients or readers to upload content on your servers if your resources are limited.
8. Regularly download and delete log files
Log files were created to keep you informed of your website health, but there's no use of them on the server: if you don't download and remove them at least once a week, their size will grow to occupy several megabytes to a GB. This is especially true of two cPanel logs:
The error_log file usually includes dynamic errors such like PHP warnings, database errors (illegal collations, etc.) and spam comments that didn't go through. Check this file weekly for errors and warnings, then remove it.
The /awstats/ folder, on the contrary, contains all access logs and statistics logs for your website. You should disable the AwStats software in your account to avoid webspace usage increase as the program automatically stores its stat files, or if you can't because of restricted privileges, you should contact your host and ask to disable all analytics software.
Website Hosting FAQ
Web hosting is more than simply the space your website sits on. It also encompasses software needs and costs, along with bandwidth and a ton of other micro-needs that need to be managed. For more details – I explained how a web host works in this guide.
Web hosting service providers have set up environments that are dedicated to hosting websites. They are optimized for this purpose and because they do it in bulk, they often are able to provide the service much more cheaply than self-hosting environment.
A domain name is the address of your website. Without it, your users will have no way to get to your website unless they know the exact IP address.
Most web hosting service providers today allow you to install a variety of popular web applications. This usually includes WordPress, Drupal, Joomla, and a host of others. To be sure the application you want can be installed it is best to check with your service provider.
If your website is new, a shared hosting is usually more than enough. The capacity of a shared hosting differ from host to host. Some web hosts, for example SiteGround, have very strong plans even among shared hosting options.
Website speed can depend on many factors. One of these is how well your website is optimized. To learn what is affecting your site performance, use a tool like WebPageTest or GT Metrix. Running a test here will break down the details of load times, enabling you to identify lag points in your site’s loading time. Learn more about website performance in this article.
Like the name implies, shared hosting accounts ‘share’ the resources of a single server. In Cloud hosting, multiple servers pool their resources into a ‘Cloud’ and these resources are then portioned out onto Cloud hosting accounts.
Managed hosting is a type of web hosting where the service provider takes on the responsibility of maintaining the technical performance of your account. This will usually encompass technical and software updates.
More on hosting a website
- How much does it cost to host your website
- How to choose the right web host
- How to move your website to another web host
- How to host your website for free
- WHSR web hosting reviews (big index table)