Today I received an email from a friend asking if I could help someone he knows in building a website. The request is simple, help build a website that connects to social media and allows for registered users to download a paper he has written, keeping track of these registrations as leads.
The immediate answer is easy.
Ok, so maybe too simple an answer. WordPress is way beyond a simple blogging platform. It is a complete website and even a web applications building platform. Take the website, glue on the right theme, add a few plugins, configure. Done.
Far easier than 20 years ago when I built my first web engine for an ecommerce site, writing thousands of lines of Perl code. It just about took a Phd in computer science to build a site like that back then. Today, WordPress… click, click, type some settings, click… write some content… done. But how do you get there?
Step 1: Pick A Host
This has come up TWICE today, so I’ll tell you who I use then tell you who I would and would not go with for most sites.
First, what I use. Microsoft. Yup, them. Running a Linux server. CentOS 6-something. In a virtual dedicated server setup. I know, I know… Microsoft and Linux? Yeah. And it didn’t even burst into flames within moments of doing the install. So how does that work? Microsoft has a service they call Windows Azure. Don’t let the name confuse you. “Azure”, as I like to call it, is basically the Microsoft equivalent of the Amazon Web Services environment. In other words “cloud computing”. It is NOT just Windows.
A Slight Diversion : Cloud Servers
What is the cloud? A fancy name for remote computers and web services. Really no different than rented servers from any other ISP, but today the term “cloud” tends to refer to any online service that gives you a simple web interface and programming APIs to control the resource. This includes web hosting and web servers. Just like the web servers you’d rent from an “Internet Presence Provider” (IPP) 5 years ago. The only real difference here is they tend to put an emphasis on using virtual machines, just like those you run on a desktop like VMWare or Virtual Box.
That said, there are basically the same options with “cloud computing”, like “the cloud” provided by Amazon and Microsoft, as there are with renting a server. You can get a website-only plan, a shared hosting plan, and a dedicated hosting plan. This is sometimes called something different like “virtual private server” and “virtual dedicated server”.
In my opinion, if you are doing cloud computing then you really should be only looking at Virtual Dedicated Servers. Otherwise just eliminate the confusion of “cloud computing” and go with a standard host.
If your website is going to be HUGE and you are going to get tens-of-thousands of unique visitors (uniques) every day or will have highly variable traffic with peaks of tens-of-thousands of uniques/day, then investigate and learn cloud hosting and dedicated cloud servers.
For the rest of you…
Back To Hosting
Ok, so I use a Windows Azure virtual dedicated server running Linux. But I’m a tech geek. I know system security, system administration, and coding. I can manage my server without any issues.
However, for a typical hosting company where you may need some assistance and do NOT need your site to carry a super-heavy load, there are other options. However, before I make a recommendation here are some companies I would stay away from for various reasons.
Do NOT use:
- GoDaddy. Way too many people have problems with GoDaddy hosted sites. I cannot tell you how many broken sites of clients and customers were fixed when they left GoDaddy. I also cannot tell you how incompetent it was for GoDaddy to take down MILLIONS of sites for several DAYS because they cannot configure a network router. Then they refused any form of compensation to anyone. I don’t even host with GoDaddy but my domain name is registered there and they took me offline for days. This is NOT the first time this has happened in the past 12 months. Not too mention most of their support staff is clueless.
- LiquidWeb. They used to be one of my favorites. As they have grown in size they too have grown in incompetence. They cannot run a shared server properly to save their life. I often found myself training their support staff. They too have crashed my dedicated hardware, my shared server, and those of several customers for days-on-end. No compensation and no apologies in most of those cases.
- 1-And-1. I’ve had no personal experience other than through my clients. Mis-configured network routing. Inability to fix blatant DNS issues. Crashed servers. Less performance that advertised. Difficult to get in touch with competent support. I’ve been paid good money to PROVE that 1-and-1 was the source of several major problems for clients for 1-an-1 to finally admit the issue was theirs then take weeks to address the problem.
Ok… so you know who to stay away from. Who to use?
Well there are 2 companies I don’t have personal experience with but I’ve heard good things about. The first, I only know about through casual conversation and what other people said about them. The other is one many clients, with deep pockets, have used and swear by them. I’m aware of them but have not used them personally. In either case I think you are in good hands.
- ClickHost. They sponsored WordCamp Atlanta. Already bonus points there. They KNOW WordPress and love it. If you are doing a WordPress site they seem like a perfect it. Reasonably priced and WordPress knowledgeable. Plus they just seem like cool people.
- RackSpace. They are the “100% guaranteed up time” people. And from what I here they NEVER go offline. They also have top-notch support. And you pay for it. Probably the most costly of the hosts that are out there, but if your site can NEVER go down, they have a reputation for pulling that off. Unless you screw it up yourself. Then they try to help you fix it.
Step 2: Install WordPress
If you use someone like ClickHost, this is a few clicks and a couple of web-form questions away from being online. Easy.
If you “go on your own” then you download WordPress, setup the MySQL database, and install via web forms. Once you get MySQL setup, the 15-minute part of the “famous 15 minute install”, then the WordPress install really is just 15 minutes. Very cool.
Step 3 : Themes
The harder part now is selecting a theme. Themes are the skin of the site. How it looks. There are tens-of-thousands of them online. There are dozens within the free themes directory on WordPress. There are a lot more out there in various online stores. Some are free, some are paid.
But one thing most people overlook? Themes are not just a pretty face. MOST come with built-in functionality and features. Think of it as a skin plus some cool functional elements added in. While not all themes add functions or features to the site, many do. Especially premium ones.
It is often easier to find a theme that does 90% of what you want and then add a few plugins. Finding a theme that LOOKS cool, but does JUST that then adding 20 plugins is often a more difficult route. If you follow my other threads you’ll know why. Many plugins in the free directory at WordPress are abandoned. Some don’t work well. Others just don’t work. Don’t let me scare you, plenty are GREAT and work perfectly. You just need to “separate the wheat from the chafe” and that can take some time.
My recommendation? Start with WooThemes. I’ve found they have the best quality themes out there and more importantly, they actually ANSWER SUPPORT QUESTIONS. Many themes, including premium ones, skip the later point which can be critical in getting a site online. How to avoid at all costs? Envato’s Theme Forest. I’m sure they have a few good themes in the hundreds the promote, but the chances are finding those few are just too low. Of the 10 “your plugin is broken” messages I get every month, 9 of them (or 10) are from someone using a Theme Forest theme that is horribly written and just plain breaks everything in their way. Including plugins. DO NOT use Theme Forest stuff.
Ok. So you’ve got a theme, it does what you want and/or looks cool. Now what?
Step 4: Plugins
Go find a few plugins that do what you want. Start in the free WordPress plugins directory but widen your search to the premium plugins. Unfortunately there are not a lot of good premium plugin sites out there. However many of the better free plugins on the WordPress directory have premium upgrades.
Again, in the 3rd party market stay away from Envato’s Code Canyon. While they offer a few good plugins there are far too many bad ones in the mix. Not to hammer Envato too hard, they have a good idea but they SUCK at quality control. They are obviously just playing a numbers game and going for volume over quality.
Got It, But For My Site?
Now you know the components, here is where I would start to build a site like the one described initially.
1) Host with ClickHost. Small host package is probably fine.
2) Install WordPress 3.5.1 (or whatever the latest version is today).
3) Install WooCommerce as a plugin. It is in the free directory and you can find it right from the WordPress admin panel by searching “woocommerce” under plugins.
4) Go to WooThemes and find a WooCommerce compatible theme that you like.
5) Go to WooThemes and look at the WooCommerce extensions. There are several for doing subscriptions and digital content delivery. They are premium add-ons but relatively inexpensive.
6) Add JetPack to your site. It is a WordPress plugin from the guys that build WordPress. It adds a bunch of cool features that you can turn on/off without much effort. Mostly the social sharing and publishing tools are what we are looking for here.
7) Add VaultPress. Also from “the WordPress people”. This is your site backup. You want this. Trust me, the $15/month is worth it the first time you break your site or it gets hacked.
I also strongly recommend adding Google Authenticator so you have 2-step authentication for your site. It reduces the chances of someone hacking your password from the web interface. This is not critical to functionality or security but I do recommend it.
So that is how I would get started. I’ve not recommended specific themes or WooCommerce extensions because they change frequently and there may be something that better suits your particular needs.
Good luck and happy blogging!