WordPress as CMS: Scope and Initial Progress
Our first article on migrating our site to WordPress discussed why we’re doing this. This article will finish off the introduction by establishing scope, and then dive into the initial progress we’ve made so far.
We’re believers in establishing a project spec up front, even for smallish projects. Here’s our back-of-the-napkin spec for this migration:
- We will replace our entire current “brochureware” site,
rimmkaufman.com, with WordPress. Our home-brew Mason and catalyst layers will go away. The new site shouldn’t look like a blog.
- We will be able to post speaking events, and have the site manage events
rolling from “coming to soon” to “recently happened”.
- We will be able post articles, embargoed from public view until their print publication
date, at which point they’ll automatically appear on the site.
- We will add a usable site search.
- We will not break any existing links into the site.
- We will let readers comment on articles.
- We will support tagging, both on-site tags and technorati tags.
- We will tweak the site information architecture, and make the site more SEO-friendly.
- We will maintain the current look-and-feel and CSS: this is a migration, not a design change.
- We will not change our company blog (rimmkaufman.com/rkgblog) at all.
So far, we’ve installed WordPress (1.52 for some reason, but upgrading quite soon). We have two distinct installs — one for the brochureware site, known as “wp”, and one for the blog, known as “rkgblog”. WordPress Mu seemed like overkill for only two blogs.
We’ve installed these plugins to start: Ultimate Tag Warrior, Dagon Design Sitemap Generator, Fold Page List, Search Everything, and SpotMilk. We’ll use PageFold with some CSS magic for both our breadbrumbs and right nav. Spotmilk changes our admin theme so we don’t get confused as to which install we’re managing.
The new site lives at rimmkaufman.com/wp. When we’re done with this migration, we’ll use Apache URL rewriting heavily to make “/wp” subdirectory becomes invisible. We’ll use permanent Apache redirects to remap old URLs to new where needed. We’ll also use permanent redirects to cannonicalize our URLs to remove SEO-harmful duplicate content.
Getting the rewrites and remaps right can be tricky, and is likely the part of this project most relevant to a large site migrating to a new CMS who wishes to avoid breaking existing links. We’ll blog our experiences on that part in more detail.
If this wasn’t a small brochureware site, we’d fully build it and test it on one of our dev web servers before pushing it live. For this modest and public migrate-and-blog-about-it experient, we’re building the site live on the web, in typical blog-like fashion.
We’ve added added
"Disallow: /wp" to our robots.txt and
<meta name="robots" content="noindex,nofollow"> to page headers while we develop it, as we don’t want this work-in-progress indexed by the engines until we’re done. Readers are welcome to poke around in our construction dust, if you’re into that sort of thing: rimmkaufman.com/wp. If you’re reading this post after January 2006, you’ll no longer be able to reach “/wp” URLs — rewrites will whisk you to the cannonical form, hiding the subdirectory structure.
Since this development is occurring on a live server, outside of our typical sandbox-test-live subversion-based development process, we’re using rsync to mirror the /wp site back to internal svn servers frequently. Strongly recommended. Automatic svn backups are really helpful after someone accidentally kills a file.
We are using WordPress pages and subpages for our static content. I hear this is going well. At this point, we’ve created all that structure (about 40 pages
currently, more to come), but they’re all ipso-lorem dummy copy — we’ve not poured over the writing yet. We’ll probably script that transfer.
Happily, the only bug we’ve encountered so far was pages vanishing from the WP admin page. This is a documented WP1.5x bug with a simple hack fix, and doesn’t impact WP2.x. By week’s end, all three of our blogs — rkgblog, wp, and internalblog — should be on WP2.
How’s it going?
From my vantage point, this migration is starting smoothly. Progress is slow, as this project is slow-simmering on a backburner, and it is holiday season, but that’s fine.
An aside on wording: I’m blogging all this in first person plural, as this is a team effort. I’m doing the blogging part (writing about the process) and the marketing strategy part (what we want the site to do), but other RKG folks are doing the heavy lifting on the design side (CSS, WP templates) and code side (WP plugins, php, Apache). Thanks, gang!
The next article in this series covers pages, nav, and breadcrumbs.