Over the summer I was able to attend three different Drupal Camps (Drupal Corn Camp, Twin Cities Drupal Camp, and Drupal Camp Atlanta). While talking to other attendees or during my sessions, I made it a point to ask about hosting providers and what other Drupal developers, designers, and site builders were using.
These are rough numbers, however I would guess that overall about 50% of the people I asked mentioned that they were using some type of Shared Hosting service. This was a number that surprised me. I have used a number of different shared hosting services in the past to host Drupal websites, however I usually use other hosting solutions for most of my Drupal websites.
I wanted to use this as an opportunity to discuss Drupal shared hosting in more detail. To go over some of the situations in which it works, and some of the limitations that you will likely run into. I also plan on discussing figuring out how to install Drush on shared hosting, as well as how to use Git on shared hosting.
When to use Drupal shared hosting
There are two primary reasons to use shared hosting. The first is cost, and the second is for ease of setup. Setting up a Drupal 7 website on shared hosting (especially those using CPanel) is a straightforward and easy process (I have some videos on setting up a Drupal site on Bluehost). It is something that someone with basic Drupal knowledge can do in 10 to 15 minutes. A few years ago, getting a live Drupal website up and running in 10 to 15 minutes was a pretty awesome reason to use it. Now however, there are some other hosting options that are more Drupal specific that are even easier and quicker to launch a Drupal site than shared hosting.
This brings us to the number one reason most Drupal developers choose shared hosting... cost. Shared hosting is the cheapest alternative for hosting a live Drupal website. You can find shared hosting providers to host your Drupal website for less than $5 per month. With that price tag however, you do run into some limitations.
Limitations of shared hosting
In the following few paragraphs I am going to go over some limitations that you may run into when hosting a Drupal website using shared hosting providers. These are not necessarily meant to deter you from using shared hosting, however they are things you need to consider when deciding where to host your Drupal website. There are many people that will try to convince you to always use one way to host your Drupal website, I have found depending on the project, the budget, and the requirements, different situations may call for different hosting options.
Drupal Shared Hosting Performance
The number one complaint I hear about shared hosting is about the performance. When considering the performance, you have to consider why you may run into problems. There may be many other websites running on a single instance of your shared hosting server. This means spikes in traffic on other websites has the possibility to slow down your website. Shared hosting providers put in limitations to try to keep this from happening, so this also means if your Drupal website receives a lot of traffic, there is a good chance that your website will not have the necessary resources to keep up with the load.
If you are expecting spikes in traffic or expecting even a moderate amount of traffic on your Drupal website, shared hosting might not be the best option.
Drupal Shared Hosting Memory Limits
If you have ever installed a modest amount of modules on your Drupal website, you may have ran into PHP memory issues. These issues are typically resolved by either uninstalling modules or increasing your PHP memory limit. The later of the two is often difficult to do on shared hosting providers. I can recall many times trying to increase the PHP memory limit on various shared hosting providers and it never turned out to be an easy process. Typically you can do it, however the process is often convoluted, the changes do not immediately take effect, and you are still restricted in the amount of PHP memory you can allocate to your Drupal website.
If you need to install a significant amount of Drupal modules, shared hosting might not be the best option.
Drupal Shared Hosting Reliability
The reliability of shared hosting is another concern. I have had dozens of questions asking if this or that shared hosting provider was more reliable than this or that other shared hosting provider. I have heard it so many times that I have come to the conclusion that you will have some reliability issues when dealing with shared hosting. It may not happen often, and it may be a long time before you have an issue, but if you use a provider long enough, you will likely run into some type of downtime issue. Certain shared hosting providers are probably more reliable than others. I don't know enough about the various providers to be able to say with certainty which I think to be more reliable. I just know that typically you are going to have more reliability issues with a shared hosting provider than with other types of hosting options.
If near perfect uptime is absolutely critical to your Drupal website, shared hosting might not be the best option.
More difficult to upgrade Drupal
Shared hosting with a Drupal website is typically more cumbersome to upgrade. I am not going to spend too much time on this one as there are more tools available to make this process easier. However, just keep in mind and do some research to see how easy the upgrade process will be for your Drupal website on your shared hosting provider of choice.
Shared hosting is a viable option for Drupal
Despite all those limitations, I still think shared hosting has a place with Drupal websites. In fact, I think shared hosting has a place for more Drupal websites than most developers will probably care to admit. Think of it this way, for every large scale, high traffic Drupal website live on the Internet, there are a lot more, small scale, low traffic Drupal websites that still need hosting. If you are a plumbing company or painting company and have created a simple brochure business website and are only expecting a few hundred people a month to come to your site, shared hosting will probably work great. This is especially true if you don't want to spend $30+ a month just to keep a site up and running. You probably don't mind the occasional hiccup in reliability or slight performance problem.
The only thing to keep in mind is that although you are saving money, you are more than likely losing time and losing peace of mind. The entire hosting game is a fine balance of budget, time, performance, and peace of mind. Typically budget, performance, and peace of mind are directly related. The more you can spend on your hosting, the better performance and the more peace of mind you will get. Budget and time are usually inversely related. The more you spend the less time will likely be required, the less you have to spend, the more time you will likely have to spend with setup, issues, and the like.
Just evaluate your options, and after you do, take a look at my Hosting options blog post where I go over a few common Drupal website hosting providers.
Other Drupal Shared Hosting Considerations
There are other considerations for using shared hosting with Drupal. If you are familiar with my 5 Secrets to Becoming a Drupal Ninja ebook, you will know that I discuss building and streamlining a Drupal development process. This is often more difficult to do with shared hosting. If you want to follow some other Drupal best practices, you will need to figure out things such as how to install Drush on shared hosting and how to use Git with shared hosting providers. In the near future I will be posting some follow up articles/videos on these topics to help those of you that are either going through the hosting decision making process, or are already using shared hosting for your Drupal sites.