Features you want to look for and compare when you're looking for web site hosting are the following:
Monthly cost - We list this factor first, mainly because this might be what you're looking for, an affordable hosting solution for your first site. Economics is very important, but more so is reliability and features. We'll be reviewing several different affordable hosting providers. Most are competitive in terms of price, most are also competitive in terms of features. Don't make your final decision by the fact that you'll save a dollar or two a month in fees. You might find that a higher priced web hosting provider is actually a better choice for your personal needs.
Set up fees - When evaluating a potential host, look at the extra added fees that you'll have to pay to get set up. Most (not all) hosts will waive the setup fees if you're willing to commit to a longer term, for example paying for a full year in advance. If you're going to go month to month, they will usually want to recoup some of their costs of setting you up, since they're not guaranteed that you'll be around long enough to start earning a profit from your business.
Money back guarantee? - Most web site hosts include a statement something like this "If for any reason during your first 30 days of service you are dissatisfied and the issue is not resolved, we will refund 100% of your hosting fees, no questions asked.". Look for the guarantee. Most likely you won't need it, but it's comforting that the company will be willing to back their service with such a statement.
Uptime guarantee? - I know, talk is cheap, but ... Most hosting companies guarantee at least 99%, usually 99.99% uptime. Measuring their uptime is sometimes tricky, since it your site is down, and you're not looking, you don't know that you're turning away visitors and perhaps revenue. Personally I have an outside counter script that pings my site every 15 minutes, and sends me an email if the site is down. It won't catch every short outage, but on average it will be able to figure my downtime. For example, during the last month I've had 99.76% uptime, which is a little below normal, but acceptable I suppose.
Anyway, see what the hosting company is putting into writing, look for 99.9%, nobody can guarantee 100% and be believable.
Online control panel - A server control panel enables you to monitor your site and perform administrative functions, such as adding, modifying, and removing email accounts, forwarding addresses, autoresponders, MySQL databases, FTP accounts, and more. Many hosting providers will show you a sample of their control panel on their sales pages. Check them out, it will be something you use frequently, especially until you get your site up and going. You want to be comfortable with the format. I seriously doubt if you'll find a reputable host that doesn't provide a usable control panel, but if you're looking at hosting companies not reviewed here, make sure you get one.
Storage allotment - Now we're getting into the stuff that will vary from host to host. Storage allotment is the amount of memory you are being given on the host's computers. You will use this storage for web pages, images, audio and video clips, log files, databases and data, software scripts, and much more. A typical allotment is between 800 megabytes and 80 gigabytes, usually in a shared hosting environment, 800-1000 megabytes is typical. More is better, of course, but don't walk away from a host with better support of other features if they're just a bit short on storage allotment. Chances are you won't use it all anyway.
Monthly transfer allotment (bandwidth) - This is the second very critical number that you're looking at, in addition to storage allotment. Bandwidth is the amount of data that can be transferred back and forth between the server and your visitors (or yourself in the way of emails and FTP transfers), on a monthly basis (some hosts give you daily bandwidth allotments, but that's unusual). On high activity sites, this can be the biggest decision point in shopping for a host you can live with. If your typical web page is 20,000 bytes, and you get 20 gigabytes bandwidth, you could have 1 million page views if you did nothing else. Of course, a typical page size can vary tremendously, depending on how many and how large your images are, especially. Typically a host will give you 40 gigabytes bandwidth, though some are less, and some are a whole lot more.
What happens when you exceed your bandwidth? It depends on your host. Some will shut you down for the month until you agree to pay the excess bandwidth charges (typically around $2.00 per gigabyte), some will just charge you without asking. Your control panel should enable you to monitor your bandwidth usage, and your host should inform you when you're nearing your monthly limit. If you think you'll be having a problem, make sure you understand your host's policies before you sign up.
Obviously it's difficult to calculate what you'll need. I used to worry about bandwidth when my host only gave me 40 gigabytes. I have several sites in a virtual host environment under one main account. One of my sites allows anonymous downloads of free eBooks, some of which are rather large. I just looked at my stats for the year, and the most bandwidth I ever used in a month was a bit over 10 gigabytes.
Statistics - Your host should give you access to server logs and include reports so that you can determine what your visitor count is for a given period of time, their behavior (what pages did they visit), how they found you (search terms, search engine used, etc.). If you want to find out more, read this article about the value of web site statistics.
FTP - FTP means File Transfer Protocol. It's the method of getting web pages and data onto and off of your server. You need it, there's no two ways about it. For more information about the subject, here's a great article about FTP basics.
FrontPage extensions included? - If you're going to be using Microsoft FrontPage to develop your web pages, you need this. Most hosts provide it, not all do. Make sure it's available if there's any chance you will be using FrontPage for development. My theory is that it's always better to have it and not need it, than to need it and not have it.
Shopping cart and SSL? - Check to see if the hosting plan you're looking at has a shopping cart built in. If so, and you have any plan to do on line sales in the future, that's certainly a plus. Of course, it shouldn't be a deal buster because you can always purchase a good shopping cart script, perhaps better and easier to use than one you'll get for free, but if your feature needs are minimal, the free cart that comes with many plans will be more than you need. Also, SSL, which is the abbreviation for Secure Socket Layer, and is a form of data encryption, should be offered by your host.
SSL is what allows a customer's credit card or other sensitive information to come through to you securely, free from the prying eyes of hackers. If you have to purchase your own SSL certificate, it could cost you hundreds of dollars per year, so try to get a host who lets you piggy back onto theirs.
Email accounts? - Once you have your own domain, your days of worrying about email address portability are over. I know when I cancelled my AOL account long ago, I lost many customers that could no longer contact me. Then I had a different ISP for a couple years until I decided I absolutely needed to switch ISP's to get a DSL modem. When that didn't work out, and I switched to my cable provider, again there was an email switch. Fortunately by that time, I had set up my first web site, and I didn't need to use my ISP's email address. As long as I own that domain name, my email address will never change, no matter where I move to.
Here's what happens. Once you register your domain, and find a host, your can have many email addresses, for example firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, and as many as you want. Or at least as many as your host allows. Some hosts allow you to have 20, 50, 500, unlimited. Some have a catch-all email address, so if someone sends an email to you and spells your name wrong, like email@example.com, it won't be returned to sender. Of course you'll have to set up your email client to download emails from the catch-all account, but that's a piece of cake.
Email forwarding? - This gives you the ability to have the server automatically forward emails from one account to another. Let's say you have employees, each with an email address. When John Doe leaves your company, you can automatically transfer any emails sent to firstname.lastname@example.org to any other address you want. Neat, huh?
Most hosting providers give you unlimited email forwarding. But as with everything else, check to be sure before you sign on the dotted line.
Email autoresponders? - Autoresponders are a tremendous time saver. If your host provides them, you can do things like give an automated response to an email sent to a specific address. For example you can provide a multi-part e-course that gets sent to a person when they contact you at a special email address. The autoresponder will send any number of timed messages to the person who requested it. It will also allow you to build up a mailing list and broadcast messages to anyone on the list at any time you choose.
Most hosts do provide autoresponders, usually they are good enough for many applications, but if you want to get fancier, automated services and scripts are available for purchase from outside vendors. My host didn't have a full-featured autoresponder available, so I purchased one from another company. No big deal, but it would have been nice if it were available to begin with.
Web mail? - This is something most web hosts provide today, but not all. Web mail allows you to check and send emails from a browser, rather than from your email client. This enables you to keep in contact from any computer in the world that can connect to the Internet. You want this, believe me. You might only use it once a year when you're on vacation, but you want this. Make sure your host provides it.
Support for PHP, PERL, ASP? - These are languages that many software packages and scripts are written in. Most Windows hosts provide support for ASP. Most Linux/Unix hosts provide support for PHP and PERL. Some hosts provide support for all three. If your host doesn't provide support for ASP and you want to buy a script that needs it, you're out of luck. As a minimum, look for a host that supports current versions of PHP and PERL. My host doesn't support ASP, I wished it did once, but honestly most software is written in PHP or PERL, so it hasn't been a big deal. Some hosts charge extra for ASP support, so if you choose a host like that, you can do without it until you need it.
CGI-BIN access? - If you have no access to CGI-BIN, you will be unable to install any outside scripts, for example PERL programs, on your site. Make sure it's available, you'll be glad you have it.
MySQL support? - MySQL is a database used by many software scripts and packages. Your hosting company should provide it free, many provide 5 for free. If your company wants to charge extra, move on. I've heard of hosts that want $10.00 a month for MySQL support. If you can find a host that charges $7.95 a month with 5 MySQL databases as part of the standard package, why would anyone in their right mind think someone would pay $10.00 extra?
Server side includes (SSI) support? - Server side includes allow you to include data on your web pages that are fetched from another web file, by the server, prior to the page being presented to the visitor. For example, if you have a site that has 100 pages, and each has the same header and footer, if you need to change one or the other, you have two choices. You can code the header and footer into each web page, and change all 100 pages when you need to. Or you can code the header into a separate data file, the footer into a separate data file, and then when you need to change one or the other, you only have to make the one change. At the time your individual web pages are fetched to show to your visitor, the server (if it has SSI support) will load in the separate pages for you.
I highly recommend you get a web host that gives support for server side includes. It could save you a ton of time and effort in the future. It's a fact that if you use SSI to fetch data to place into a web page, it adds overhead to the application and slows things down just a bit. But assuming your server is fast enough, it shouldn't be noticeable unless you have a very active site.
Tech support? - This might be the most important consideration of all, assuming you're contemplating entering into a long term relationship with a web hosting company. Obviously this is a tough one to measure until you have a problem, and you won't have a problem until you're a customer and it's perhaps too late. You can send an email or two to the company with legitimate questions, such as "I'm considering using your company as a host, what versions of PHP and PERL are installed on your servers", for example, and find out how long it takes them to get back to you.
Or you can do a search on your favorite search engine for web host reviews, and see what the overall consensus happens to be. Take some of them with a grain of salt as some people with an axe to grind, maybe even competitors, are out there bad mouthing certain hosts. But if you can spot a trend, take it into consideration.