It took me quite a while (more than 9 months to be exact) to pick a blog engine, customize it and put it online. But now it’s finally there, wide in the open, to share all my findings with you. Here are a few problems I did experience and a few steps to run through if you want to set up your own blog:
Pick your blog engine.
If you put in the effort to create a blog, you’ll most likely go with the idea that you want to keep it up and running for a long period, adding in new blog posts on regular schedule. Therefore you should choose the blog engine that fits you best (or write one yourself if you really want to). You can choose one of the well known blog sites (like wordpress.com) and just get some space there, or you can find an engine yourself, test it out and host it somewhere.
If you want to be a somewhat ‘high-end user’ and set up things yourself, then in my opinion the two most important points to keep in mind are the programming language in which the engine is written and the way how your posts are being stored. Which brings us to the following grid for the most common choices and a few examples (there are a lot more engines out there of course):
.NET | PHP | |
---|---|---|
Database | Subtext (MS SQL) | WordPress (MySQL) |
Flat file | dasBlog / BlogEngine.NET | FlatPress / Simple PHP |
I tried all of them except for Subtext (after trying out WordPress I opted to store my posts in flat files instead of a database, so no need for me personally to test this one). I didn’t have any specific choice for the programming language (although I’m better in .NET in case I have to tweak something) and ended up testing a wide spread of possible candidates. I stuck to BlogEngine.NET for a few months, but at some point I still wasn’t 100% convinced that this was my mini-nirvana. I switched over to dasBlog and after several months of testing and posting local I finally had my engine.
Find yourself a host.
The next step is making this blog available for the wide public, since that’s the real purpose of a blog. If you opt for being part of a blog site (like wordpress.com), then this step is nothing to worry about. However if you want the freedom of your own hosted blog, you’ll have to choose between completely hosting it yourself on your local machine or a personal server and a public webhost of which you have plenty for each programming language. Some webhosts even provide blog engines as part of their package.
Pros of self-hosting:
- Total freedom in setting up your blog (content, settings, permissions, allocate memory, …).
- Never have to call support lines and wait several hours for the change you need so badly.
Cons of self-hosting:
- You need to find a way to ensure your uptime for your blog. Hosting on your local machine that you plug out daily to take home somehow isn’t the best way to ensure a 99% uptime (which is nice and required at some point for professional blogging).
- When you finally got to a point where the traffic to your blog exceeds several hundreds or even thousands of visits a day, your own machine or your internet connection might lack the power/bandwidth to provide a smooth experience for all your visitors.
Then you could also argue about the costs of self-hosting vs. commercial hosting. But as a beginning blogger, you won’t need a dedicated server for your own blog, whether it be in your own place or rented somewhere else.
Install your blog.
We got our engine and our host, now it’s time to get things up and running. Some engines only require extracting the files and copying them to the right place, while others have a complete setup process with changing rights on directories etc. But the more complex ones usually have a script or installer added to make your work easy. Just this week Microsoft also showed the Web Platform Installer that enables deployment of several engines within just a blink of your eye.
If you choose for hosting your blog at a third party, it might take some effort to get everything working. Certainly if you have to change the rights on some directories you’ll end up using chmod or contacting the support.
Customize to your needs and wishes.
Most blog engines come with a large range of different themes, so most likely one of them will suit your expectations. However keep in mind that there might be thousands of persons using the same layout if it’s a popular engine. Some minor changes might change the common theme to a more personalized place on the web. If you have good design skills or have someone doing the designing for you, then you can even plug in your own theme into the engine.
Changing or creating a theme is quite easy since most themes are just plain HTML with a few extra tags or scripts in them for your blog, gathered in one or a few files as a top layer above the rest. A few tweaks in the style defined in your css file can also do wonders.
Personally I just copied the ‘business’ theme of dasBlog and moved the navigation from the right to the left side. Next I re-aligned a few parts on the screen and finally I did remove and add a few panels in the navigation part to provide a cloud tag instead of the normal category list. Of course I didn’t forget to mention the name of the person who originally created the theme in my page footer.
The next step in customization is adding in some extra tools and utilities to improve usability for yourself and others. There are quite a few possibilities here, but I’ve limited myself to a code syntax highlighter to improve the visibility of code and gathering my feeds in one single place with FeedBurner.
Code Syntax Highlighter
As most of us code-writing monkey’s that place code on their blog, I’m using SyntaxHighlighter from Alex Gorbatchev. This tool basically uses some javascript libraries to convert anything between your <pre>
tags to some nice colored code depending on the language you specified with the tag. All you have to do is add the libraries for the languages you want in your blog template. I’ve even seen people load the libraries they need with jQuery to prevent loading too much of them when they don’t need it.
Scott Hanselman explains these steps to add code highlighting very detailed in this post. He also mentions the PreCode plugin for Windows Live Writer which is very nice, you should have a look at it!
And don’t forget to add following code fragment below the libraries or you won’t get any highlighting at all:
<script class="javascript">
dp.SyntaxHighlighter.ClipboardSwf = '/blog/scripts/clipboard.swf';
dp.SyntaxHighlighter.BloggerMode();
dp.SyntaxHighlighter.HighlightAll('code',true,false,false,1,false);
</script>
I’ve heard a few remarks of others that they were having problems copying these parts of code (and personally I had the same problem now and then). Numbers or #-signs were placed in front of each line of code. All I can say as a reply on this ‘odd behavior’: don’t use FireFox to copy code.
FeedBurner
Something else that you see on quite a few large blogs is that these bloggers show the amount of people following their feeds (using FeedBurner). Yes it’s nice to be able to show your amount of readers, but more important is that all your feeds are gathered in one single place and that you’re able to perform statistics on your feeds like you can do on your blog yourself. You can even brand your feed or place advertising on it if you really like to. For more possibilities, don’t hesitate to check out the official site of FeedBurner. And why would you wait until you have a few thousand of readers to switch over, better use it right away if you have the intention to use it at some point. You don’t want your readers to switch or redirect their feeds.
Bring over your old posts.
It’s possible that you already have a few blog posts posted somewhere else, or just locally for yourself like I did. Now is the perfect time to bring over your posts to your new blog. If you have quite a few of them, this might be a tough job or you might just want to skip it, but personally I like to keep everything gathered.
Prevent spam.
My blog was just online for a few days, nobody was reading it yet since I didn’t spread the word it was up and running, but I was already getting spammed with ads. And this is something nobody likes, so I’ll conclude this post with some nice information how to reduce and prevent spam. Since I’m using dasBlog, I again have a nice post from Scott Hanselman (since he’s one of the contributors) which tells you each step in detail.
You should note that Akismet service is available on quite a few blog engines, not only on dasBlog. So certainly check out your engine if it uses this service in some way or another and get your free API key on wordpress.com. It really does wonders.
And even with all the filtering enabled, you might still want to be able to moderate your comments before showing them on your blog for the few messages that might get through.
I waited a few weeks after putting everything online to write this post to be sure I got most important things covered in the hope I didn’t forget anything. Now it’s your turn to get up and running.