Bye bye Blogger – Hello WordPress!

This content is 17 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Regular visitors to this site may have noticed that over the last 24 hours, the site has developed a totally different look and feel.

I will start posting content that isn’t about the redevelopment of this site again soon but the last couple of weeks have been pretty tough on the self-hosted IT front. First I started to have problems with e-mail delivery to certain hosts, then I accidentally dropped my domain off the Internet and at the same time, I’ve been busy moving this website to a new content management system and hosting provider.

For some time now, I’ve been working on rewriting the site using (semantically correct) XHTML and CSS but my lack of design skills (combined with a lack of spare time) were holding the project back. Ironically, it was my decision to dump Blogger as a content management system (a not insubstantial project in its own right) that has pulled everything together.

WordPress logoI’ve heard a lot of good things about WordPress, which is available as a hosted service or as software to run on a server under your own control, and I’ve chosen the latter option. In fact, over the last couple of weeks, the whole site has been migrated to a WordPress installation on ascomi‘s webspace.

It’s quite strange – most of the technology on which I’ve built my career is from Microsoft – yet I’m writing this post on a Mac and publishing it on a site which uses the Linux-Apache-MySQL-PHP (LAMP) software stack (actually, the server is running FreeBSD, so it’s really FAMP but that’s just being pedantic).

I had originally planned to run the old and new sites in parallel until all the issues were ironed out, but in practice it’s not been that straightforward as I tried to maintain the URL structure. Late last night I cut everything across to the new site but like so much on the ‘net today, Mark’s (we)Blog 2.0 is in beta!

So, why’s it been so complex? Well, so far, this is what I’ve done:

  1. Order new hosting space and upload the content from old website.
  2. Transfer/register all domain names and direct them to the new hosting provider’s name servers.
  3. Edit .htaccess to rewrite requests from secondary domain names (or without the www. prefix) to
  4. Install and configure WordPress – pretty straightforward with a Fantastico scripted installation.
  5. Customise WordPress – pick a template (Andreas Viklund’s WP-Andreas01), install and activate plug-ins (WP Suicide, New Blogger Import).
  6. Commit WordPress Suicide, in the process wiping out default posts etc. but leaving behind users, user metadata and options.
  7. Migrate Blogger content to WordPress, maintaining the existing URL structure – this was the bit that scared me most and actually it was really simple (hosted WordPress users can also directly import from Blogger). First of all I needed to switch Blogger over to host my blog at Google (BlogSpot) – as all the previously-published content was still available on my server then users would not have seen any change. Next, I used the New Blogger Import plugin to suck over 700 posts and 600 comments out of BlogSpot and into WordPress. I had an issue with the formatting of the URLs but Ady Romantika very kindly updated his script for me and the updated version ran very smoothly (a couple of posts were missed but I found them from an XML sitemap generator broken links report and migrated them manually). It’s worth noting that Ady’s script also leaves the Blogger post ID as a comment in each migrated post. Once migrated, I switched Blogger back to FTP publishing and ran the old and new sites in parallel for a short time but found that to be too much work and have since removed the Blogger site from the server (an archived version of the old site will remain in place for a few weeks at least).
  8. Install and activate the Category Tagging plugin. Start to assign categories to posts and create a new post, which removed the PHP error messages that originally appeared (Warning: array_keys(): The first argument should be an array in /usr/home/username/public_html/blog/wp-content/plugins/category-tagging.php on line 95 and Warning: Invalid argument supplied for foreach() in /usr/home/username/public_html/blog/wp-content/plugins/category-tagging.php on line 96).
  9. Make more template formatting changes; deactivate WP Suicide and New Blogger Import; install and activate Fancy Archives and AdSense Deluxe; register for a WordPress API key and activate Akismet.
  10. Create new pages to replace the non-blog content from the old site (and redirect requests using .htaccess).
  11. Remove the old content and generate a new XML sitemap.

Looking back, it’s odd that one of the things holding back the redevelopment of the original site was the lack of a good design – as it happens the WordPress template that I chose is also available as a standard website template and there are loads of good-looking templates at and at Open Source Web Design.

At the moment I’m still adding categories and tweaking the formatting (there are some CSS glitches to iron out – hence the beta tag) but I’m hoping that within a few weeks the site will be pretty much there. I also plan to go back through the template code and implement some of the CSS tips that I’ve been picking up from the old .net magazines that Alex gave me as well as two excellent books:

If all goes to plan, subscribers shouldn’t have to change any settings, the URLs for the content should be preserved, the quality of the content should improve and my search engine placement should be maintained.

Bye bye Blogger?

This content is 17 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Recently, I’ve written a couple of posts which hinted at the problems I’ve been having since I was involuntarily upgraded to Blogger‘s new platform and tonight was the final straw. For a while now, I’ve wanted to implement a category system for posts and a couple of months back I did actually start to tag my posts at in preparation for following Peter Chen’s advice for creating Blogger categories.

Unfortunately, the delicious2Blogger (D2B) method does not work with the new Blogger and to implement Blogger’s label system (in order to put a tag cloud on the site using phydeaux3’s label cloud code) I’ll need to upgrade my “classic template” to a “layout”. The problem is, that layouts are not supported for externally hosted sites that are published using FTP (like mine), so I’ll be stuck with my existing template, which has been broken since the upgrade.

Seeing as Blogger seems to be so full of limitations and I’m in the middle of a site redesign anyway, I’m seriously considering a move to a WordPress-based site – as long as I can preserve all the links and comments. I’ve also been having some issues with my hosting provider (and the fact that they have recently been bought by BT doesn’t fill me with joy either) so I’m probably going to move away from them too.

I’ll be trying to minimise the impact on blog readers and hope to maintain the domain name and all the links, but please bear with me if there are a couple of hiccups along the way.

More problems since the Blogger upgrade

This content is 17 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Blogger logoSince the middle of last year, I’ve been using a sitemap to help spiders to crawl around my little bit of the web. After looking into the various options, the easiest method for me (by far) was to use the XML-Sitemaps generator but the free version is limited to 500 pages. Upgrading to the paid version was the best $19.99 I ever spent as Google now indexes all my pages (therefore increasing my exposure on the ‘net and hence my advertising revenue, which may be small but is worth having).

Unfortunately, when I tried to run the generator yesterday, it refused to index my blog (which, at the time of writing, represents 98.8% of my website’s pages) but luckily (and this is another reason for having the paid XML Sitemap generator), within a few hours I had an answer to my problem from the administrator of the XML Sitemaps Forum – for some reason, my blog pages contained the following tag:

<meta name="ROBOTS" content="NOINDEX,NOFOLLOW">

It’s no wonder that the pages were being skipped as this is a directive for robots that says not to index this page and not to follow links!

Now, I didn’t add that tag… so how did it get into my code? It seems that it was added by Blogger. Blogger uses a system of template tags to generate content, one of which is <$Blog MetaData$>, used to insert all of the blog’s meta data. This has been working for me up to now, but it seems that the upgrade has added the directive for robots not to index my pages, nor to follow links. According to Blogger’s help text, this is only inserted if a blog is set not to be added to listings, but mine has a very definite yes (I do want to be listed):

Screen shot showing that the blog is set to be listed

After replacing the template tag with the correct (manually-inserted) meta data, I was able to crawl the site successfully and create an updated sitemap.

I’m not denying that Blogger is a great system for people starting out with their own blog (and many of the new features are good for more advanced bloggers too) but it seems to me that considering it’s owned by Google (a company with many products that seem to be in perpetual beta) it has more than its fair share of problems and it looks as if a major upgrade has been rushed out of the door (I’ve already had to apologise to subscribers that old posts are creeping back in to the Atom and RSS feeds). I wanted to stay on the old platform for as long as possible but when I logged in a few days back I was given no choice but to upgrade.

Thankfully, my pages didn’t drop out of the Google index (as I upload the sitemap manually and so spotted the error) but this directive may well have affected the way in which other search engines index my site… luckily I caught it within a few days of the offending code being inserted.

More Blogger hacks

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Blogger logoLast month I wrote about some of the Blogger hacks that I’ve implemented to get things working on this site how I’d like them to. Today I found another one which rocks…

I often update posts by adding comments to them; however, unlike the posts themselves, I’ve not been able to edit the comments once posted (e.g. if I spot a mistake afterwards). That was, until today, when I came across the Blogger Templates blog, which, in addition to some pretty cool templates, also includes these useful hacks:

It also links to “a frequently-updated compendium of… Blogger hacks” at John’s FreshBlog.

[Update: This site moved to WordPress in March 2007]

Blogger hacks

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Blogger logoIn common with many other bloggers, I use Google‘s Blogger service to generate the code for this blog. There are alternatives (like WordPress) but Blogger has been working well for me up to now (especially compared with the mixed experiences I had with Scott Watermasysk‘s .Text and Community Server engines whilst I was blogging at Conchango). There are some things I wish Blogger could offer – like a post calendar, post categories, the ability to control the number of recent posts shown on the sidebar (I can only set the number of posts on the front page) and a choice between RSS and Atom syndication – but on the whole it’s pretty good.

What’s especially good is that the guys who look after Blogger admit its shortcomings and even post Blogger hacks in the help system, publicising tweaks to make the system better meet users’ needs.

I’ve implemented a couple of these on the site recently, so I wanted to give the script authors some credit for helping me make this blog a better place (I hope).

  1. Firstly, there’s the archive list reversal (i.e. most recent first) and drop-down combo. For this I have to thank Roveberg, whose script worked a treat for me when I added it to my template today.
  2. Secondly, there is the on this day script from New Links, which I’ve added to provide links to the BBC, Encyclopædia Britannica and Wikipedia pages for any given day in history (you can see these below the date for each new entry).

I’ve also implemented a few hacks from Blogger’s own help system, like the e-mail this post link at the bottom of each post (next to the comment count).

Combined with an assortment of applets in the sidebar, I hope these help to improve the user experience. If there’s anything missing that would really help you to use this blog more effectively, leave a comment and I’ll see what I can do.

In something of a pre-emptive response to a comment that I might realistically expect to receive, I know that web site advertisements are a pain, but they are also a sad fact of life for many of us who are trying to cover our hosting costs on a site which is essentially a spare-time hobby (hence the reason for the wide variations in post frequency and quality around here). I finally sold out last summer and since then I’ve tried to keep the ads as unobtrusive as possible (whilst hopefully remaining effective). I hope never to have to resort to pop-ups or similar mechanisms and your support is gratefully received.

[Update: This site moved to WordPress in March 2007]

Finding that elusive control character code

This content is 19 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

I use Blogger to create and update this blog (because it’s quick and easy, whilst still giving me a level of control over layout etc.).

Unfortunately, the graphical interface in Blogger strips out some non-alphanumeric characters, such as the pipe symbol (|) meaning that a little bit of HTML massage is needed from time to time.

Whilst editing such a post today I came across a collection of useful tables for ASCII codes, HTML codes, control codes and conversion.