The right web host can make a big difference in the performance and security of your website. They can make it easy for you to learn. Confusing tools can complicate the management of your site. There is no doubt that picking a good host is important.
Here's what I consider when selecting a hosting provider:
What kind of site are you planning?
The host you need will change depending on the site you are planning. Requirements for a static blog vary a lot from WordPress, or a forum. The more you can understand your requirements, the better you can evaluate if a host will be a good fit. Many low traffic sites can be cached, and work well on shared hosting until they grow. If you need to install custom software outside of your website code, a VPS will probably be required so you can manage the hosting environment yourself and not impact other users.
Your website can only be as reliable as your host. Verify they have good server uptime, schedule maintenance, and communicate issues clearly. If the server they give you is offline too often, your site will be offline and suffer too. Also find out if the host provides free time or account credit in the event of downtime. How do you get the credit? How long must they be down? When does the policy not apply?
Trials periods and refund policies
Free trials aren't the most common thing in the hosting industry, due to potential abuse. Refund policies are another matter. Your new host should have a clear refund policy in the event you determine they are a bad fit after signing up. That said, protect yourself and don't prepay a long period until you trust that you want to stick with them for the whole time. Also find out if you can get money back if cancelling in the future while you still have time prepaid. With many hosts, you will be out of luck if you no longer need the service.
You'll want your content hosted close to your intended end users. If you expect most of your traffic to come from the USA, having a host in the USA would be best. Having a host in China... Would not be ideal. Ultimately, this is a speed of light thing, as the further away your server is from a visitor, the longer it takes to move data back and fourth. Don't get too overzealous... This is mostly important when thinking about thousands of miles or continents, not which side of the county you're located in. Also, content delivery networks can help keep content closer to end users when you have a global audience.
They should take security seriously at all levels. Technical support should have a way of confirming that they only work with you or your authorized contacts. Their control panel should have encrypted access and not permit unencrypted access. They should encourage secure connections for email, FTPs, SSL for websites, and so on.
Support, technical and otherwise
You want host with a good tech support department. They should be available 24/7/365 and have low response and resolution times. They should be able to help you know when there is a server level issue, or an account/website level issue. They should very knowledgable in all aspects of web and email hosting. They should have good documentation that explains how to use their website, control panel, and various tools they offer. Configuration details like server names, your sites IP address, and nameservers you use should be easily found and not require asking the support department. Some departments, like billing and sales may not be available 24/7/365, so find out when every department is open and that it works for you.
The control panel
They should provide an easy to navigate and use control panel to assist you in managing all aspects of your website. Viewing configuration information, setting up email addresses, installing SSL certificates, adding additional websites, modifying DNS information... all things that should easily be self-serve.
You may want them to offer a website design tool. Outside of specific companies that specialize in this, it can be hard to find a good one, and may cost extra. Consider how important this feature is, and if you can make use of something else like WordPress and a purchased theme.
Some hosts also sell domain registrations or even provide free domain names. I suggest you use a real domain registrar and register your domain elsewhere. Owning and having full control of your domain name is one of the most critical things you can do. Plus, many companies that specialize in domain registration will offer more robust tools and features for managing your domain name.
Limits and "unlimited"
First things first: There is no such thing as unlimited. There is a limit somewhere. For example, with most unlimited hosts:
- Unlimited storage doesn't mean you can store as much of anything as you want. You may be prohibited from storing backup archives, large files, running a download or image hosting site, etc.
- Unlimited bandwidth doesn't mean free DDoS protection, or that you can run an image hosting site.
- Access to CPU, RAM, disk IO, MySQL connections, number of processes, number of concurrent or periodic visitors may still have limits applied. If your site gets too busy, you could find it slow to respond, or totally offline.
Bottom line: Be sure to understand what you will be hosting and if it is permitted by your host of choice. They should publish a clear policy about what is permitted by "unlimited" and what the other limits are.
- You probably want email hosting too. Check how many accounts they allow, and how much storage those accounts can use.
- You probably want a host that runs PHP. Assume Perl, Python, Ruby, NodeJS, and other languages aren't available unless they specifically state support for them. Ensure what programming language your site is built in and verify the host supports it.
- You probably need less storage and bandwidth than you think, especially when the site is new.
- If your website has a backend language (such as listed above), you probably need databases too. MySQL is the most common.
- Does your host limit the number of sites you can run? Domains? Subdomains?
- Does your host keep regular and automatic backups? Do you have access to them? While you should still keep your own off-site backups, it is helpful if the host keeps backups too.
- Can you easily export all of your data from the host? What about email contents, control panel settings, etc?
- Does your host have tools for you to see how many resources you are consuming? You should be able to see storage, bandwidth usage, CPU usage, RAM usage, and IO usage. It's helpful if they provide a tool to break down storage by DBs and directories.
- Dedicated IPs are rarely needed these days, and typically do cost extra. Check what they cost if you need one and factor it into your budget.
- CloudFlare integration is very nice to have. Especially if the host has Railgun servers you can use without an extra charge.
- The ability to set your own PHP version and adjust some basic PHP settings should be standard at most decent providers.
Web hosting is pretty commoditized these days, but there are still some practices to watch out for.
- If there is a charge to install SSL certificates, or they do not allow you to bring in your own SSL certificate, find a new host. Many hosts even have tools for free, trusted SSL certificates.
- Bandwidth overages: If your site gets busy, or is targeted by a botnet trying to take it offline, this could get expensive. Know what the overage cost is, or pick a host that will disable your site when you hit the cap.
- Is support included? If not, what does it cost? Do they charge for priority support or phone support?
- If your host provides a free domain, they may not give free renewals for the domain. Make sure you know what the renewal charge is. Better yet, use a real domain registrar.