Web Hosting: The Definitive Guide
Chapter 1: What is Web Hosting?
Most people never really think about where a website is, or even what a website is. I turn on my computer, open a browser, and go to Google or Amazon or Yahoo. But what am I doing when I “visit” a website? If I’m a visitor, where have I gone? And if it is a “site,” where is it located?What will you learn in this chapter?
- What a website really is.
- Three different types of websites (and why they’re mostly the same).
- Where a website “lives.”
- What a hosting company is.
Skip this chapter if… You have used web hosting before and have a good understanding of what a website is and how they work.
What is a website?
To understand where a website is located, it’s helpful to understand what it is.
We can roughly divide websites into three types (there is some overlap here — these are not strict categories, but they are helpful for thinking about this):
- Collection of documents or pages — This is the original type of website. Every page is a file in a public-facing directory. When you look at a web page, your computer is literally downloading the file and showing it to you.
- Web application — Google, your web-based email provider, Facebook, and any online games you might play are all examples of web applications. Much like apps you run on your phone, tablet, or desktop, the files for the app have to exist somewhere. With web apps, they sit on public-facing web server the same way documents and files do. Your browser downloads some of the files and runs them, and there is constant communication between your computer and the web server.
- Content management systems — This is sort of a hybrid, and accounts for the vast majority of websites that exist today. The technology of a web application is used to simulate a collection of documents. If you read a blog, each blog post is probably not an individual file. Rather, the application is pulling the content out of a database and sending it to your browser as if it were a document, and your browser shows it to you without knowing any different.
There’s some additional complications we don’t really need to get into here, but the important thing is that when you visit a website, a series of things are happening:
Your computer’s browser sends a request to the website’s server for something — a page, a document, a file for running an application. The URL or address you put into the bar at the top of the browser window is the main portion of that request.
The web server receives the request and pulls together whatever it needs to deliver back to you what you requested. This might just be an existing file, or it might be a piece of a web application, or it might be an assembled document from a content management system.
The web server responds to the request with some kind of content.
Your browser shows that content to you.
Running a website
So, in order to run a website, you need a computer connected to the internet, that is capable of receiving requests, taking appropriate action, and responding. When people talk about servers for their website, this is all they are talking about. Computers that store the files needed to run a website, along with the software to deliver those files to anyone who asks for them.
You could, in theory, run a website from your home desktop computer, but that would be a terrible idea.
First off, you’d have to know how to set it up properly to run a website (which is not a trivial matter). You’d have to leave it on and connected to the internet all the time. Even if you could manage those things, your computer at home is only designed to deal with one user at a time. If a lot of people started trying to look at your website, your computer and your internet connection would both reach their limits and your website would stop working.
Better than running a website on a personal desktop computer, you could buy a server. This is just a bigger, faster, better computer. Assuming you could afford it (they’re expensive) and assuming you could set it all up properly (it’s not easy) and assuming you could get a fast enough internet connection with a lot of bandwidth (expensive and not always available), you could then run your website from that server.
Obviously, this is a terrible idea. Too expensive, too complicated, too difficult.
Web hosting companies
Web hosting companies have solved this problem for you. They have bought the big expensive computers, they have set them up to work for running a website, they have made sure they have a fast connection to the internet. They’ve done all the work.
When you get a web hosting plan, you are borrowing a bit of one of their computers (or a whole one, sometimes). This lets you put the files and software needed to run your website somewhere that it can easily be accessed by anyone who wants to view it. To make this easier for you, they also provide tools for managing your piece of the computer and for building and running your website.
When you use a web hosting company for your website, your website isn’t in a cloud somewhere or floating in an alternate dimension. It is a collection of real, actual computer files sitting on a real actual computer somewhere, in a real building. Where that building is, and what that computer looks like will depend on which hosting company you use. And you may never see the computer or even know where in the world it is. But it’s not magic, and it’s not that much different than the computer you are using right now.
A website is a collection of files that sit on a computer. For a website to work well, a regular desktop computer isn’t a good choice. Web hosting companies provide fast, powerful computers so that anyone can run a website without having any special knowledge or buying any special equipment.
Chapter 2: Different Types of Hosting
When you start looking to purchase a web hosting plan, it’s easy to start getting overwhelmed by all the different options available. Rather than trying to sort out what to buy while reading feature lists written by marketers, it’s better to start by figuring what kind of hosting you need.What will you learn in this chapter?
- The difference between shared, dedicated, and VPS hosting.
- What “cloud based” hosting is.
- What managed hosting is, and why you may or may not need it.
- How to decide what type of hosting plan is right for you.
The most common form of web hosting is called "shared hosting." It is the least expensive and, as you might guess, the least powerful.
With shared hosting, several web hosting customers share the same computer. All of the websites of all the different accounts are stored in the same drive, processed by the same CPU, and delivered by the same web server.
It’s easy to see why this is less expensive than other options. The hosting company is allocating relatively few resources to you.
Of course, there are downsides. All the websites from all of the accounts are all competing for the same scarce computer resources.
The servers that hold shared hosting plan sites are much larger and more powerful than your home computer, so they can host hundred of websites without any problem — as long as none of the sites are too popular or need too many resources.
Every page load, every image and asset file, requires a little bit of attention from the web server when someone requests it. If you are running a complex web application or a content management system, this could require more than a trivial amount processor power to query a database, assemble content into a page, or take some other action. Individually, these things can be so fast as to seem instantaneous. But multiplied over hundreds or thousands of visitors in a few minutes, and you have a recipe for site crashing.
If the popular site is someone else’s on the same server, you’ll experience performance lags and downtime without ever knowing why. If you are the lucky one getting a lot of traffic, you can expect your site to become unavailable right when you most need to shine. Additionally, you may find yourself running afoul of your hosting company’s unstated but very much in-force limitations on usage and bandwidth.
The other downside to shared hosting is the inability to customize the hosting environment. This might not make any difference to you. If you are just running a straightforward WordPress blog (for example), you can get by just fine without having to tweak your environment. But if you are trying to run something more complicated, like a custom application built on a complex framework, you’re going to run into trouble when you can’t get all of your dependencies installed correctly.
One last problem to note about shared hosting is that it opens your website up to a certain amount of risk. No matter how careful you are in securing your web applications, other people might leave their software vulnerable to attack and provide an entry point for attacks that affect your site as well. Additionally, you share the same IP address with other sites on the same server. If one of them is using their account to send spam emails, or is engaging in other bad behavior, you may find your sites being blocked by email filters and content firewalls. The worst part about this problem is that you might not even know it’s happening.
Dedicated Server Hosting
With dedicated server hosting, you have complete control over an entire server. This has many advantages, but it is also more expensive and more complicated.
When you have direct and complete access to the server that is running your website, you can install any kind of niche software you like, make changes to the operating system or language interpreters, tweak configuration settings. For certain applications, like running an enterprise management system or building custom software, you need this level of control.
The other major advantage to a dedicated server is that you are the only one consuming server resources. This significantly increases your speed and performance.
Of course, if you are able to do anything you want on your server, you also become responsible for doing pretty much everything that needs to be done. This includes keeping all the software up to date and debugging issues if you accidentally create any weird conflicts or problems.
Dedicated server hosting can be very expensive also. With shared hosting, there might be 100 customers on a single server. With a dedicated server, you are the only one — and the difference in cost reflects that.
Virtual Private Server
Somewhere between shared hosting (a lot of people on one server) and dedicated hosting (one account on a server), is Virtual Private Server (VPS) hosting. In this model you have your own dedicated server, but the server is a virtual machine, not a physical one.
This provides a mix of the benefits (and disadvantages) of both shared and dedicated hosting plans.
With VPS hosting, you have complete control over the environment, just as you would with a dedicated server. This is especially helpful if you are developing custom applications or are running a SaaS (software-as-as-service) business.
You generally have much more access to server resources with VPS hosting as compared to shared hosting. While the various virtual machines are all sharing server resources, there are usually many fewer of them on a server in a VPS environment. You are alloted a much larger portion of the overall computing power and bandwidth.
There also many fewer security issues. VPS accounts have their IP address, and the virtualization layer means that you are insulated from any problems that might arise from problems on other sites.
Scalable Cloud-based VPS Hosting
The problem with both dedicated servers and conventional VPS and shared hosting plans is that eventually — if there’s enough traffic — you will hit the physical limitations of the actual server. We’re talking about a real machine with real limitations on how much memory it can use, how much storage it can hold, and how many requests it can handle.
Most websites never hit these limits, and shared or VPS hosting is more than adequate. But some sites regularly get tens of thousands of visits a day, and other sites with less regular traffic occaisionally have huge spikes that can’t be predicted, like when a piece of content suddenly goes viral.
Because of these hosting realities, hosting companies offer something that usually goes by a name like “scalable VPS hosting” or “cloud based hosting” or “scalable cloud-based hosting.”
“The Cloud” is sort of a marketing fiction, and sort of a metaphor. It’s easy to get confused about what this means. The truth is, it means different things in different contexts.
Generally, with regards to web hosting, “cloud” means that a large number of computers are all clustered together, and any applications running on them can make use of their combined computing resources.
With this type of hosting, your Virtual Private Server isn’t one of several on a single server. Rather, it is one of hundreds all sharing a giant pool of computing resources.
Typically, hosting companies try to keep the average level of resource use well within the limits of the actual amount of computing power on-hand. This might be as low as 50%. If there is a sudden increase is use because one site has a spike in traffic, overall usage spikes but stays within what the system as a whole can handle.
This works well for sites as they grow over time, also. The hosting company adds more computing resources, or reorganizes how the virtual machines are deployed on the system, in order to maintain optimum performance as each site’s usage profile evolves.
Another benefit to scalable cloud hosting is that you usually only pay for what you actually use. This is especially good for businesses that don’t have the money to pay for high-end web hosting in the beginning, but will eventually need the bandwidth if the business becomes successful.
One of the other neat features of some cloud-based VPS plans is that you can actually have multiple virtual servers tied into one single account. This is good for people who need a multi-stage development and deployment structure, with a server each for dev, test, and production.
The thing to watch for with cloud-based or scalable hosting is that “cloud” barely has any legal or technical meaning, and “scalable” is equally ambiguous. Each hosting company has wildly different plans under this umbrella of related terms, so be sure to read the actual features you are purchasing, as well as reviews from real users.
If you need the bandwidth and power of a VPS or Dedicated Server, but don’t have the technical skills (or the inclination) to do serious server administration, you can get a managed hosting plan.
Managed hosting is a term that covers a lot of different types of plans, but what they all have in common is that the hosting company provides some sort of proactive technical support. This might be as simple as pre-installing software and helping with initial configuration, to ongoing monitoring and upgrading.
With some managed hosting plans, you have direct access to a VPS or a dedicated server, and the hosting company provides support in addition to that core hosting service. This gives you the flexibility to do what you want or need to do, but without needing to know everything about server administration.
Other managed hosting plans are geared toward specific applications like WordPress, and your interaction with them is limited to the one installation. The entire environment has been configured to provide the best experience with one application, and there isn’t really anything else for you to do. This is great if that’s the application you need, but it doesn’t give you much flexibility.
The hosting plans covered above account for the majority of offerings from commercial hosting providers. The range of features, bandwidth, and computing power available in one of these “conventional” hosting plans will suit the needs of almost all people looking for web hosting plans.
Just for the sake of completeness, it is worth noting that there are a number of specialty hosting providers which specific hosting features and support for various technology needs. Most of these are platform specific, such as hosting geared to a particular language, database tool, or framework. Others provide customized tool for certain development methodologies.
The best advice is to not worry about these things at this point. If you are setting up a website or blog for yourself, your business, or your organization, it is highly unlikely that you will need some kind of specialty hosting environment.
If you aren’t sure about your particular situation, you can use our Compare Features Tool to see which hosts support the technology you need.
How to know what kind of hosting you need
Shared hosting is a good fit for personal blogs, websites for small to medium sized organizations like clubs and churches, and small non-tech business. It it probably not appropriate for a business that relies exclusively on its website for revenue, or for a large organization with a lot of traffic. Also, any type of serious custom develop is usually not a good fit with shared hosting.
VPS hosting is the right choice for most medium to large organization, online stores, or major blogs. Depending on the relative size of future traffic, you may need a “scalable” VPS solution that will be able to handle large amounts of traffic. If you’re trying to start an online business or launch a website for a well known brand, VPS hosting should probably be where you start looking.
A dedicated server plan provides few real benefits over a VPS plan, and can sometimes be more difficult to manage. This is really only a reasonable choice if you have a server administration talent in your organization and a compelling reason to run your applications without a virtualization layer.
There is a lot of variety in available web hosting plans, but they all fall into one of three categories:
- Shared hosting
- VPS hosting
- Dedicated server hosting
Shared hosting is very cheap, but not very powerful. It is good for small projects on a budget.
Dedicated hosting is very expensive and complicated. If you don’t know whether you need it, you probably don’t need it.
VPS hosting, which is often “cloud based” or “scalable,” is the right default choice for most serious business customers.
Both VPS and dedicated server plans are available in “managed hosting” plans, which may be the right fit for you if you need the power and flexibility of a complete server but don’t have the skills or resources in your organization to manage the server yourself.
Once you have decided which type of hosting is right for you, you can use our Hosting Features Comparison tool to compare your various options.
Chapter 3: What are you buying when you buy web hosting?
Web hosting is an intangible service. You can’t really see it or touch it. Because of that, its easy to think that all web hosting plans are the same, or that web hosting isn’t worth paying for.
Extremely cheap hosting companies rely on this intangibleness to suggest you only need to pay a few dollars a month, and that more expensive plans are not worthwhile. At the same time, highly overpriced hosting companies rely on it to sell otherwise normal hosting plans at exorbitant rates, using marketing to make similar services seem vastly different.
In order to make the most of your web hosting, and understand the various pricing schemes available, it’s helpful to know what you are actually buying when you buy web hosting, and what the company is spending your fees on.
Though you will never see it, one of the biggest expenses of web hosting is the physical equipment, the servers themselves. These are very fast and powerful rack-mounted computers.
Of the many things that premium web hosting companies can do to improve their service, using better (and more expensive) equipment is one of the most impactful. Faster equipment mean faster website load times, which is good for you and for your website visitors.
Servers have to sit somewhere, so an included expense is the physical building where a server is located. These are usually very large buildings housing hundreds or thousands of servers.
These buildings, and the equipment in them, have to be cooled, maintained, and guarded. Datacenters use a lot of electricity, and they have to be located somewhere that very high speed, high bandwidth internet access is available.
While much of the software used in web hosting is Open Source (like all four elements of the LAMP stack), not all of it is. Notably, the most popular control panel available for web hosting accounting management (CPanel) is proprietary software that must be licensed and paid for.
If you need a Windows hosting plan, most of the software on the server is proprietary, which is why Windows hosting is usually much more expensive than Linux hosting. This is why you should only use Windows hosting if you have a very specific need for that platform. (Most people do not.)
Web hosting companies are not internet service providers — they have to purchase internet connectivity just like you do, and run their connections over someone else’s cables.
Actually, it’s worse (more expensive) than your own internet service because web hosting data centers need speed and bandwidth at orders of magnitude higher than you have in your home or business. They are running hundreds or thousands (or hundreds of thousands) of servers, each one requiring internet connectivity at least as fast as your home or workplace service.
If you want to call someone, or get a prompt answer when you email, you’re going to have to use a hosting company that provides at least some level of support.
Support might come in the form of FAQs, knowledge base articles, detailed guides, phone support, email support, or a help desk ticketing system. Proactive server management can be thought of as a form of support.
As with all things, you can expect that a more comprehensive support program is going to cost more than an otherwise equal hosting package without a support plan.
Naturally, web hosting businesses have all the usual expenses of a business — from office space to taxes. This is not terribly relevant to you as a customer, but it does explain why some hosting companies are able to provide more service for less cost. You shouldn’t assume that less expensive always means less value. Some companies are just better managed.
Ignore pricing first
It is easy to look around at available hosting plans and pick the cheapest one, assuming they’re all about the same. The other common option is to pick the most expensive one because it must be the best.
Neither of these is a good way to shop for a web hosting plan.
A better way is to think through what you need from your web hosting company and what type of web hosting is required, and then compare several plans that fit your minimal requirements. You should also read reviews.
Once you’ve narrowed it down to the hosts that fit your needs, and eliminated companies with a lot of bad reviews or outrageous pricing, you’ll usually be left with a small handful of hosting plans at very similar price points.
Price is not always a good indicator of quality. There are plenty of very decent, low priced web hosting companies. However, if you need something more than “very decent” you are going to have to pay more for it. Premium web hosting — with fast processors, better connectivity, lower downtime, and a higher level of support — costs more to provide, and so it naturally costs more to purchase.
Rather than shopping based on price, it is better to begin by looking for which features you need and finding hosting companies that provide them.
Chapter 4: Features to Look For in Web HostingWhat will you learn in this chapter?
- How to compare speed, bandwidth, and storage features.
- Why the ability to upgrade later is more important than figuring out exactly what you need now.
- The one thing the author of this guide always looks for before buying a hosting plan.
It’s important that your website load as fast as possible. If visitors to your site have to wait a long time for your page to load, they will not have a good experience, and may not come back. Additionally, Google now includes speed as part of their overall score of the quality of a site, so slow loading can kill your other SEO efforts.
Unfortunately, a lot of different factors affect the speed of a website, and only some of them depend on the web host. And pretty much every web host advertises that their service is “blazingly fast.”
Most shared hosting plans, and many VPS ones, don’t specify to the end user the exact details of their hardware setup. Even when they do, sorting out the details of whether one company’s hardware is faster than another company’s hardware is pretty much an exercise in guessing.
Also, with shared hosting especially, it isn’t the hardware alone that determines how quickly requests are processed, but also the overall usage of the system. A fast system running 1000 other websites may be slower than a middle-of-the-road system that only handles one.
However, there are clues you can look for to determine if one host will be faster than another.
Specific things to look for that tend to increase speed in web hosting:
- Detailed server hardware stats. As mentioned above, the details are sometimes tough to sort out, but the fact the hosting company is advertising their server setup is usually a good sign. This means (at least) that they aren't running their service on top of someone else's equipment.
- SSD, or Solid State Drives. These are much faster than traditional spinning disk drives.
- Location. The closer a data center is to your visitors, the faster the page loading will be. If it is likely that your visitors will all be one area, choose a host with a data center near there.
- CDN, or Content Delivery Network. Many hosting companies offer built-in partnership with a Content Delivery Network. This will dramatically increase the speed of the site, as it offloads images and other resources to faster servers.
An important consideration with all this is not just absolute speed, but consistency. If a site is usually exceptionally fast, but then is really slow sometimes, that is worse than if it was only decently fast all the time.
A good way to gauge speed and consistency is to read reviews of hosting companies in our review section. People who have had experiences of their own site slowing down tend to make this known in their own reviews.
It should be kept in mind that what you do with a server will have a big impact in how fast your site runs. Remember to optimize your site code, limit use of plugins, use any relevant caching tools, and implement a CDN.
Bandwidth is a measure of the amount of data flowing from your website to visitors in some specific time period, usually per month.
Many shared hosting accounts offer “Unlimited” bandwidth, but this is predicated on the assumption that you won’t actually use very much (or that, on average, account customers won’t use very much).
If you are running a personal blog or a site for a small business, and you don’t expect traffic to exceed a few hundred visitors each day, then shared hosting’s “Unlimited” bandwidth is going to work fine for you.
If you’re building a larger site that is going to eventually need to handle thousands or hundreds of thousands of visitors every day, then paying for bandwidth is going to become an issue.
If you are moving from one host to another, you can analyze your current traffic (and trending) to determine how much bandwidth you need in a plan.
Otherwise, if you are starting a new project, and don’t have much sense of what you’ll end up needing, or how fast you’ll get there, you are better off getting a plan where your hosting costs are variable depending on traffic.
Be careful to steer clear of hosting plans that have penalties for going over your alloted bandwidth amount. This can become very costly, and is a good reason to look for plans where you pay for what you use.
Finally, it’s worth nothing that the things you can personally do to increase speed (using a CDN, minifying your assets) will decrease your bandwidth usage.
How much storage do you need? As always, this depends.
As with bandwidth, most shared hosting plans claim to offer “unlimited” storage capacity, but that always comes with restrictions. However, if you are running the type of website that shared hosting plans are designed for (personal blogs and small business sites) you will be fine.
Unless you are specifically building a website that needs to host a lot of high resolution images or music files, it is unlikely that you will need more than 1GB of space — site files and text content simply don’t take up that much room.
If you are building a normal site that happens to have a lot of images — for example, a blog with several images per post, or an ecommerce site with a lot of product photos — you’ll probably be fine with 2 to 4 GB for a good long while.
You really shouldn’t try to use your web hosting account for large media hosting. It’s an inefficient use of money. If your site needs massive amounts of large media files, use other services (like YouTube for videos).
The problem with starting a new website is that you don’t really know what your specific needs are going to be in the future. You can make some guesses about how much bandwidth and storage you’ll need, but those are usually only guesses.
For this reason, one of the more important things to look at when getting web hosting is: how easy is it to upgrade.
If you start with a shared hosting plan, expecting to move up to VPS when traffic reaches a certain point, will your web host be able to do that? Without creating a break in service?
With VPS hosting, do you pay by the penny as usage goes up, or is there a hard limit followed by massive overage charges? Will your host be able to keep up if your site makes it to the first page of reddit or slashdot?
It’s important that your web hosting account is able to handle both slow and steady growth (through a reasonable upgrade path) and also sudden spikes in traffic.
Even if you only plan to use a small, shared hosting account, look at the larger VPS plans from the same host. If the shared plan costs $3/mo, but the upgrade to VPS takes you to something really unmanageable, you might be better off paying an extra couple of dollars per month in order to have a more appropriate upgrade option later on. Also, it isn’t a good idea to choose a web hosting company that only has shared hosting plans.
Most of the issues concerning specific technology were covered in the chapter on “How a Server Works,” but there’s a few points worth mentioning here.
If you are planning to run most any common PHP application, like WordPress, Drupal, Joomla, Magento, Zen Cart, MediaWiki, similar software, you shouldn’t have any problem with the vast majority of web hosts. They all run a LAMP stack efficiently.
Where you might run into problems is if you need something a little more exotic. Examples include apps built on Ruby on Rails or using MongoDB. These two things are increasingly popular, but not all web hosts are well suited to them.
The good thing about web hosting and out-of-the-ordinary technology is that if you don’t know whether you need it, you’re probably fine. The vast majority of blogs and business websites will work just fine on WordPress or a similar Content Management System, and that will work on almost any web hosting account. You shouldn’t be using the weird stuff unless you have a compelling reason to do so.
Almost all web hosting companies provide a control panel for managing your hosting account. But not all of them make it easy to access your account in other ways.
At the bare minimum, you want to be able to have FTP access to your files. SSH (secure shell) access, which gives you a command line interface to the server, is a good thing to have also, even if you don’t plan to use it (you never know).
You should also find out if you can install additional programs on your server, and how difficult that is. This might not be an issue for you (maybe you’ll never use anything except WordPress forever), but it is good to know ahead of time, especially if you even think you might want to run other apps.
Unless you are truly just running a personal blog and don’t care if it goes down, make sure you find a hosting company with a good customer support plan.
There are always problems. Even with the best web hosting company and the most straightforward website, there will always be issues of one sort or another. Technology is just too complicated for that not to be the case. You want to make sure you have a hosting company that will help you deal with the problems when they come up.
I wouldn’t sign up for hosting unless the company had a 24/7 phone line I could call. Your personal requirements might be less strict, but think about what they might be. If you have an unexpected outage at 3am, do you want to have to wait until business hours in Salt Lake City before you can talk to someone?
Concerning customer support, you should definitely read reviews in our customer review section. People have had wonderful experiences with the support staff of various hosting companies… and also not so wonderful experiences. Reading reviews will help you understand what kind of experience you might have.
Chapter 5: How a Web Hosting Server Works
It’s helpful to know just what is happening with a server running a website. Web hosting companies do a good job of marketing their features and benefits, but they don’t usually explain the basics.What will you learn in this chapter?
- What an operating system, web server, database, and application language are.
- Which option for each of these is most popular in a web hosting environment.
- The difference between a server and a web server.
- What the LAMP stack is.
A hosting server is just a computer
When it comes down to it, we’re talking about something not that different than your personal desktop or laptop computer. Servers are a little bigger, a lot more powerful, and don’t usually have their own monitors and keyboards, but at heart they are just like the computers you use everyday.
Besides being a lot more powerful, the computers used to run websites have very fast connections to the internet, so that a lot of visitors can access the server at the same time.
Server Operating Systems
The operating system is the primary interface between applications, users, and the physical computer. You use an operating system everyday, even if you’ve never thought about it.
Just like you home or office computer, servers need an operating system. The most common operating system for servers is Linux.
If you’re unfamiliar with Linux, or have heard about its difficulties for personal computing, don’t worry. While very few people use Linux for their home or office desktop machines, Linux is the absolute standard for servers. It’s easy to use, also. Web hosting companies provide control panels, management utilities, and installation tools so that you don’t need to know (or care) about Linux at all to have a successful experience with web hosting.
Some hosting plans provide servers running the Windows Server operating system. Do not get confused here. Even if you are running Windows on your own computer, that is no reason to use Windows on the server as well. There’s no real benefit to matching those operating systems.
The only reason to use Windows for your server is if you need it to run some proprietary software that simply won’t run on Linux, like .NET, ASP, or Microsoft Silverlight.
“Server” refers to the physical or virtual machine, the computer that holds your website’s files and database.
Unfortunately, there can be some confusion of terms because there’s also a piece of software called a “web server.” The web server is the software program that is responsible for handling requests from the internet.
When you type a URL into the address bar of your browser, that gets translated into a request that is routed to the computer that hosts the website you are looking for. The web server — that is, the software program called the web server — handles the request. It reads the request, figures out what other applications need to get run or files accessed, and then once that is completed, it sends a response back to the browser. The response it sends back is (usually) the page of the website you are trying to look at. The webserver software acts as a mediator between the internet and the files on the server.
The most common web server is an Open Source program called Apache. You will find it in most web hosting plans. There are a few alternatives, the most common of which is probably nginx. If you happen to be running a Windows server, you might be running IIS.
Unless you have some incredibly specific needs, Apache is perfectly fine. For the most part, you will never notice or care much about your web server.
Database Management System
Most (not all, but most) websites require a database management system in order to store content and other information. That could be blog posts, pages, product information, data on customers, or any other kind of content, depending on the kind of website you are running.
The most common database management system is MySQL. This is a very powerful, Open Source software tool for running complex relational databases. It is free to use, and is already available on many web hosting plans.
MySQL is the database of choice for the most popular content management systems, such as WordPress, Drupal, and Joomla. It also powers a number of ecommerce platforms, website builders, bulletin board systems, and social networking applications.
There are a few other database systems that are used by particular applications, and you might run across these if you are doing something unique.
For example, PostgreSQL is an Open Source RDBMS that is functionally very similar to MySQL, and it is the default database for Ruby on Rails. So if you are using that framework, you should make sure that you find a hosting company that supports it.
Application Layer — Scripting Languages
Most (not all, but most) websites today are dynamic in some way. Thinking back to the database and the web server in the last two sections, it’s clear that there needs to be some software that fetches content from the database and sends it to the web server. This is what applications like Content Management Systems (CMS) are all about.
Whether its a simple blogging engine, a complex CMS, an ecommerce site, or project management system (or anything else), websites with interactive features and dynamic content are computer programs, and they have to be written in a programming language. You don’t have to know the language to use the program, but your web hosting server needs to know it.
The most popular language for dynamic web applications is PHP, and you will find that the vast majority of web hosts support this language. If you need to use an application (or develop an application) in another language (Ruby and Python are both popular) make sure that you find a web hosting company that supports the language you need.
In each section above, I identified the most commonly used option in each category: Linux for the operating system, Apache for the web server, MySQL for the database, and PHP for the application.
These four technologies are sometimes referred to as the "LAMP stack", with LAMP being an acronym (Linux, Apache, MySQL, PHP). If you see web hosting or application requirements mention a LAMP stack, that what this means.
Certain applications require specific modules or plugins to one or more of those technologies. The two most common places that require additional modules are the Web server (Apache) and the Application language (PHP).
For example, if your application is going to have pretty URLs (clean URLs with human-readable names instead of computer generated codes), your application might require the Apache mod_rewrite module. If your application does a lot of server-side work with images, you might need the GD Graphics Library for PHP.
It is a good idea to look into the specific requirements of your intended application, and then compare different web hosting companies to see if they have the features you need.
A note about versions
You usually do not have to worry about things like modules and version numbers if you are using a one-click installation tool like Softaculous, Fantastico or Simple Scripts. However, if you are installing something manually, it is worth double checking this sort of thing.
A server is a computer (physical or virtual) that runs a website. Sitting on that computer is a suite of interrelated pieces of software that run your site.
The following two are absolutely required:
- The Operating System
- The Web Server
If you are doing anything other than serving static files, you also need:
- Programming language
Be sure that the web hosting provider you choose supports the technologies required by the applications you plan to use.
Chapter 6: WordPress and Hosting
If you are setting up a new website for the first time, WordPress is a really good option. It is easy to use for beginners, widely supported on inexpensive hosting plans, and provides a great platform for learning about websites and development while also launching something useful.
As important as how easy it is to use is how flexible and powerful WordPress is. Unlike “no coding required” website builders with cute drag-and-drop interfaces, WordPress is real, professional-grade software. As your business and website needs expand, and your skills improve, WordPress will not become a hindrance. It is a platform you can grow into, instead of grow out of.
Since WordPress is so popular, and since we recommend it for beginners, it would be a good idea to explore some of the issues surrounding web hosting with WordPress.
Shared Hosting for WordPress
Most shared hosting companies are optimized for installing and running WordPress, and large percentage of WordPress-powered websites are hosted with shared hosting plans.
From a basic technical standpoint concerning requirements and set up, shared hosting is perfectly fine. In fact, WordPress itself recommends a shared hosting provider (Bluehost) as their number one recommended hosting provider.
There’s a problem with this though — shared hosting plans are usually not a good fit for high-traffic sites. This is especially the case with a dynamic CMS like WordPress. Every page view requires a database query and interpretation of one or more PHP scripts. When the traffic spikes, this can quickly overload your shared hosting account’s capacity, especially if you are running a lot of plugins or a poorly designed theme.
For this reason, we recommend shared hosting as a good option only for personal blogs and small websites.
VPS Hosting for Wordpress
For a large or complicated WordPress site that is expected to get a lot of traffic, a scalable VPS hosting solution is usually going to be a better choice than a shared hosting provider. Having more space and more control over the hosting environment can help a lot, but the increase in speed and bandwidth is the big issue here. With the right VPS plan, you don’t have to worry about hitting the (sometimes unstated) limits placed on shared plans.
Managed WordPress Hosting
If you are running a serious business website with a lot of traffic, you night be a good candidate for a managed hosting plan. These plans bring a level of service beyond simply having better access to technology (though they often come with that as well).
Managed WordPress hosting can cover a number of value-added support services, such as making sure your website software stays up to date and secure. Automated backups, downtime monitoring, advanced analytics, and proactive security measures are all features commonly found in managed WordPress hosting. Some managed hosting plans even include their own distributions of WordPress with special plugins and packages designed to increase performance, security, or user experience.
WordPress is built with a strong DIY (do it yourself) mentality, and is relatively easy to use for beginners, compared to other options available. Managed WordPress hosting isn’t a requirement by any means, and the advantages it provides can usually be achieved by interested individuals.
What managed WordPress hosting really offers you is time. You could easily learn to take care of things yourself, and do the work yourself. But it may make better business sense to simply pay a little more to a hosting company and let them take care of things for you.
How to have the best possible WordPress hosting experience
Whether you are on a discount shared hosting plan, or the most expensive managed VPS you can find, there are a number of strategies that will improve your WordPress performance and hosting experience.
Keep your core WordPress install and plugins upgraded to their latest versions.
The vast majority of security problems with WordPress have to do with people running out of date versions of either the core software or plugins.
Besides general neglect, the biggest reason people don’t update their core and plugins is fear that there will be a compatibility issue.
This sort of thing does not happen often, and is less prone to happen if you keep things upgraded all the time. If you miss an update, and are suddenly having to jump several versions, this can cause problems.
Only use plugins that have a large user base and seem like they are actively under development.
A big contributor to version compatibility problems is plugins that are no longer under development. If a project is no longer releasing new versions, it is only a matter of time before a new update of WordPress core introduces some incompatibility problem. This is even more likely if the plugin code is poorly written, which is often the case with underused and underdeveloped plugins.
A large user base helps to ensure that the plugin will continue to be developed. Even if the original developer decides to leave the project, a large user base makes it more likely that someone else will take over and continue making updates and adding new features.
Also, almost all plugins have bugs at some point. If a project is still under active development, you have a way to the report the bug and it might get fixed in a future release. Even if it doesn’t get fixed, a large user base makes it more likely you’ll be able to find someone who has fixed it or found a workaround or some other viable solution.
Backup your code and database regularly.
This should be old news by now, but way too many people do not properly back up their WordPress content or theme files. Things go wrong, sometimes — it’s best to have things backed up.
Also, if you are properly and securely backed-up, you can stop worrying about updates potentially messing up your site. If something does go wrong, you can just roll things back.
(WordPress itself reminds you to back up your site before updating things, but so many people just skip right past those warnings.)
Do not host your own videos.
Just because WordPress allows you to upload and embed videos doesn’t mean you should.
Videos use up a lot of storage space and a lot of bandwidth, so you will quickly max out the capabilities of your hosting plan if you start uploading videos on a regular basis.
Beyond that, do you really want to convert your video to different sizes and resolutions so that it works equally well on different screen sizes and with different connection speeds? Now you’re talking about extra work (to produce different versions) and storing all those different versions in your hosting account.
If you want your videos to be available publicly, host them on YouTube, and copy in the embed code they provide. If you need your videos to be private (for example, if they are behind a paywall on your site), Vimeo Pro offers great video hosting for this purpose.
Hosting your videos at YouTube also provides another point of discovery, another place that can lead people to find you who otherwise wouldn’t know about your site.
Chapter 7: Cloud ComputingWhat will you learn in this chapter?
- What cloud computing actually is
- The difference between IaaS, PaaS, and SaaS
- What your boss might mean about “getting on the cloud”
- What cloud hosting is, and why it doesn’t really matter
What is cloud computing?
Like a lot of popular words, “the Cloud” is as much a marketing buzzword as it is a real concept. There really is such a thing as “cloud computing,” and many web hosting companies are actively engaged in providing cloud-based services, but the term itself can be a bit misleading, and there isn’t really one single cloud that could be called “the cloud.”
Cloud computing is a metaphor — a visual conception for us humans that tries to communicate something hard to visualize. What the term is trying to communicate is the idea of virtualized computing power riding on top of clustered hardware, organized in such a fashion that computing power itself because a utility, like electricity or water. The idea is that you can use as much as you need, and pay for as much as you use. Much like with the power grid or the water and sewer system, you aren’t supposed to think too hard about where the electricity is coming from or where your drain water goes — that is someone else’s job.
What people are talking about when they talk about the Cloud
A cloud works like this: a bunch of computers (servers) are clustered together so that they can function as one giant computer. Virtual computers are then deployed on top of that cluster.
From a marketing and business perspective, “cloud” could mean one of several different things.
- Infrastructure as a Service — IaaS —This is what is happening when a company owns actual hardware, a pool of clustered servers, and can provide access to virtual machines, virtual drives, and other basic computing resources from the larger pool.
- Platform as a Service — PaaS — Someone (who may own the servers, or may be consuming infrastructure as a service from another provider) runs operating systems and webservers on top of virtual machines and provides them to others for their computing needs. This is what a web hosting company is doing.
- Software as a Service — SaaS — Someone has built an application for others to use, and hosts it on a platform they may or may not own. Dropbox, Google Apps, and other subscription-based web applications are an example of this.
Generally, “moving to the cloud” or doing something “in the cloud” simply means storing data or running applications on someone else’s clustered equipment. It means that they are consumers of either Software, Platform, or Infrastructure as a Service.
Sometimes these three layers are owned by the same organization. Often they are not.
The problem with “Cloud” as a metaphor
It’s easy to start thinking about the cloud as some ethereal mist of computing resources — light, airy, and far above us. The problem with this is that is very far away from the truth. Clouds are made up of physical machines, with physical wires and physical disks.
This has a number of implications for how we use and consume cloud services, but the biggest issue is security. If you are storing data on a “cloud-based” data storage application, who has access to that data? Do you even know where that data is, physically? It could be almost anywhere, including in another country.
A better metaphor may be “pooled” or “clustered” computing, and even better would be to say what is actually meant — whether that is infrastucture, platform, or software as a service.
The Cloud and your business
Your boss has read some article in a magazine about how “Cloud Computing” is the next big thing. Now you’re supposed to figure out what that means and how to do it. How can you “take adavantage” of this cloud computing trend?
You can either engage in cloud computing as a producer or a consumer, or both.
Producer of Cloud Services
It is often said that in a gold rush, the people who sell shovels make more money than the people who dig for gold.
This is true in reference to “the Cloud” as well — people who provide some sort of cloud service are the biggest winners, and the more fundamental the service, the larger the reward.
Providing IaaS or PaaS is a bit outside the realm of this guide and most people reading it, but SaaS (software as a service) may not be.
If you sell software, it may be possible to re-imagine your application as a SaaS offering. Rather than provide applications that clients have to run on their own computers and servers, you may be able to provide access to software through a web browser or web-connected desktop application.
Consumer of Cloud Services
When most businesses (and marketing) talk about the advantages of cloud computing, they are talking about the advantages of consuming cloud services (platform or infrastructure) rather than producing conventional computing power themselves.
- A company has traditionally used a desktop project management system that shared data on a local server. They move to an online application where users login from a web-browser. This is Software as a Service.
- A web applications company that provides the SaaS project management application has traditionally hosted the application on their own server. They move to their application to a “Cloud Based” Virtual Private Server at a hosting company. This is Platform as a Service.
- The hosting company doesn’t actually own any data centers, but rather purchases raw computing power from Amazon Web Services. This is Infrastructure as a Service.
These could all be described as forms of “cloud computing.”
The advantage in each is that something you may have previously been required to purchase (at significant capital expense) can now be paid for as it is used. This is especially economical if you don’t need the benefits of an entire server yourself, or if you can’t afford the upfront expense.
What does all of this have to do with web hosting?
Many web hosting companies sell some kind of “cloud hosting” plan. This is usually a form of VPS hosting, where the VPS is sitting on top of a cloud (cluster of computers) rather than directly on server hardware.
Many shared hosting plans work this way also, with dozens or hundreds of hosting customers sharing a single VPS, which itself is one of many on top of a pool of computing resources. The hosting company may or may not own the hardware; they may create their own cloud infrastructure, or consume it as a service from another provider.
The benefit to the customer is that cloud-based hosting (also called “grid hosting” by some providers) is inherently scalable. Rather than a single machine with storage, memory, and CPU limits, a virtual machine on a cloud server has no hard physical limit. If activity spikes, it can use up a larger percentage of the overall pool; if the pool becomes over-extended, more hardware can be added to it.
Whether a hosting company bills its offerings as “cloud” or not shouldn’t really be a concern for you as a web hosting customer. Most web hosts are engaged in some form of clustering and virtualization, so in some ways almost every hosting plan could be described as “cloud based.” The term has a meaning, but as a marketing pitch it is almost meaningless.
Chapter 8: Email, Webmail, and Mail Servers
More fundamental than running a website is the importance of reliable email service. You have a number of options in how you set up your own email service for your company. You’ll be better equipped to choose the right option for yourself if you understand a little bit about how it all works.
Email and domain names
As you almost certainly know, email addresses take the following form:
Everything before the
@ sign is the local name, and everything after it is the domain name.
It is a very bad practice, and unfortunately much too common, for small organizations and sole practitioners to use a commercial email service with a domain name like
@aol.com. This is a bad practice because it looks unprofessional, amateurish.
It’s a very minor point, but it has a big impact on the way your clients and potential customers think about you.
In an organization, such as a small business or (more commonly) a small non-profit, the too-common practice of using personal email addresses can introduce legal and ethical problems as well, because of the inevitable mixing and confusion between personal and professional communication. Also, email addresses controlled by the organization can be turned off, blocked, forwarded to another address, or taken over by another user.
Email servers and clients
Using email requires two things: an email server and an email client.
The email server is a piece of software that runs on the server (computer) and is constantly connected to the internet. It receives and processes any mail sent to it, and sends any mail you tell it to send.
The email client is the app you use to view your mail. This might be an app on your phone, something you view in a web browser, or a desktop application like Microsoft Outlook. The client checks the mail server for new messages, and stores them for viewing. It provides an interface for reading and writing messages. It sends outgoing messages to the server, which sends them to their intended recipients.
The server and the client are two different pieces of software, and they communicate using standardized protocols (POP and IMAP; see below). This means that the choice of server and choice of client are independent of each other.
People get confused about this all the time. One of the most often-heard reasons people have for not wanting to switch from their personal email addresses to organization-controlled email addresses is that they don’t want to have to change how they read and write email. They use Outlook, or Apple’s Email, and they think they will have to change. This is not the case.
Most email clients can connect to most email servers with no problem. Even better, most email clients can connect to multiple email servers and work with multiple email accounts at the same time. This means that someone who is using (for example) Outlook on their computer to check their personal email account can set it up to check their professional email as well.
Email protocols: POP and IMAP
POP stands for “Post Office Protocol.” You will sometimes see it written as “POP3,” because the protocol is in its third iteration.
IMAP stands for “Internet Message Access Protocol.”
Both are ways of moving message information from servers to clients, but they are otherwise very different from each other.
POP is based on a “Post Office” model. The server delivers messages to you, but does not otherwise keep them or store status information about them. IMAP provides a high degree of syncing between the server and the client.
You really want to be using IMAP most of the time. With IMAP, the details of whether you have read a message, the content of drafts, and other information about your own interaction with mail is saved on the server. This means that your email experience is fully synced even if you use multiple devices, like your laptop and your phone, to read the same email.
When you are looking at web hosting plans, be sure to find one that supports IMAP in the email server.
Ways to Access Email — Clients, Webmail
If you are running your email through the email server on your web hosting account, you have a few different options about how to access it.
The “traditional” way is to use an email client application on your own computer. This could be Outlook, Apple Mail, the mail client on your phone, or another similar program.
Webmail is another option, provided by most web hosts. The client application runs in your web browser and you access your email by logging into your hosting account and then opening the Webmail page. The two most popular webmail client applications are Squirrel Mail and RoundCube. If you do not want to run a local client app, you should check to see if your hosting account provides access to one of these two applications. (Many offer both.)
Setting up a Client
Complete instructions on how to set up a client are a bit beyond the purview of this guide, so I’ll just mention a couple things to get you headed in the right direction.
Generally, your email client will have some kind of setup utility where you can add email accounts to check. Each account will need a name, server, password, and some information about the protocol.
The information you need to set this up is available from your web hosting control panel. Somewhere near the interface where you setup new email addresses and passwords, there will be a way to view credentials. This will give you all the details you need for setting up the account in your client. It is usually a very simple process.
Some commercial webmail providers, like Gmail, will allow you to use your webmail account as a client for another email address. This is a good solution for people who want to add their domain-branded email address into their current commercial personal email address inbox, and check everything from the same place.
Another option is to outsource email altogether. Instead of running email through the email server associated with your hosting account, you can set up your DNS record to work with a commercial email provider (like Google Apps, for example). With this setup, you get all the features and user experience of the commercial email provider, with your own domain name.
Finally, a very simple solution is to set up an email forwarder that sends email to your branded email address on to whatever personal email address you already have. This is a good solution for personal bloggers and very small one-person businesses. The downside is that you will always be replying from your personal email address.
If you send occasional emails through your application (such as registration emails, password recovery emails, invoices, receipts, and so forth), this is not usually done through the mail server.
These types of messages are called “transactional email,” and are not usually sent through your hosting account’s mail server, but rather sent from the application code itself.
If the volume is excessive (such as might happen with a popular ecommerce site), the application email becomes one more drain on a hosting account’s resources. Additionally, some people will use application email in low-cost shared hosting environments to send spam email. Either of these situations (too much email, the wrong kind of email) can affect your own application email.
If you are sending a lot of mission-critical transactional email, you may want to look into outsourcing your application email to a premium service. These usually work as plugins to your CMS or ecommerce software.
Mailing Lists and Marketing Mail
Most shared hosting plans have specific Terms of Service prohibitions against using your mail server or application mail capabilities to send emails to large lists of people.
If you are using a VPS or dedicated server, you might not have an TOS restrictions to stop you from doing this. Still, it isn’t a really good idea (which is why shared servers plans don’t want you to do it).
The laws against spam email are very specific, and it isn’t a good idea to try to figure out how to conform to them on your own. Additionally, because of the wide number of variables that spam-blocking utilities look at, the DIY approach can cause serious deliverability problems.
For most purposes, your best option for marketing mail is some kind of commercial provider such as Mail Chimp or Aweber.
Business and organizations should use domain-branded email, and not personal email addresses, for conducting business communication.
Email is sent to and received from the internet by a software application called a mail server. The user reads and writes email from an application called a mail client. The choice of each is independent of the choice of the other.
Options for accessing email include local clients, webmail clients, and using a commercial account as a client. Alternatively, you can outsource it completely, associating your branded domain with a commercial email provider.
Two side issues concerning email are application email and marketing email.
Application email, or transactional email, is email sent from your site’s application code, related to the functioning of the site itself. This is not usually connected with your email server. Most of the time, you will not need to worry or think about this kind of email — it just happens. If you are sending a very large amount of it, you may want to look into outsourced transactional email solutions.
Marketing email, such as newsletters sent to people who have signed up to receive them, is subject to very strict laws as well as account Terms of Service conditions. For this reason, a commercial provider of email marketing services is usually the best option.
Protip: Use first and last names
A lot of organizations use weird patterns for translating individuals’ names into email address names. Most of these do not scale well.
If you use first names only, it will only be a matter of time before you hire someone with a duplicate name. (I once worked for a company that had three people named “Jeff,” along with a former employee and two major customers also named “Jeff.”)
Other organizations do cute things like first initial plus last name. That expands your pool a bit, but not enough. And it can be confusing and hard to read. And it’s still only a matter of time before you have John Doe and Jane Doe working in your organization.
When you have these name collisions, you end up with one person (the first hired) to have the “canonical” version, and then the second person is stuck with something like
This is not good.
While not completely perfect, I’m in favor of the form
firstname.lastname. This makes it much less likely you’ll have any name collisions.
If you DO have a name collision, you should make both parties use
firstname.middlename.lastname, or (if it makes more sense),
firstname.lastname.department. Having one person with the standard version and the other one with the non-standard version virtually guarantees that one of them will get the other one’s email on a regular basis.
A lot of schools run into this problem with email addresses assigned to students. I don’t really understand why it is such a common problem, because it’s such an obvious and predictable issue to come up.
For schools, I recommend
firstname.lastname.year, with year being either the enrollment year or the graduation class year. (Four digits, please.)
Chapter 9: Common Mistakes When Shopping for Web Hosting
This chapter focuses on a number of typical mistakes made by first-time hosting buyers, and how to avoid them. It also pulls back the curtain on a number of marketing tactics used by web hosting companies.
Buying on Price
There are two competing narratives offered by web hosting companies:
- All web hosting is basically the same, so buy the cheapest thing you can find.
- Quality costs money so buy the most expensive hosting you can afford.
Neither one of these is really accurate.
The discount hosting companies promote the idea that web hosting is essentially a commodity, and so therefore price is the only thing that really matters. They fall all over themselves to offer the cheapest monthly rate, along with coupons and specials and discounts. It’s a race to the bottom that no one really wins (least of all the customer).
There’s a grain of truth to this, of course — hardware is a relatively cheap commodity, and most of the software used by web hosting companies is free. Often, in measurable ways like CPU speed and bandwidth, there isn’t much difference between a $3/month and a $6/month host.
But the difference a few dollars can buy in terms of customer service support and technical expertise is really quite outstanding.
Another thing to realize about discount web hosts is that the only way they can afford to sell hosting for so cheap is to sell in volume and keep people on board for a long time. This means several things:
- There will be more customers grouped onto a single shared server.
- There will be relatively little attention paid to individual issues, because there are too many individuals to pay attention to.
- There will be incentives to pay for long-term contracts.
- There will be difficulties in moving or transferring.
The last one is especially troublesome, and seems to only come up with shared hosting providers in the under-$5 range. They will make URL transfer a complicated, multi-step process; they will provide no instructions for unlocking or transferring domains anywhere in the help files; they will require phone verification of cancellation; they will hide buttons for dealing with transfer and cancellation under vaguely-named menu labels; they will flood their FAQ and knowledge base with articles about transferring to their service, to push “transfer away” articles down the page in search engine results.
They say “you get what you pay for.” With discount web hosting you often get a whole lot more on top of that.
Of course, on the other end of the spectrum is the “you’ll be so proud that you could afford it” premium web hosting.
Sometimes this is deliberately over-priced for what it is — a hosting company sells a fairly standard VPS plan and dresses it up with words like “blazingly fast” and “white glove support” and charges twice as much as a similar plan from another company.
More often, the problem is simply overselling. If you are running a personal blog that will be read by a few hundred people, you probably don’t need the Turbo-Charged Premium 3000X ClusterRack Edge Server with Water-Cooled Multiplexing.
Exacerbating the marketing problem is the tendency of shoppers to compare on price, and buy something in the middle. Part of the reason for $2.50/month web hosting is that it makes the $5.50/month plan seem like a reasonable mid-grade solution, rather than just another cheap shared hosting plan.
A better approach is to figure out what type of hosting you need first (see the chapter in this guide on Types of Web Hosting), and then look for well-reviewed and highly-rated companies that offer that type of plan.
If it comes down to two options that have very similar features and are equally well-reviewed, then you can think about picking the cheaper one to save a few dollars. But most of the time, once you get to the two or three hosting companies and plans that will fit your needs, you’ll find they are going to be priced very close to each other.
And if you really need to save a few dollars, use one of our coupons.
Paying attention to TV ads
TV commercials are extremely expensive, which means that a hosting company that produces a lot of commercials isn’t spending that money on technology or customer support.
Additionally, TV ads create an artificial sense of reputation. (“I’ve heard of them — they must be good.”) This artificially inflated reputation allows them to charge more than equally-good hosting companies offering similar services.
Believing Affiliate Reviews
If you happen to come across an overly-positive review that suggests that one particular host is the best option for all people, and it just happens to have a link to the purchase page of the hosting company, you can be completely sure that this is an affiliate marketing link.
Now — this is important — there is nothing wrong with affiliate marketing or website reviews. (That’s what we do here at WhoIsHostingThis, if you hadn’t noticed.)
However, it’s important to be objective at non-biased. Our reviews and rating come from actual people talking about their actual experiences, not us just saying a bunch of good things to get you to buy. Additionally, we provide reviews, ratings, and information about hundreds of hosting companies, not just the one with the high affiliate payout.
So what you want to watch out for as you are researching hosting companies are websites that seem overly committed to one particular hosting company, or where all the reviews are positive.
Buying based on bad features
There is a lot of free software available. Some of it is Open Source, some of it is freeware, some of it is free trial versions of premium software.
There is some amazing free software — WordPress, Drupal, Ruby on Rails. But there is also an unbelievable amount of bad, free software.
Many web hosting companies make a bunch of this stuff available as a free one click installation. You’re not really supposed to use all this stuff — it’s a marketing ploy. They make it available so that they can say “over 150 free software applications available with the purchase of a hosting plan.”
Ignore this stuff. It isn’t useful software, but it also isn’t a bad sign if a hosting company advertises this way. (That is: They all do it. Don’t judge.)
Figure out what you specifically want to do — write a blog, run a podcast, setup a wiki — and then find the software that will best serve that purpose, and then find a host that supports it. Do not just randomly pick a web hosting company and then browse their free app section and start running your website on Free Page Web Creator Plus 1998.
Reading anything about SEO and webhosting
(Except this, of course.)
SEO — Search Engine Optimization — is always a hot topic, and the people who are good at it are the ones you will find when you start searching for information about it on a search engine (funny how that works out). But a lot of the “SEO and Web hosting” content is barely accurate at best.
There are continuous claims that sharing an IP in a shared hosting plan is “bad for SEO.” (It mostly isn’t.) There are parallel claims that buying some hosting feature will improve SEO. (It mostly won’t.)
And even if there is a tiny improvement for some of these things (getting an HTTPS certificate is apparently beneficial), the difference will hardly matter unless you are in a highly competitive niche — and then you’d have to know about a thousand other things in addition to the rumor you heard about Google penalizing sites hosted in the Central Time Zone.
SEO basics are very simple: Create a lot of good content and encourage people to share and link to it. The most beneficial thing you can do from a hosting standpoint is to go for speed — both search engines and regular people prefer fast websites.
Believing in Uptime Guarantees
Many web hosting companies advertise an uptime guarantee — 99.9% or something like that.
Don’t believe it. It doesn’t matter.
For one thing, there is almost no way to calculate the actual amount of uptime your specific site has, unless you are continually checking on it and keeping logs.
Also, how the company actually calculates “uptime” may not be particularly in your favor. It might be across all websites within a particular hosting plan, not your site specifically.
Moreover, 0.1% downtime is still over ten minutes in the course of a week. That could be a 45 minute outage once a month, which you don’t want, or a series of minute glitches that cause a bad experience but barely register as “downtime.”
Most importantly, these types of guarantees aren’t backed up by anything. If your site goes down and you lose a big sale, the hosting company isn’t going to reimburse you for your lost income. The most you will ever get out of an uptime guarantee is a refund, but then you’ll have to deal with moving your site and finding a new hosting company.
All hosting companies have occasional minor problems, and every website will experience a little bit of downtime now and then. Look at user reviews and other statistics to determine overall reliability of a host, especially if it is for a mission critical business website. But ignore the guarantees — they’re meaningless.
Buying the wrong hosting plan
Almost always, this happens when people buy less than they need.
Cheap, shared hosting plans have become so common that they almost seem like the “normal” plan. This is what you get if you don’t need anything too fancy.
Shared hosting is great, yes. It is an economical choice for personal blogs, small businesses, churches, clubs, or local non-profit organizations.
But if you want to run an online business, or launch a major brand presence, or stream video, or develop new software — really, if you want to do anything other than set up a basic WordPress site with a few hundred visitors — there is a good chance that you need something a little more high-powered than a $4.95/month shared hosting plan.
Caring about Free Domains
Lots of hosting companies make a big deal about how you get a “Free Domain Name!” when you purchase a hosting plan. This is not an amazing benefit because:
- Most hosting companies do it, so it isn’t that special.
- Domain names are not very expensive, so you could just buy one yourself.
- Having your domain name at your hosting company makes it a little harder to switch in the future, so you might be better off registering your domain name somewhere else.
There’s no reason you have to have your domain name at the same place that hosts your website, and there’s at least one good reason not to: vendor lock-in.
An alternative strategy is to find a cheap domain-name registrar and use it for all your real domains (whether that’s one or one thousand), and then use the DNS records there to point it to whatever hosting site you run your website on. You can use a dummy URL as the free one when you register for your hosting plan. This keeps your domain name and your hosting plan accounts separate, which makes life so much easier in the future if you decide to move to a different web host.
Paying extra for things you don’t need
When you buy hosting, during the checkout process there are a number of “upsell” items that are typically offered. None of them are bad, some of them are useful, but be careful not to just click “Continue” right through the process without double-checking that you aren’t buying things you don’t need.
Some common upsell offers include:
- Domain name privacy — This can be useful if you don’t have a business address separate from your house, and you don’t want your home address made public in connection to the website. But it’s usually too expensive, between $5 and $15 a year, even you bought a free domain name. Some discount registrars included privacy for free, which is another good reason to use a separate registrar apart from your hosting company.
- Dedicated IP and/or SSL certificate — You can’t get an SSL unless you have your own IP address, and the only real reason to get your own IP address is to have an SSL certificate, so these often come bundled together. SSL certificates are important if you are running an ecommerce site, or any site that will receive sensitive user information. If you are planning to run such a site, you might want to get the bundled discount when you buy hosting. If you are just setting up a personal blog, there’s really no reason to spend the money.
- Backup Services — You need to keep your website files and database backed up, so it makes sense that hosting companies would offer backup services at checkout. However, the choice of backup platform is sure to benefit the hosting company that is selling it to you, and may not be the best option for yourself. Keeping backups separate from your main hosting company can be beneficial if there is ever a problem with the company in the future and you need to start over from backups on another server.
- Web design, SEO, or Business Consulting — Pretty much always avoid this. If you want to hire a web designer, hire one locally that you can talk to. The types of web design you get for $20 at the time of purchase usually isn’t worth even that amount, and you could do better with WordPress and a few minutes of browsing free themes.
Taking “Unlimited” at face value
Shared hosting plans are almost always advertised as being “unlimited.” They might have several different types of unlimited:
- Unlimited bandwidth
- Unlimited storage
- Unlimited Email accounts
- Unlimited domains
- Unlimited subdomains
- Unlimited websites
The problem with “unlimited” is that usually is limited. The first limitation hosts put into their Terms of Service is related to types of use. For example, they might allow unlimited storage, but then specifically disallow use of the hosting account for personal file storage. Usually, the Terms of Service agreement will specify that all use must be in relationship to a publicly accessible website.
They may also specifically disallow certain types of media, or disallow streaming.
Finally, if your site gets too popular and begins to draw too many resources, most hosting companies reserve the right to throttle your bandwidth (slow down traffic), remove you from the plan, or require a paid upgrade to another service level.
Most web hosting companies will give you a discount of a few dollars a month if you sign up for an extended period of time. You can get a “great deal” if you’re willing to pay in advance for three years of a hosting plan.
This is usually a bad idea, especially your first time out.
The problem is that you will have a hard time getting that money back if you decide to move to another host in ten months. Since you don’t have any idea whether you will love or hate your new hosting company, this is unwise.
The reasonable break-point for time-based discounts is usually six months or a year. Don’t buy more than that if it is your first account with a company, the extra savings isn’t worth it:
- 36 months x $2 discount = $72 savings over three years if you stay.
- 24 months (last two years of contract) x $3.95 (typical discounted price) = $94.80 wasted money if you decide to leave.
Moreover, even if you really want to leave after 10 or 11 months, you’ll probably decide to ride out your contract (most people do) even though you are having a bad experience. This is an even worse situation, because you’ll end up neglecting your site and this will affect your business.
Not reading the Terms of Service
We have all gotten used to hitting “Continue” on online agreements that we barely think about the implications of these contracts. This is a mistake all the time, but it is especially a mistake with web hosting.
Many hosting plans have Terms of Service that specifically disallow a number of things — file storage, media streaming, running SaaS applications. Make sure that you understand what activities you are and are not allowed to engage in on your host before making decision — especially if you are planning to do anything interesting.
Googling “Web Hosting”
Getting to the top of the page on a search engine has almost nothing to do with whether a hosting company is any good, and showing up in the paid ads just means the hosting company is willing to pay a lot for advertising (those clicks are very expensive).
Instead of relying on a hosting company’s SEO ability (which isn’t what you’re buying), use our comparison tool to search thousands of plans from hundreds of hosting providers. You can search for specific types of plans, support for specific features, and all sorts of other variables.
Skimping on service
Two hosting companies have similar plans, similar reputations, and equally decent reviews and ratings. One of them is a few dollars a month cheaper, but phone support is only during business hours in Chicago. The other one costs more but has 24/7 phone support.
Don’t skimp on service. Especially if this is your first website or your first web hosting account.
There will be problems. No matter how good your hosting company is, no matter how basic your website is — there will always be a problem at some point. When that happens, you will want to have someone to call.
IPic — The World’s First World’s Smallest Server
Computers have gotten smaller and smaller — and cheaper — and as a result we now put computers in all sorts of thing. It’s so much easier to build general-purpose computers than task-specific hardware that many devices and pieces of hardware are actually full-fledged computer — your printer and your router are computers with operating systems and file directories. Arduino and Raspberry Pi are both inexpensive little pieces of hardware that run Linux — that’s right, they are tiny computers.
Today you could, if you really wanted to, serve a website from your smart phone or even your Apple Watch. We even have internet-enabled light bulbs. And internet socks.
But back in the 1990s, the trend toward miniaturization had begun, but hadn’t reached the levels we have gotten to today. Hardware was still somewhat expensive, and the idea of an entire computer on a single small chip just wasn’t anyone thought about doing.
Until someone did.
In 1999, a CS researcher at the University of Massachusetts built the iPic — a complete web server running on a tiny PIC chip, about the size of a ladybug.
The tiny hardware
The hardware for this miniature wbserver was an off-the-shelf PIC 12C509A, a chip popular at the time in embedded systems and used a lot in college engineering programs because it was relatively cheap. Connected to it was the 24LC256 EEPROM chip, used as the permanent storage for files served by the tiny web server — essentially acting as the hard drive. A third component and final component was a very small power supply regulator.
These three components were wired together by hand on a small circuit board; the wires actually take up more room than the components. In a manufactured production run, the entire hardware stack could be replicated in a space the size of a match head.
All of this is connected directly to internet router, the same way a conventional web server is connected to an ISP. The iPic seems to have been taken offline now, but for several years in the early 2000s it served a handful of files from a publicly accessible URL.
The tiny software
While the tiny chip made this web server possible, it was actually more of a software advancement than a hardware advancement. The hardware was off-the-shelf components.
The advance was the tiny footprint of the iPic TCP/IP stack, the code for which the developer was able to fit into a mere 256 bytes.
The entire stack for this miniature web server was as follows:
- The chip is a PIC 12C509A, running at 4MHz (Internal RC clock), implementing the
- IPic tiny TCP/IP stack,
- a HTTP 1.0 compliant web-server,
- a simple telnet server (for editing files on the chip),
- an 24LC256 i2c EEPROM
The TCP/IP stack is not a “toy” implementation, either. Though the developer refers to it as “wee tee cee pee,” it is, in fact, a fully standards-compliant (as of 1999) web host — meeting the requirements laid out in RFC-1122, Host Requirements Document.
An interesting point here is that he could have saved more room if he didn’t need to be able to edit files in situ. This is precisely the situation with the tiny computers embedded in light bulbs, pedometers, and all sorts of other devices.
Even more interesting is that the inventor seemed to understand the direction things were going. Referencing the first internet-connected appliance, the original announcement of the iPic seems oddly prescient in light of the growth of the internet of things.
"I’d like to think of this as John Romkey’s Toaster-Net come to reality. I could now Internet-enable every bulb socket in my house, perhaps?
Serving out web-pages from files is only a very small part of the story. Remember that a web-browser not only shows you information it has fetched from a web-server, but it can also be used to make selections, click on switches and check-boxes, enable or disable features and change settings and send them over to the remote computer and have the settings take effect.
With the iPic, that remote computer now has shrunk to the size of a match-head, and costs less than a dollar. This means that you can connect practically any device or appliance to a network, and you can control it from the network."
That is pretty much exactly what has happened. The iPic prefigured the ubiquitous internet connectivity of every device, made possible by the miniaturization of hardware and the instinct to connect every aspect of our real-world life to the ever-expanding network of networks.
iPic and other Tiny Web Server Resources
The original post about the iPic web server remains a fascinating read, even all these years later. We’ve gotten so used to connected devices, so quickly, that it is interesting to see the beginnings of that trend.
Similarly interesting is this archived conversation about the world’s smallest web server. What’s interesting here is the combination of excitement and skepticism about what the development of tiny web servers means for the future of computing. One commenter even goes so far as to call the iPic a “hoax.” Today, no one would doubt such a small device was possible.
If you are interested in building your own tiny web server, you’ll need some tiny web server software. IBM’s nweb server is a web server written in 200 lines of C. It’s up to current web standards, and — best of all — includes a detailed tutorial and pseudocode to help people understand how a web server actually works. This is a great resource for people who want to learn about the internal workings of this technology.
PIC microchips are still being manufactured, and they’ve just gotten more powerful over the last decade and a half. You can buy them from microchipdirect.com, and there are many internet and web-related projects you can work on.
Further ResourcesGrowing collection of guides, resources and graphics to help you better understand web hosting and website concepts:
JPG, GIF & PNG - How to choose image formats for the web
Learn to Code - Which programming language should you learn?
DIY website builders - Pros and cons of WYSIWYG tools
See our blog for our latest features about web development, and also when you are in the market for a hosting company - you can research the best choice for your needs by using our hosting comparison tool.