Digital Marketing
Website Hosting
Website Hosting
A web hosting service is a type of Internet hosting service that allows individuals and organizations to make their website accessible via the World Wide Web.
The act or business of serving as a website host. Web hosting is the activity of providing storage space for a website that is connected to the Internet. When you have a company that has space on servers and people buy space to store their websites so they can appear on the Internet, this is an example of web hosting.
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.
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 applications: 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. There are many reasons for this:
- 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.
- 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.
Summary
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.
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.
Summary
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.
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.
Shared Hosting
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.
Limitations of Shared Hosting
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 of 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.
Customization and Security
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.
Another problem to note about shared hosting is that it can open 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.
Also, you share the same IP address with other sites on the same server. If one of them is using their account to send spam email, 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 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 occasionally 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."
What Is Cloud Hosting?
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.
Benefits of Cloud Hosting
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.
Not All Cloud Hosting Is the Same
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.
Managed Hosting
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.
Specialty Hosting
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 tools 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 is probably not appropriate for a business that relies exclusively on its website for revenue, or for a large organization with a lot of traffic.
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.
Summary
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.
What Are You Buying When You Buy Web Hosting?
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.
Servers
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.
Datacenters
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.
Software
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.)
Support
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.
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.
Summary
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 "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.
Features to Look for in Web Hosting
What 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.
Speed
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 "amazingly fast."
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.
- Solid State Drives (SSD): these are much faster than traditional spinning disk drives.
- Location: the closer a datacenter 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 datacenter near there.
- Content Delivery Network (CDN): 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
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.
Storage
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).
Scalability
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.
Technology
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.
Access
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.
Support
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 3 am, do you want to have to wait until business hours in Salt Lake City before you can talk to someone?
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.
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 shared hosting providers Bluehost and SiteGround.
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.
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 or Cloud 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.
Managed WordPress Hosting
If you are running a serious business website with a lot of traffic, or a busy woocommerce shop you might 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 (unless you really, really want to)
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, the easiest way is to 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.
Cloud Computing
What 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 Mean 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 advantage" 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 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 (SaaS).
- 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 (PaaS).
- The hosting company doesn't actually own any datacenters, but rather purchases raw computing power from Amazon Web Services (Amazon AWS). This is Infrastructure as a Service (IaaS).
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.
Cloud Hosting
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.
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.
Tip: A simple way to have email @yourdomain.com is by using gmail with your own domain name. It's relatively easy to set up, and common.
If you prefer to use your web host for email, then read on to better understand what a host should offer in regards to email
Email and Domain Names
As you almost certainly know, email addresses take the following form:
name@example.com
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 @gmail.com
or @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.
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
The two dominant email protocols are POP and IMAP. (A protocol is a standardized way of moving information from one place to another.)
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.
Other Options
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 Gmail / 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.
Application Email
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.
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 a 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 Constant Contact or Hubspot.
Summary
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 do 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 jsmith2
or jdoe1967
.
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.)