What’s Missing? A guide to building your own proprietary blogging engine
We’ve had the opportunity to work with clients who are rolling their own blog engine. There are any number of reasons to build your own from scratch (although most of the time it’s the wrong solution, and this post might help explain why that’s the case more often than not).
A lot of people who build their own engines aren’t always up on the “features” that tend to come standard these days in engines like Movable Type, WordPress, or Blogtronix. We’ve found that some aspects of blogging are more often skipped over than others.
Everyone understands that a blog needs to have posts in reverse-chronological order, and that somewhere there should be an orange feed button and the letters R, S, and S, but some of the finer functionality that bloggers will expect don’t always make it to the table on the first pass.
Here are a couple of the features that tend to get overlooked:
- Commenting systems need to be prepped to deal with spam
- Links in comments should automatically become “nofollow” links
- The blog engine should recognize and use trackbacks
- The system should support the ability to import feeds
- Bookmarklets should be available for easy interfacing with sites like Digg and del.icio.us
- Bloggers should be able to embed code in their posts, for things like YouTube videos
In a little more detail, here’s what’s usually missing:
Include a complete commenting system – No, people don’t forget that you should be able to leave comments, but what they often do forget to factor in is the infrastructure: spam controls, moderation options, user dashboard interface. Wherever you have comments, you will have spam. It is inevitable.
More often than not, simply not allowing comments is not a viable solution. While most of blogging is posting, many bloggers will claim (and I think rightly so) that it’s not really a blog without reader feedback. So you need to be aware of your spam control options, and choose one or several methods for dealing with it. Common tools are CAPTCHAs, email confirmation of comments (Weblogs Inc uses this), or requiring commenters to be registered users at the site.
But regardless of what method you choose you will have spam. So you need to have a method for dealing with the spam that does get through (moderation). This means having a back-end where the blogger can view comments before they are published on the site.
It’s also pretty standard to give the blogger a range of options for how they want to deal with comments in the first place – the basic three options: comments off, comments moderated (all have to be approved), and comments unmoderated.
These are by no means the only tools available, but if you provide your bloggers these three options, and a reasonably intuitive interface for vetting the bad comments, they will be properly equipped to tend their comment sections.
Links in comments should become “nofollow” links
Directly related to spam, this is a small but significant feature. When people leave comments on a blog, most of the time they are tagged with the “nofollow” property, meaning that when Google crawls the page, it doesn’t treat it as a “real” link.
In layman’s terms, it means people can’t help their google rank by leaving links to their site in your comments.
If commenters and spammer figure out that you’re not turning off the google juice in your comments, beware! You will become buried in spammers and shameless SEO promoters trying to boost their Google placement.
The system should be able to interface with trackbacks
Trackbacks enjoy a kind of negative space in the blogosphere. Some bloggers really like them (I do), and some bloggers really don’t. Do you see where this is going? You need to provide the capability, but you should be able to turn them off.
What is a Trackback? A trackback is like a remote comment. If I read something on your blog, and I want to continue the discussion on my own blog, how do I let readers follow that conversation? I leave a trackback, which inserts a snipped of my post, like a comment, in the comments area below your post.
Your blog engine should be set up to ping other blog engines with a trackback (go to another site and say “hey! I’ve got a post that references this one”) and to receive tracbacks (“Thanks for the ping, I’ll add a link to this post in the comments”).
Users should be able to import feeds
At this point, a lot of people already have blogs. Some people have strong personal blogs that are separate from the blogging they’d like to do for work.
Some people may want to pull posts from their personal blog into their new blog on your system. If you’re looking to adopt a crowd that is already blogging, allowing for good integration with existing systems is important.
- Be able to re-post items from an existing RSS feed in the new blog, with a link back to the original post (the link back is important!)
- Be able to import posts & comments from a WordPress export file
- Be able to import posts & comments from a Movable Type or TypePad export file
Also, if you’re allowing people to suck in and re-produce RSS feeds, you might want to find some way to check that they own the blog they’re sucking a feed from. You don’t want your blogging service to become a convenient spam blog host. You might limit the number of feeds people can pull in, and you might require that they validate the feed by posting a certain phrase that is randomly generated.
Provide bookmarklet buttons
Bookmarklet is a fancy word for convenient little buttons that let you tag pages in popular social bookmarking sites like del.icio.us, Digg, Reddit, Netscape, or Newsvine. You’ll find them at the bottom of the posts on our blogs, and they’ve become popular in many places. It’s a good idea to include tools like these on your permalink (individual) post pages.
These are good tools for exposure, and many bloggers like to have them available. Having a post bookmarked on Digg is somewhat like having some space on a local billboard. These bookmarking sites can be big traffic drivers, and the easier it is for people to “share” good posts, the more often they will do so. Everybody wins.
Support the ability to embed code
WYSIWIG posting areas are common and usually appreciated, but you should have a place for users to post snippets of raw HTML (or just have an option to edit the post in plain HTML) so that they can post things like YouTube videos.
If you’re planning to host videos yourself (allow users to upload videos and serve them in a video player), it would be wise to provide them with a snipped of code that can be inserted into any other blog to share the video. This is a fairly standard feature in video upload services and one that is crucial to allowing a video to spread virally.