Some web hosting companies are quite clever in their marketing campaigns by advertising unlimited shared hosting. This means you can have as many websites as you want for the very cheap price of just a few bucks per month, right?
Well, not exactly. In this case, unlimited does not mean infinite.
Unfortunately for us, there are numerous restrictions that these web hosting companies impose behind the scenes. Yes, you can have unlimited storage space, but the types, size, and number of files you store are restricted. Yes, you can host numerous large websites, but when the databases grow beyond a certain point, you’ll be told about it.
While most small websites will never hit these resource limits, some will, and that’s where the web hosting company “comes to the rescue” and up-sells the customer to a VPS or dedicated server plan.
Don’t get me wrong, there’s nothing wrong with this. I personally use shared hosting for many of my websites, but over the years I’ve come to learn about the limitations of unlimited web hosting and wanted to share them with you in this blog post.
So with that said, I present to you 10 surprising limitations of unlimited shared hosting.
1) Memory Limits with RAM
Pretty much every single shared hosting provider will impose a memory limit.
This restriction deals specifically with how much RAM your website is allowed to use. In fact, the RAM limitations applies to how much RAM all of your websites are allowed to use if you are hosting multiple websites on your account.
DreamHost, for example, has a memory limit for their unlimited plans; however, they won’t publicly reveal what the limit is.
In my experience after exceeding my allocation of RAM multiple times and having my processes automatically killed with the message “Yikes! One of your processes was just killed for excessive resource usage. Please contact DreamHost Support for details”, I estimate that the DreamHost shared hosting memory limit is probably around 128 MB per process.
On the other hand, the Stellar Plus and Stellar Business plans at Namecheap explicitly publicize their physical memory limit as 2 GB across your account.
2) CPU Resource Limits
Another big limitation to unlimited shared hosting is CPU limits.
With shared hosting, understand that multiple websites (including other customers) are running on a single web server and sharing all of the resources including CPU, RAM, and disk space. In order to prevent one website from hogging all of the processing power on the web server, many web hosting companies monitor CPU usage for each account.
As an example, Namecheap states in their Additional Acceptable Use Policy for Virtual accounts:
No script may use 25% or more of system resources for 60 seconds or longer.
In addition to this, Namecheap also caps your processing usage at somewhere between 20% and 60% of the capacity of the CPU depending on which plan you choose.
3) Size of Database Limits
The backbone of any website including WordPress is a database of some sort. Most commonly, this is a MySQL database. If you’re not familiar with databases, just think of a database as a bunch of organized spreadsheets linked together.
In any case, even though your shared hosting plan is unlimited, there is a clear limit to how big your databases can be.
Namecheap Database Limits
Namecheap allows a maximum total database size of 10 GB per shared hosting account.
A maximum of 10GB of a shared hosting account can be allocated to databases and database dumps including but not limited to .sql files
Full details of Namecheap’s database limits can be found here.
Bluehost Database Limits
Our research shows that server performance degrades when the MySQL usage is over 5,000 tables and/or 10 GB on a single account or 5,000 tables and/or 5 GB on a single database.
Full details of Bluehost’s database limits can be found here.
DreamHost Database Limits
You’re certainly allowed an unlimited number of MySQL databases, but in the interest of server stability we request that you try to keep them optimized and no larger than a few GB in size.
Full details of DreamHost’s database limits can be found here.
For those of you who are skeptical as to if these hosting companies actually enforce these limits, here’s an email that I got from DreamHost when my databases grew to a size that they did not approve of.
4) Limits on the Number of Files
A big draw from most potential unlimited hosting customers is the fact that they don’t ever have to worry about storage space for their website… or do they?
Well, yes they do.
Most unlimited web hosting plans will have a inode limit. In plain words, this is a limit on the number of files and folders on your account.
We only allow 50,000 inodes per cPanel account, because that is where we see optimal server performance. We do understand that not all of our customers can reduce their file count that far; for this reason this is a “Soft limit” meaning that while the limit is reached, you will still be able to upload files. Once the account exceeds 200,000 files then it will be in violation of our Terms of Service and can result in possible suspension.
To me, this restriction goes against the marketing claim that these plans offer unlimited storage. How can you advertise unlimited SSD storage, but place a limit on the number of files?
5) Number of Processes Limits
Yet another limitation to unlimited hosting is a limit on the number of processes on your account. Normal WordPress websites won’t have too many processes running, but anything like new WordPress plugins or themes can result in additional processes on your account.
Namecheap, for example, displays the number of processes limit within cPanel. For the case of a Stellar Plus plan with Namecheap, the number of allowed processes is 200.
Although I haven’t tested this out for myself, I would suspect at some point (with hundreds of WordPress websites) you would eventually hit the number of processes limit. If that’s the case, I don’t think it’s fair for these hosting companies to advertise unlimited websites as a feature of their shared hosting plans.
6) Disk I/O and IOPS Limits
Disk I/O is defined as the speed at which a hard drive reads data from and writes data to a hard drive. This is usually measured in MB/s.
On the other hand, IOPS is a measurement of the number of I/O operations per second.
Most unlimited plans come with limited disk I/O and IOPS per hosting account. In the case of Namecheap’s Steallar plans, the maximum number of IOPS is 1,024 and the I/O usage limit is 50 MB/s.
What this means for you is that your website cannot write or read data to disk faster than these imposed limits. Again, for most websites like blogs and e-commerce, this won’t be a problem. It’s only when your website is working with a ton of data like video streaming that IOPS and disk I/O limits become an issue.
7) Backup Limitations
With an unlimited web hosting plan you’d suspect that you could have unlimited backups of your websites; however, this is not the case across the board.
For Namecheap’s unlimited plan Stellar Plus, a maximum size of 25 GB is allowed for website backups. As described in the Acceptable Use Policy of Namecheap:
For our Stellar Business customers, we offer unlimited backup storage space with the AutoBackup tool. However, for our Stellar Plus customers who use the AutoBackup tool, if you reach the 25 GB backup storage limit, the backup will not be created until you remove other files.
Obviously this restriction is only for customers who use the backup tool provided by Namecheap, so why not handle backups on your own? Well because web hosting companies only allow certain types of content on their servers which we’ll discuss next.
8) Restrictions on Types of Content
As stated by Namecheap’s Disk Usage Provision, “your hosting account should consist mostly of html and php files”. Additionally, “the content on your website must be linked from an HTML or similarly coded web page with all content is freely available to the public”.
Not knowing this, I’ll be the first to admit that when I first came across the concept of unlimited web hosting in 2013, I saw this as a cheap way to backup all of my files. At the time, I was digitizing my parents’ VHS tapes and suddenly found myself with hundreds of gigabytes of raw video footage. So what I did was begin the process of uploading these video files to DreamHost.
Within a few days, I got the following email from DreamHost telling me that I was not following their Unlimited Policy.
We’ve noticed the following folders and/or files seem to be either inaccessible by a browser or large, static files that are best stored off the web server:
Our Acceptable Use Policy and Unlimited Policy are in place to ensure optimal server performance (the storage on our servers is designed specifically for hosting sites and is not efficient as a backup solution or other storage solution).
Unfortunately, due to the above, this data may not stay on your web server.
Please remove the above-referenced data from our system entirely or migrate it over to our DreamObjects service within 7 days. If you need additional time, please contact us before that date so we can work with you on this.
DreamHost’s Unlimited Policy lists the following types of things as not allowed on their unlimited plans:
- File upload
- Distribution sites
While some items on this list are vague, I definitely was in direct violation of their policy by uploading my VHS tapes to their servers as a backup solution.
Now this is not to say that you can’t host video files on unlimited plans… there’s just a limit to how much you can upload. For example, Namecheap specifies the following multimedia file limits on all of their hosting plans in their Disk Usage Provision:
- A maximum of 10GB of a shared hosting account can be allocated to music, video or other multimedia files including but not limited to .aac, .avi, .mp3, .mp4, .mpeg, .jpg, .png, .gif files;
- A maximum of 10GB of a shared hosting account can be allocated to any archive and disk image files containing the complete contents and structure of a data storage medium;
- A maximum of 10GB of a shared hosting account can be allocated to databases and database dumps including but not limited to .sql files;
- A maximum of 10GB of a shared hosting account can be allocated to Executable files and all other files which are the result of compiling a program.
9) Email Limits
While Namecheap and DreamHost have hosting plans that provide unlimited email accounts, there are indeed hidden limitations here.
Specifically, Namecheap limits the number of emails you can send per hour according to the following:
|Email Send Rate Limit|
|Stellar Plus||200 emails/hour|
|Stellar Business||10,000 emails/hour|
If you hit these hourly limits, your hosting company will immediately block your email account from sending more emails. This is obviously an effort to prevent spammers from blasting out loads of emails.
Additionally, for all Namecheap shared hosting accounts, the maximum email storage can not exceed the 10GB limit.
Similar restrictions exist with email on DreamHost unlimited plans according to their SMTP quota limits policy.
10) Entry Process Limits
Entry process limits are often overlooked, but are actually very important for websites with lots of concurrent visitors.
An entry process is the number of PHP scripts you can run at a time. Each time a visitor requests a page on your website, the entry process count increases by one until the request is sent. When the request if fulfilled, the entry process count decreases by one.
This means that if the number of visitors coming to your website at one time exceeds the entry process limit, your website will break. More specifically, your visitors might see a 508 error meaning “resource limit is reached”.
Namecheap has an entry process limit of between 20 and 40 for for their Stellar plans:
|Entry Process Limit (maxEntryProc)|
In other words, if your website ever suddenly sees a spike in traffic or becomes popular due to an appearance on the news, you’ll want to have an high entry process limit to handle the dramatic increase in traffic.
Is Unlimited Web Hosting Right For You?
While all of the above points are true, most small websites won’t hit these limits. If you fall into this category, my recommendation for shared hosting is the Shared Unlimited plan by DreamHost.
However, for those of you who have aspirations to grow your website and attract thousands of visitors every day, shared hosting is probably not for you. In this case, I would recommend something like managed WordPress hosting. My personal recommendation is Kinsta.
On the other hand, any tech-inclined users out there who may be reading this or for those of you who don’t use WordPress might want to consider hosting their websites on a virtual private server (VPS). There are a few great cloud VPS web hosts and while I can’t pick a favorite, in my experience Linode has performed the fastest for me.
I hope this blog post clears things up about unlimited and shared hosting for you. As always, if you have any questions, let me know in the comments below, or reach out to me on my contact page.