There are pros and cons in managing your own e-commerce website as I discussed in the article selling online for dummies. The main advantage is that you have more control of your own website. The disadvantage is that you have to spend more time on technical matters. As you become more familiar with the processes, they are no rocket sciences. For most website maintenance problems, you can get help from your web hosting company. (I have used more than 10 web hosts over the years. There are differences in the quality of support.) I will briefly go through the processes of setting up your own website.
Register a Domain
I use name.com as my domain registrar where I keep/renew all my domains. The normal price for a domain is now just over $10/year, unless you get an “exotic” domain extension such as “.dance” (which I do not recommend, according to my experience because they are still not widely recognized). I can often get a first-year promotion from godaddy or 1&1 for $1, and transfer the domain to name.com when I renew. If you want to get a premium domain name like business.com, it can cost you a fortune. For a limited budget, you can get your-long-or-unique-comapny-name.com and often .info is cheaper than .com or .net. However, for an e-commerce site, .info is probably not appropriate. The next thing after getting the domain is a web hosting account.
Sign up a Web Hosting Account
This is where you get on the Internet. A web server (computer) talks to the Internet via e.g., Apache which is installed on a Linux box (or IIS on a Windows 2008 machine for example). Nowadays you can find a way for most popular Windows-based software to work on a Linux. A Linux web server is still generally cheaper than a Windows server (because Linux is open source). Tutorials of basic Linux commands are easy to find online. You can also setup and maintain your own web server and have all the resources all for your own site. I had a technically savvy employee who built a web server in just 2 days, with absolutely no experience of Linux. However, it is not a practical approach if you want no interruption of your website 24×7. Even if your customers are die-hard loyal, an extended downtime is inconvenient and unprofessional. A web hosting company can be just a fraction of your operating cost.
Select a Web Hosting Plan
Most web hosting companies in the market offer 3 types of hosting plans (other than the choice of Linux or Windows servers) with large price differences: shared hosting, VPS (virtual private server), and dedicated servers. In reality, almost all of them are shared. It’s just a matter of how many others are sharing with you. You can see this by going to domaintools.com and looking for a website. You can see something like “56,000 other sites hosted on this server.” I have seen millions of sites hosted on the same server. Those sites are on shared hosting plans. You’ll probably see up to hundreds of sites with a VPS plan.
When you are on a shared web hosting plan, you share the server resources with other websites, including memory (RAM), cpu, and bandwidth. So if your site uses a lot of resources. You will be frowned upon by your web host. Sometimes, they will shut down your site or ask you to upgrade to a more expensive plan. What use server resources? Most functional websites use dynamically generated contents (as opposed to static HTML pages). In other words, the web server constructs a webpage whenever requested, often by sending queries to databases. Traffic can cause the increase of bandwidth and cpu usage. I once also had cpu usage problems caused by my email client. (In my thunderbird settings, I had it checking emails every minute.)
You might want to know that a prolonged downtime in days can cause a problem with Google as well. I once had a directory site with nice traffic, which was shut down by my web host due to cpu usage. I waited 4 days to move to a new hosting company. By the time the site came back, I lost the Google search ranking and never got the traffic back. Therefore, it is important for you to choose a good plan, as well as a good hosting company.
Most important factors to consider when choosing a web hosting company are technical support and server resources. Note that “unlimited” resources usually means that it’s unlimited when your site is not using any resources. When there is a resource usage problem and your site gets shut down, it is important that you can reach the technical support and they are willing to help.
For simple or relatively small sites (including e-commerce sites with some hundreds of items), shared web hosting should be sufficient in terms of resource usage. However, because of the competition, hosting companies can try to cut cost by restricting availability of their technical support. Many of them make you wait a long time, and only have chat available (no phone calls). It is not unusual to wait for half an hour even for a chat support. Some hosting companies have very slow control panel (e.g., 1&1). Other web hosting companies share limited resources among large amount of sites. Others can have technical support that do not know what they are doing. Of all the shared web hosting I have used, hostgator is the best. Their tech support is fairly quick and efficient. less-than-$5 a month is pretty cheap.
Park Your Domain
Once you sign up a web hosting account, you want to find out their domain name servers (DNS), which will be something like ns1.hostgator.com and ns2.hostgator.com. You can see the actual name servers at the lower left of your cpanel, or in the welcome email. You then proceed to your registrar (e.g., name.com) and enter the DNS under your domain.
You then go to your cpanel to park your domain. The process will create a folder (e.g., mysite.com) in (often) the public_html folder. The new folder will contain all the files used for your website.
Set up Email Accounts
You can also setup email accounts in the cpanel. For e-commerce purposes, you will probably create accounts like email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, etc. You can create as many email accounts as you like. Now you don’t have to use emails like email@example.com or firstname.lastname@example.org anymore. You can then follow the instructions to setup email clients (e.g., thunderbird) on your computer.
For your e-commerce site, you can use either shopping cart software (e.g., zen cart) or wooCommerce plugin with WordPress. Either way, you need a database. Using the Database Wizard in cpanel, you can create a database, create a database user, add the user to the database, and set the privileges of the database user. (I normally just grant all privileges to the user.) The php and mySQL code of your site will use this user to access the database. The database name, user, and password will be needed in the configuration of your e-commerce software. See details in building an e-commerce site.
Virtual Private Server (VPS)
As your store grows (e.g., number of items increases, visitor traffic increases), you might need to upgrade your web hosting server to a virtual private server, a.k.a., VPS. A VPS is basically a copy of operating system (a virtual machine). Multiple instances of virtual machines can be installed on a physical server. So with VPS, you are still sharing resources with other users. However, unlike shared hosting, each OS instance (VPS) can be independently rebooted, and users have the privileges to install their own software. Note that VPS is basically a standalone (virtual) computer that you can use for any purposes. You don’t have to use it host a website. (In that case, you don’t even need Apache installed.) Virtual dedicated server is just another name for VPS.
The reason for using a VPS is it provides more resources than the cheaper shared hosting. The way most hosting companies do it though is to sell fixed packages with fixed resources. So you will see their hosting plans have VPS or dedicated server for fixed amount of money. The ideal situation is that you get to decide how much cpu power or RAM you need. In other words, you buy “components” instead of fixed packages. This way you don’t waste money on paying for resources that you don’t need. You get more freedom than even buying your own computer. You cannot go to best buy and say I want more RAM and cpu, and smaller hard drive.
The best VPS web hosting I know and have been using is togglebox, which has the total flexibility mentioned above. They sell so-called small clouds with which you share some resources from a large pool. You actually get to have your own cpu power and RAM without sharing. You select the operating system, number of cpu’s, size of RAM and hard drive before you pay. You can upgrade or downgrade the server resources anytime and the tech support (via chat) is truly instant 24×7. You can use the basic Linux commands such as ‘df’ to monitor disk space usage, ‘free -m’ to monitor memory, and ‘top’ to monitor cpu usage. They do charge $10 a month for cpanel subscription. However, after the first month during which I setup and domain, databases, and email accounts, I just unsubscribe it. The total monthly cost for me to host my 15 websites (including 2 zen cart shopping sites, and 20+ wordpress sites with subdomains) is $23. I have 2GB of RAM and 2 cpu cores. I never have any complaint about resource usage, because I am sharing with nobody else.
Another important thing when you host your own e-commerce website is the SSL certificate. This is not needed if your website does not have any transaction activities (such as a blog). It is essential when your website asks for sensitive personal information such as credit card numbers. In most shopping sites when you are ready to enter your credit card number, you will notice the URL redirects to https:// (secure http). This means that the information enters on the page will be encrypted before it is passed from the customer’s computer to the web server. There are still websites out there that ask for social security number while not using HTTP over SSL. I usually abandon the form when I see that.
Some shared web hosting plans offer shared SSL certificates but the redirected URL will be long and does not look professional. It can looks something like https://you-hosting-company/your-account-name and therefore can look somewhat suspicious to your customers as well. With your own SSL certificate, it will redirect from, e.g., http://stor9.com to, e.g., https://stor9.com. Getting your SSL certificate is necessary when you are running a serious website. However, if Paypal is the only form of payment you accept, SSL is not needed. In another article, I talk about why you need to accept credit card directly.
The pricing of the certificates varies, depending on detailed features. For example, some come with a 1-million-dollar warranty, with different levels of encryption, etc. You can see SSL certificate price comparison here.