Shared hosting is best for Magento
Yes, you read that right. I firmly believe that the best hosting for most Magento sites is shared hosting. All too often when you look around for a host for your Magento store, hosting companies say things like “you cannot run Magento in a shared environment”, “Magento is resource hungry so it is better on a VDS/dedicated server”, “you cannot be PCI compliant on a shared host plan”. All these statements are rubbish in general. There is some truth in them, but you should not listen to them unqualified.
What no Ecommerce site owner really wants to admit, is that their sites do not get thousands of visitors a day and dozens of orders a day. The vast majority of Ecommerce sites have less traffic than this. It takes time and hard work to build up traffic on a site, and many have not reached these heights yet. When I first started out it took 3 years and a great SEO company to propel me to these volumes. Then 2 years of recent neglect decimated the traffic, and I am currently re-building my customer base. So I use shared hosting. It was not always so. When I first started using Magento I too listened to these host “experts” and went the VDS route. It was a mistake. Three changes of host latter I realised that my selection criteria for finding a host were wrong, and the type of host plan I was looking for was also wrong.
Whilst clearly you can achieve virtually anything with a well managed dedicated server, this comes at a price. There is no point spending hundreds of dollars a month unless you need to and your site is generating enough profit to pay for such a deluxe solution. Most Magento stores are put on VDS plans or shared plans. As I have said above, many hosts recommend VDS plans. I do not agree.
For example take a good Internet Server. Fit it with lots of powerful processors, plenty of memory, and a fast connection, and put 30 Magento stores on it. First put the Magento stores in their own VDS envionment (so you are running 30 VDS on the server) and see how they perform. Then close them down and put the same stores in shared environments on that server. They will almost certainly perform faster on the shared set up. This is because the server is not running 30 versions of Apachie, 30 versions of MySql etc. Further the host company will pay MUCH more attention to the up time and configuration of the shared server, than the individual virtual machines. They will be able to set up and tailor the server once to run Magento more efficiently and keep it running.
Of course there are downsides to a shared service. You are much more dependent on the traffic of the other sites that you share the server with. That said a decent host will have processes in place to monitor for this and stop one store hogging all the resources. Further as you are presumably running a proper Ecommerce site you will have your own SSL and thus your own IP address, so you will not be affected by another site being blacklisted.
Obviously you need to pick a host who does not cram thousands of sites onto a single server, and preferably a host who knows how to configure a server to run Magento.
At all times you need to be conscious of your objective. You only real selection criteria when choosing a host. YOUR SITE MUST RUN FAST. Thats it. The customer perception is all that matters. Your site must come up quickly, when they do a search the results must be returned quickly, when they add an item to the cart it must be added quickly, when they checkout the process must flow quickly. No hesitation, no blank screens, no annoying wait.
So with the 4 hosting plans I have used in the last 3 years, the shared one is half the price, twice the speed, and fully managed.
By this I mean making sure the site can pass a PCI security scan. If a host company cannot get a shared service to pass a PCI scan move on. Many can, so do not listen to their excuses. If you want to store credit card details on your site, then I am afraid that a dedicated server (or two) is required, plus very deep pockets.
Selecting a good host
This is easier said than done. I wasted over two years and went through three hosts before I threw out my selection criteria and went back to basics. I originally looked for a host that would support Magento. That would assist in the upgrades, and help bug fix. I forgot to ensure that the host did proper hosting things first. It is far better to find a good host and a different company to support Magento as and when you need it. Instead I managed to select Magento techies who played at hosting. One host company forgot to renew my main domain and let it expire. One company failed to check that their backups actually worked and could not restore when an upgrade failed. One company used Gmail for their e-mails and sometimes e-mails to them bounced. One company refused to install the latest stable release (1.6.1 at the time) as they would only support 1.4.2 (despite the fact that I NEEDED functions only released in 1.6). One VDS server, although hosted by a company recommended by many Magento users, slowed to a 30 second page response whenever 3 spiders crawled it simultaneously. Their suggestion – restrict the spiders and slow their crawl rate. NO, you want Google, Yahoo and Bing spiders to crawl all over your site. You want them to think that your site is fast and does not need them to be throttled. So I realised that I needed to avoid them and find a proper hosting company.
So my only selection criteria is will my sites run fast for my customers. For this I looked for a host local to me, i.e. UK based. I do not believe is using a host from a different time zone, which is unfortunate as there is a lot more choice in the USA. Then I looked for a host who has knowledge of hosting Magento, who claims to be able to configure their servers for Magento, and who offers good shared hosting.
Once I had a short list I asked their sales team some questions. Mostly about whether they could configure Magento multi store in the way I wanted it. This was not only to see if they could do it, but also to see how fast they responded, and whether they used a ticket system to log e-mail questions. Never again will I go with a host that cannot be bothered to use a ticket system.
I then look up the testimonials on the host to see what sites they are running and how fast they are. I avoid hosts where the testimonial customer has moved away (!). Many Magento hosts have a Magento demo store running to show how fast they can get Magento to run. This is of limited use. If it runs slow then you know to avoid them. If it runs fast then you know nothing, as they could have thrown lots of resources at it, and in any case it is only a few products and no visitors. The only real way of knowing how fast a site will be is to browse a similar site actually running on the hosts servers using the plan you want to purchase. If the host company does not want to provide examples, ask them why.
In the end I found a host which offered a decent shared plan. Who guarantees never to put more than 30 Magento implementations on a server. They run Litespeed servers, which seem to be able to make Magento fly. My conversion rate is up. My site is running faster than it ever has, and I am making good money.