Tips For Using WordPress As A Content Management System (CMS)
Well, we got busy with a bunch of great projects for clients and so neglected our own site for most of 2007 (the proverbial “cobbler’s kids have no shoes”). We finally made time to relaunch our site, and did so in October.
Overall, we’re really pleased.
Our new site is much more flexible, SEO-friendly, and much much much (yes, that’s triple-much) easier to maintain.
We’d recommend the CMS approach to others.
Here’s the scope document from December, with current annotations:
- We will replace our entire current “brochure-ware” site, rimmkaufman.com, with WordPress. Our home-brew Mason and Catalyst layers will go away. Done. Our IT gang is quite happy to see Catalyst code depart.
- The new site shouldn’t look like a blog. Done.
- We will be able to post speaking events, and have the site manage events rolling from “coming to soon” to “recently happened”. Done.
- 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. Done.
- We will add a usable site search. Done.
- We will not break any existing links into the site. Nope. We busted scads of links and are busy remapping them all to preserve SEO and inbound traffic. This is a big deal, and lots of work, and we’ll address best practices for remapping site URLs in a subsequent post.
- We will let readers comment on articles. Done. Critical to install in anti-blog-spam plugins like Akismet.
- We will support tagging, both on-site tags and technorati tags. Done, but not yet visible. Soon.
- We will tweak the site information architecture, and make the site more SEO-friendly. Done.
- We will maintain the current look-and-feel and CSS: this is a migration, not a design change. Nope — we changed the whole design, look-and-feel, url structure, the works. This scope creep is part of what slowed us down.
- We will not change our company blog (rkgblog.com) at all.
Nope. We opted to roll the new design out to the blog as well, with an integrated top and bottom nav.
At first, we were only intending to re-platform, but we changed our minds and went with a new design as well.
We hired a local designer, Debra Weiss (drwdesign), to help us with a look. Deb delivered a test site in flat HTML, which our team generalized and then ported into a WordPress template. Deb did good work, quickly, for a fair price, delivering more than we expected.
It took us a few cycles of design rounds with Debra to reach a look we liked, and those cycles took a few calendar weeks given other projects here.
It then took us about a day to craft the WordPress templates.
Additional custom coding took about a week — upcoming talks, bread crumbs, common header for site and blog, etc.
Here’s a list of plugins we’re running on the site, sorted alphabetically, with our sense of their importance marked with gold stars.
Adjusts the links in RSS to use absolute links so that they work correctly in all feed readers.
Essential spam fighting tool.
This formed the base of our breadcrumbs, which we had to hack a bit to accommodate the blog.
- Code Markup
Lets you display code, without HTML and WP mangling the special characters.
- Disable autop
Disables the “wpautop” function for your posts, allowing you to use straight XHTML without it getting modified. We opted to use pure HTML for our posts and pages, avoiding the “convenience” of wordpress shortcuts.
- Disable Visual Editor
WYSIWYG sounds great in theory, but stinks in practice. We found it quicker to disable autop and the visual editor. The visual editor caused so much grief we even gutted tinymce from the WordPress install completely.
- Filosofo Old-Style Upload
We find the old upload tab more convenient at times than the new bottom-of-the-post uploader.
- Get Custom Field Values
We use custom fields heavily, and this plugin lets you easily retrieve and control the display of any custom field values/meta data for posts, inside or outside “the loop”.
- Head Meta
Sometimes you need put something custom in the head of a specific post or page, like a special style sheet or a no-index tag.
- Hello Dolly
- RKG Page Permalinks
This is a custom plugin that changes “/index.php?page_id=\d+” links into permalinks in posts.
- Safe Include
Super critical. This allowed us to create little function procedures, insulating authors from code, and offering more security than executing PHP within posts. Highly recommended. (See next post in this series for code samples and additional discussion of using SafeInclude.)
- SEO Title Tag
A great little plug-in from our friends at NetConcepts, letting you get good title and meta tags on pages and posts. Plays well with Ultimate Tag Warrior.
- Simple Trackback Validation
Reduces trackback spam by retrieving the web page located at the URL used in the trackback and checking if the page contains a link to your blog: if not, the trackback needs to be moderated and is not being published.
- Static Front Page
Fixes the homepage URL.
- Ultimate Tag Warrior
Allows tagging, many ways.
- Ultimate Tag Warrior: Tag Archive
Part of UTW.
More to come on Safe Include in a following post.