Blogging


I have been through quite a few different ways of blogging over the years. The personal blog I started back in 2001 originally used the ur-blogging tool GreyMatter, written by photographer Noah Grey — this was before such idiot-proof tools as Blogger and Typepad came along, so you had to be comfortable editing impenetrable Perl code to use it.

Later, when development of GreyMatter became stagnant and its shortcomings were evident, I moved on to MovableType, which for a while was the undisputed king in the increasingly crowded blogging software realm. It still required a certain level of expertise to install, but it was easier and more flexible than GreyMatter. All went well until many A-list bloggers had a falling out with SixApart, the creators of MovableType, because they decided to — gasp — charge for their software, which while free of charge had never been open-source.

Meanwhile, open-source application WordPress had been creeping up on the inside, and MovableType bloggers deserted to it in droves. That seems to have been the beginning of the end for MovableType. It was still free for single-user, non-commercial blogs, worked well, and I happily went on using it for my personal and recipe blogs.

Eventually, SixApart saw the error of their ways and released a version with an open-source licence. I made the mistake of upgrading my recipe blog to the latest version a few weeks ago. All of a sudden things that used to be easy became difficult. The admin area wouldn’t even work in my browser of choice (Opera on Linux) — so I had to go and use a Windows PC every time I wanted to write a post. Templates had become hugely complicated, and the back office used a fancy Ajaxified interface so that you could no longer simply type or paste in the code for your templates. Rebuilding the blog after making changes to the individual entry template became impossible.

I was reluctant to change systems, and thought I might wait for the bug-fix release that was supposed to cure many of the reported problems with templates. But I started to ask around, and WordPress expert Shelly told me “But exporting from MovableType to WordPress is a doddle!”

She was right; it was a 5-minute job to export 200 posts from MovableType and import them into WordPress. I then spent a few hours working through an excellent tutorial in order to convert my MovableType theme to a WordPress one. This article was useful too. It really was that easy.

Although this blog runs on WordPress, I have spent no time customising it; I just installed it, added a ready-made theme, and started posting, without bothering to explore further. Converting my food blog means I’ve had a chance to get much more familiar with the way WordPress works.

I can’t say I like the way it mingles PHP with HTML in the templates; in my own code I have achieved almost complete separation, and it looks much tidier that way.

But on the plus side, once you’ve understood the famous WordPress loop, and the template variables, there are many advantages.

  • Creating and modifying themes is child’s play compared to MovableType.
  • The admin area is simple to use and get around in (just remember to turn off the visual editor!).
  • It’s written in PHP (as opposed to Perl for MovalbeType), which means I should be much more comfortable with it.
  • It’s dynamic — no need to wait for ages for it to rebuild after a simple template change.
  • There is a host of plugins if it doesn’t work the way you want it to out of the box, opening the way to adding all sorts of extra features.

Plugins I have found useful so far:

  • AKismet: for trapping comment spam
  • BadBehavior: also traps spam; most people seem to use it in conjunction with AKismet.
  • Simple-Tags: The one thing the import didn’t do was pick up my MovableType tags. I hadn’t used many (because tags are a relatively recent feature in MovableType), but it would be a pain to have to go into every single post and add tags individually. This plugin lets you bulk-tag posts — an essential feature I would have thought.

And finally, WordPress has become so ubiquitous that I had no excuse not to learn more about it; this was a great opportunity to try it in a risk-free way on my own site before unleashing it on clients.

The change of software in my last post meant that not only the domain, but all the page names and the entire structure of my recipe site changed — a big no-no for search engine purposes! On the other hand, the traffic this application gets isn’t actually worth anything to me in monetary terms — quite the opposite, it just uses bandwidth ;-) — so I wasn’t hugely bothered if it lost rank in Google for a while. In fact it was a golden opportunity to test the best way of handling this situation.

I started off by buying a brand new domain name, setting up MovableType, importing all the data, fixing up the design, and testing it to see that it all worked OK. At this stage it was a secret from Google. Once I was happy, I wondered just how I was going to keep all that precious traffic to the old site. I didn’t want to devote a huge amount of time to it, so I decided I’d just use 301 redirects (this is a header sent by the web server that tells the page requester that the page has “moved permanently”; there is also a “temporary redirect” status).

Thank goodness for dynamic pages! The old system used a single page called ShowRecipe.asp which took the id of the recipe and displayed it. So I just recoded this page to take the id, look up the recipe title, and convert it into the new URL (MovableType uses “search-friendly” URLs constructed from the recipe title). Then it does a 301 redirect to the URL on the new site. I removed / renamed the few other pages on the old site.

I added the new site to my Google webmaster tools page and monitored the results. Google came and spidered a few pages from the site within a couple of days, and I was soon seeing almost the level of traffic I’d had on the old site. Within a week there were 23 pages in Google’s index, which seemed not bad for a brand-new domain registered less than a fortnight before and with no incoming links yet, apart from our own site. As of now, Google has spidered again and picked up over 140 pages.

The process is evidently not finished yet though, as old redirected pages are still showing high up in Google (#6 for “pitta bread recipe” for example). Of course if anyone clicks on those results, they will automatically end up on the new site anyway, because of the redirect.

I’m probably not going to bother going after links to the old site and asking people to change them, but I would if this was a commercial site. Otherwise old linked-to pages seem to hang around in Google forever.

So at present just doing the 301 redirect looks as if it is going to work pretty well. If you completely change the structure of your site it’s well worth doing a specific 301 redirect for every page I think, for the benefit of human visitors rather than search engines.

OK, so this blog doesn’t get updated very often, but I have three blogs to look after now! Currently it’s all change on the blogging front. When I logged into the Back Burner just now, Google insisted that I upgrade to the new Blogger. The process appeared to be painless, except that the post entry screen now refused to accept any input — I typed happily away only to realise my words were disappearing into the ether. Yet another application that wasn’t tested in Opera . I fiddled in the settings and switched off “Compose” mode, and all is well now. It’s a shame that none of these WYSIWYG editing tools works in Opera; I don’t know whether it’s Opera’s fault, or just developers who don’t care about this small segment of the browser market.

In the meantime, I decided recently that it was time to revamp the recipe database which is currently responsible for much of the traffic to our company site (see Embarrassed by Success). When we created this demonstration CMS back in 1999, database-driven sites were a lot less common than they are now. It seemed inappropriate to keep this demonstration module on our site when it no longer reflects what we are capable of (we are much cleverer than that now!). It also used an Access database, which is hardly state-of-the-art. On the other hand I still find it a very useful system for storing my favourite recipes, and it gets a fair amount of traffic.

But time to completely redevelop the system (in Ruby on Rails for example) was lacking. So rather than reinventing the wheel again, I thought I might as well simply extract the content from the database and pour it into a blog. I experimented briefly with the latest blogging poster child, WordPress, before deciding I felt more comfortable with my old favourite Movable Type. This surprised me slightly, since Wordpress is written in PHP, which I am much more comfortable with than the “old-technology” Perl behind Movable Type. But The Movable Type administration interface feels much more polished and flexible than Wordpress’s and its templating system is easy to understand and manipulate. Not only that, but the Movable Type architecture allows you to generate PHP pages, so you can have the best of both worlds by incorporating PHP into your templates to provide dynamic elements.

Movable Type has moved on since I last installed it back in the days of version 2.66. It now incorporates a whole new plugin architecture, allows you to tag posts as well as assign them to multiple categories, has improved comment handling, and includes a style switcher so you can easily apply a theme without having to dabble in templates. It also easily handles multiple blogs and authors. Its major downsides compared to WordPress are that it doesn’t cater sensibly for static pages outside the blog structure, and its image handling is pretty rudimentary. Oh — and some parts of the admin interface don’t work properly in Opera!

Anyway, having installed Movable Type, grabbed a theme from MT’s style contest, and done a lot of cutting-and-pasting of content, I decided that the shiny new version of my recipe database deserved its very own domain. To my amazement, both larecettedujour.org and recettedujour.org were available, so I snapped them both up, and pointed them temporarily at a subdirectory of our company site. So … drumroll … here is La Recette du Jour in all its glory!