Today I returned to my roots and replaced the WordPress installation here with free-range, handcrafted, artisanal HTML, this time statically generated by Nanoc. More on why I made that change later. For now, please take note of these caveats:

  • My RSS feed has moved back to but you should be automatically redirected there if you’re using the old WordPress URL. Of course, it wouldn’t hurt to update your subscription bookmarks.
  • The <guid> elements for older posts in my RSS feed will retain their whacky-ass, WordPress-generated values so your reader software shouldn’t be confused into thinking that 10 new items just appeared. But cross your fingers on that one because some RSS readers are easily confused.
  • If you subscribed to my old comments-only RSS feed then you should’ve already noticed there haven’t been any new comments in over a year—I disabled that feature—and after today’s update, that feed URL now answers to the name “404 Not Found.” But please enjoy the bonus content I included on the new “Not found” page.
  • Several other URLs—mostly WordPress-generated paged archives for the main index and various years, months, days, etc.—also respond with “404 Not Found” now rather than a redirect to This is intentional because I want those pages removed from search engine results soon.
  • Search results here are once again provided by DuckDuckGo. However, I’ve added a handy “Favorites” section to the top of my “Archives” page so you can easily find popular essays like “Memories of Steve.”
  • My “How to contact me” page has reverted to an intelligence test where you suss out my email address. Sorry, but I removed the WordPress-generated form which challenged users to include their email address—a task which was sometimes problematic.
  • The new—and far simpler—CSS here should still provide a responsive and mobile-friendly presentation. Please let me know if that’s not the case.
  • The absolute minimum of engineering effort was put into support for legacy Web browsers. But please let me know if your evergreen browser—i.e. Safari, Firefox, Edge or Chrome—doesn’t seem to render content correctly here.
  • While I do employ Darth Google for Web analytics, I finally added an 'anonymizeIp' line to the JavaScript tracking snippet, making at least the appearance of trying to protect your privacy.

So, after all that work moving this website to WordPress—much of it documented here—why am I moving back to static HTML? And why use Nanoc instead of my own generator, Magneto?

Well, I’m a dinosaur who couldn’t make the transition to the highly-regarded, Web-based editor in WordPress. My writing workflow starts in BBEdit—my preferred text editor for the last 25 years—formatted as Markdown. With WordPress, I wound up pasting my posts into its editor afterwards and then cursing—even more than usual—while I translated them to Texturize format.1

That said, WordPress does work as advertised and it’s simpler to maintain than most people think. For the most part, it even updates itself—especially with fixes for critical security vulnerabilities.

But my big problem with WordPress was performance.

Using this website while logged into the WordPress dashboard was excruciatingly slow—often a three-second or longer wait for each page. And without being logged in—even with the WP Super Cache plugin enabled—each page took over twice as long to load as this current static website does. And Gramps don’t like sloth.

I suppose I could have written my own WordPress theme to help solve some of the performance problems, but after looking at the design requirements I decided the easiest solution would be returning to a static generator. Seriously, writing a good WordPress theme is a non-trivial effort.

As for Nanoc, five years of contributions from multiple developers have made it faster and more capable than Magneto, a poorly maintained project from a single knucklehead (me). Plus, Nanoc doesn’t suffer from the my-way-or-the-highway design that plagues so many other static generators.

In retrospect, I think I installed WordPress just so I could play with it. But playtime is over now. Back to work.

  1. Yes, I know there’s a Markdown plugin for WordPress, but it has… issues.