Category Archives: Site

Comments Anyone?

Part of my motivation for finally upgrading this site to the latest version of Movable Type was to allow comments to once again be possible. Among other problems, the comment spam handling was limited, so real comments were getting lost in the noise.

With the upgrade complete, I think I’ve got it set correctly to take anonymous comments that don’t require registration or even an email address.

With that I have a favor to ask: if you’ve got a minute to spare, could you come visit this entry on my blog and leave a comment? Thanks!

Upgrade to MovableType 4.1 Complete

The code and design for this site have pretty stagnant for the last two years. Everything was functional, but the design was old and needed some serious improvement. With the recent release of MovableType 4.1, I decided to put some time into this and get it upgraded.

Many hours later, it’s done! I spent lots of time on this — probably too much — but wanted to come up with a clean upgrade process.

To back up a step and look at what I was trying to achieve, these were my goals for the upgrade:

  1. Create a more useful template for individual articles. The vast majority of visitors come from search engines or referrals and land on an individual article. My old individual article page was very simple and didn’t provide any links to other parts of the website.
  2. Make comments useful again. I haven’t touched the comment forms in a couple years and they’ve fallen far behind today’s best practices for letting real visitors leave comments while keeping the spammers away.
  3. Find or create a better visual design. By catching up with the latest MT templates, I should be able to find and/or modify a more interesting visual design for the site.

Because I decided to replace all of my existing templates with the latest ones shipped with MovableType, my upgrade process was a little trickier than previous upgrades. Some of the key points with the upgrade were:

  • Retain all existing articles/posts with the same URL scheme
  • Retain RSS & Atom feeds at the same URLs, but with updated templates
  • Keep the same archiving formats (by category and by month)
  • Refresh all templates to use the standard MT 4.1 set
  • Remove obsolete plugins

With the above goals and key points in mind, and after lots of experimentation, I came up with the following upgrade process:

  1. Install XAMPP and Movable Type 4.1 locally on Windows (steps)
  2. Clone MT database from live server to local system
  3. Upgrade local to MT 4.1, refresh all templates, then tweak to get everything right
  4. Install MT 4.1 on server
  5. Migrate database back to live server and publish

Of these, step #3 took the vast majority of the time, but the good news is I was able to play with everything locally without disrupting the live site.

Movable Type Security Update

Just upgraded this site to Movable Type 3.36 following the recent security advisory.  Upgrade process was smooth and all seems well at this point.

I’m still working on upgrading everything to the latest version 4 — just need to dedicate some time to sit down and finish it.

Once I get upgraded to version 4, I can start allowing OpenID login for comments. (Including Yahoo!, which just announced this yesterday.)

Switched to AWStats

My hosting provider provides built-in support for two different web log analysis packages: Analog and Webalizer. I’ve tried both of them, but neither gave me very good control over the data, so I decided to switch to AWStats which seems to be fairly popular. At first the installation steps were kind of painful, seeming to focus on an installation where I had full control over Apache (which I don’t). I finally found a short write-up from another Pair user that didn’t need the AWStats install script.

Some background: My site has recently become bombarded with thousands of requests originating from China, some which might be from the Baidu search engine, although I’ve read of other bots that impersonate Baidu, so it’s hard to tell. A typical request will be fetching something like “” which is clearly not a page under

The result: I knew my real data would be hard to find under all those bogus requests, but was amazed to learn that 90% of my page hits were bogus (for February 2006, my logs had a total of 1.1M entries, of which 100,000 were valid). I’m now rejecting by (sometimes large) IP blocks to reject the sources of these bogus hits. By setting the right criteria in AWStats, I’m able to filter out those bad requests to find the real data.

The scoop: So what did I learn from the month of February?

  • Publishing a screencast drives up the bandwidth in a hurry
  • All the major search engine spiders are visiting my site each day
  • Of links attributed to a search engine, about 90% are from Google, 5% from Yahoo, and the rest less than 1%
  • My PDA links page is still the most popular, drawing 5 times more visits than the next page
  • The most popular search term was “Chuck Norris Facts“!

Next step: Set up my hosting provider and AWStats to also track stats for some smaller sites I’m running. I also need to dig into AWStats some more to see what adjustments I can make, including adding support for mobile device user agent detection.

Stats! Stats! Stats!