I find myself in a position where I’m designing and creating a website from scratch. The bad news is, it can reasonably be expected to see high levels of traffic. (As in needs-it’s-own-server, and possibly even -servers.) The good news is, I’ve got six to eight months to get everything setup in a scalable fashion. (It’s a website for a one-time event.)
There are three areas that, in my experience, need addressing – server selection and architecture (both hardware and software), overall site design, and software selection for the user end of things.
In this post, I’m only going to address the last point – software selection.
I originally wanted to use a completely static site, coded in PHP to take advantage of a code cache like EAccelerator and gzip compression. I soon gave up on that idea, though; by the time the site reaches it’s full size (an estimated 150-180 pages of content, plus another twenty navigation pages, meta pages, et cetera) it’s going to become a PITA to update, and, unfortunately, while most of the content isn’t going to change much, if at all, about ten percent can be expected to require fairly regularly updating.
Thus, I made what should have been the obvious choice, and opted to use WP on the new site, along with a couple of performance-enhancing plugins I use on this site, namely the excellent WP-Cache2. This will not provide nearly the same performance as truly static files, but it gives much better ease-of-use, and is a lot easier on the server than Movable Type’s much- (and justifiably-) maligned static page building. A seriously wonderful theme from Tubetorial, and a static-front-page plugin from Semiologic provide pretty much all the flexibility and tools for aesthetic control I could ask for in a content-driven site.
If this makes it sound like I’m using WP more as an CMS than a blogging tool, you’re right. I’m already well familiar with WordPress and both how it works and how to coax performance out of it, and not having to worry about learning, or breaking, a new CMS leaves me with more brainpower to put towards the holy grail of all websites, large and small, eternal or ephemeral – content. I plan to make heavy use of WP’s “Pages”, and have comparatively few posts.
In a couple days I hope to address scalable site design considerations, and shortly thereafter look at server (hardware and software) options, before making one final summary post on the matter as I prepare to knuckle down and start turning out content for the project in question.