This is where to start if you want to build your own blog with functionality similar to this one, without having to fork out your hard earned cash to a web developer. Of course they can do it much faster and more easily, but then you'd miss out on all the fun of doing it yourself.
If this all sounds too hard, you can create your own blog with minimal effort on a service like WordPress.com or Blogger; but those services have restrictions. For maximum flexibility, you want to host it yourself.
To build a blog, here are the basic steps to take:
Consider Your Requirements
What is the purpose for your blog? Who would you like to reach? How will you reach them? What functionality do you require? In engineering-speak, the process of answering these questions is called requirements gathering and analysis. Blog software is pretty flexible, plans change, and you only really know the complete requirements for anything once it's finished; but the clearer you are up front about what you really want to do, the easier it is to build. This is particularly important if you end up outsourcing it.
My target audience for this blog is smart, non-technical people who could build it themselves, if they only knew how. The basic functionality requirements for this blog are:
- Friendly you-can-do-it look and feel.
- A small number of simple categories.
- Good search engine optimisation (SEO).
- Easy for the visitor to bookmark content.
- An automatic newsletter.
- Facebook and Twitter integration.
- Automatic linking between posts, and to related posts.
- Automatic generation of affiliate links.
If you drill down, you'll see that some of these requirements have sub-requirements too. I recommend you spend a little time, but not too long, identifying what basic functionality your blog needs. For anything you're unsure about, just copy what I do.
Purchase A Web Hosting Account
Nobody hosts a live website on their own machine any more, unless they're a corporate giant. Even then, the best bet is to outsource it to someone who knows what they're doing. In addition to hosting, you also need to register a domain name. If this is your first web site, you'll generally get one domain name registration free from most hosting companies.
I currently use HostGator: their cheapest plan will host an unlimited number of websites, but note that they have hard limits the PHP settings that limit maximum memory size and execution time. This can be a pain, and if it gets unbearable my next choice is Bluehost. If you plan on having millions of hits, want optimal SEO ranking, high speed, and have cash to spare, use VPS.net instead. Check out my comparison of low-cost web hosting services for more details on how they compare.
If you already have hosting and just need a new domain name registered, the cheapest option is to register it on Go Daddy and point their domain name server entry to your hosting service's nameservers.
Create an Email Account
If you want to be able to receive email at an address like email@example.com, you'll need to create an email account on your new web hosting account. Go to the control panel and create an email box. Then, in your email client, create a new account pointing at the email box so you can download the mail to your machine.
Create a Facebook Page and Twitter Account
Some people may want to follow your rantings on Facebook or Twitter. In both cases, you'll need to create applications to allow the Facebook and Twitter connect plugins to communicate with. This can be a bit tricky first time around, and you can always do it later once your blog is established.
If your web host runs Fantastico or has some other automated WordPress installation feature, use that. It's likely to install a slightly outdated (and therefore slightly insecure) version, but WordPress has a built-in semi-automatic upgrade feature that will help you fix this almost immediately afterward.
WordPress uses a MySQL database to store the content and administrative settings for your site. There are four settings necessary in order for WordPress to access this database:
- name – The name of the MySQL database
- user – The MySQL user name to use when accessing the database
- password – The password for this MySQL user
- host – The host machine on which the MySQL database server runs
Any automatic installation procedure should create a database on your host's server for you. It's important to note the database name, user, password and host, for future reference in case anything goes wrong. If using an automatic install, skip the next step.
If you're installing manually, you need to create a database yourself using a tool like phpMyAdmin on your host's control panel. Choose utf8_unicode_ci for both the database collation, and the connection collation. Note the database name, user, password and host in a file on your PC where you won't lose it. Copy-and-paste them because if you get them wrong, you'll end up tearing your hair out.
Then, extract the WordPress .zip archive in your top level directory. Move everything in the WordPress directory up one level using select all and drag-and-drop to the parent window in your file manager, or FileZilla.
Use Filezilla or your web host's control panel file manage to edit wp-config.php, to put the database name, user, password and host you saved earlier in these entries:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'name'); /** MySQL database username */ define('DB_USER', 'user'); /** MySQL database password */ define('DB_PASSWORD', 'password'); /** MySQL hostname */ define('DB_HOST', 'host');
Point your web browser to http://your-new-site.com/wp-admin, and you should be able to log in.
That's essentially it, but check out the official install procedure for more details.
Pick Your Theme
The look and feel of any WordPress blog is determined by the theme you have installed. There are thousands of free themes in the free themes directory, plus many more available commercially. It's very easy to change themes while keeping all your blog's content intact; your old content will appear with the look of the new theme as if by magic. So you don't have to worry too much about which theme to use right now.
I use a slightly modified version of the default theme, Twenty Ten, that comes with WordPress because I haven't bothered finding anything else I like yet. One advantage of this is that there's a matching theme in MailPress which gives the same look and feel to your email newsletter.
The quality of themes available varies a lot, and in some cases you get what you pay for. This can even affect your search engine ranking. There's no magic way of determining whether a theme is high quality or not, but you may notice many sites on the net have a very similar basic look, because they're using the same theme customized with different images and options. If you see a site you like, you can often determine what theme they're using scrolling right down and looking in the footer of the site.
Beware when changing themes that you may lose some site functionality, like the widgets in the sidebar. The better the theme the less you'll lose, but more complicated themes tend to have more options, and theme options aren't likely to be retained when you switch themes.
Add plugins for all the extra functionality you need. I recommend you add all the same plugins that I use as a good starting point.
Delete the Hello Dolly plugin. Just cos Matt's a music theatre geek doesn't mean you have to be one.
Configure All Settings
Step through all the entries on the Settings menu, to configure your core settings and all the plugins. If there's something you don't understand, leave it for now. Create your sidebar widgets under Appearance → Widgets.
I set my permalinks under Settings → Permalinks to custom structure:
Note that you don't want a slash (/) at the end of the Permalinks structure, or things will break.
I recommend that you disable wp-cron from running in the background.
Important plugin settings to configure are:
- MailPress to configure your newsletter
- Your Facebook publishing plugin
- Your Twitter connect plugin
- W3-Total-Cache so that your site loads quickly. This is important, but do this last once you have all your other plugins installed and configured, so it knows what to minify.
Create Your Static Pages
Search Engine Optimisation
You need to pay some attention to Search Engine Optimisation (SEO) if you want your blog to rank well in search engines like Google, Yahoo and Bing. WordPress is pretty well optimised already if you added the plugins I recommend. In particular, you need plugins to generate an XML sitemap, and to allow you to set the meta description tag on your articles. Setting the description tag is important to encourage search engine users to click through to your article when it appears in their search results, but this isn't a core WordPress function: you need an SEO plugin to do it.
SEO is a major can of worms which is constantly shifting. For the most part, the better SEO plugins handle this for you so long as you keep them up to date. To learn more about SEO, I recommend Joost de Valk's Definitive Guide to WordPress SEO.
Set Up Google Analytics
Most of your blog visitors will read your content without ever commenting or contacting you. That can leave you feeling like nobody's listening; even if they are. It's also good to know what topics are getting the most interest, and where your visitors are coming from. You can get some of this information from traffic statistics tools that process the logs on your web host, like Webalizer and Awstats. But these tools are easy to misinterpret, and they don't track human visitors very well.
To get the best feel for where your visitors are coming from and what they're reading on your site, you want to sign up to Google Analytics. Create an account for your new blog, and configure the Google Analytics plugin with the account code, which looks something like: UA-xxxxxx-x
Google Analytics will now begin tracking all sorts of statistics about your visitors. It takes a while to get your head around everything this tool can show you, but you'll get the hang of it after a while.
Get The Tools You Need
Building your blog is just one piece of the puzzle; you also need tools to help you use it. If you use Microsoft Windows on your PC, I recommend this essential Windows software for bloggers.
Time to start writing and posting that great content that will bring in all the visitors. Beware that it may take some time for your blog to hit the big time, so be patient. Being passionate about what you want to say will help keep you motivated.