A Word on WordPress
![]()
Alright, time to talk shop.
I’ve spent a lot of time with WordPress, my content management system of choice, since it was released in 2003, and I use it for many of my professional and personal projects. In fact, this site, The Ryanomicon, is built upon WordPress.
As a web designer and developer, I’ve worked with, designed for, and coded numerous content management systems. A content management system, or CMS, is a tool for updating and adding content such as text, graphics, variables, or videos to a website. If you’ve ever written a blog entry or maintained a Facebook profile, you’ve used a content management system.
Most people encounter a CMS after it has been fully-deployed by the developer, when the user will need to spend little time tweaking options before focusing on content. But there is a lot more to a good CMS than simply the end-user’s experience.
So what are the qualities that make up a good CMS?
Open Source
The cornerstone of any good CMS is its status as “open source” (or better yet, “free software“). Open source software is an approach to software development wherein the source code, the complete blueprint for a program, is made available to others for use, modification, and redistribution. As open source, a piece of software can live on after its creators cease development; can be vastly improved by an internet-wide audience of “fresh eyes”; and can be translated or transformed for other users and uses.
And it’s free (as in beer and as in speech).
But what significance does this hold for the user? The designer? The developer?
The Developer
Being able to work with, modify, and re-imagine a piece of software is incredibly helpful for developers. An open source CMS provides you optimal flexibility; allowing you to mold the CMS to your client’s exact specifications. And, if you’re so inclined, it also provides a legal avenue for sharing your modifications with others, for profit or posterity.
The Designer
Open source software inherently promotes community, and this is quite a boon to the designer. A community creates discussion, solutions, and approaches towards efficiently designing for a particular CMS.
The User
Encouraging your web developer to use an open source solution means you won’t have to pay for CMS software on top of their development fees. It also means that there will be a community that can aid your developer in the speedy production of your site. And, perhaps most importantly, if your current developer becomes unavailable, you won’t be trapped in a proprietary CMS.
Ease of Development
The usability of a CMS isn’t necessarily a reliable indicator of how well programmed it is. Occasionally, the most user-friendly content management systems are quite developer-unfriendly.
The Developer
Owing to their “closed” nature, many closed source content management systems are difficult or impossible to modify, and, without the incremental improvements provided by a community, closed source CMSs may suffer from a narrow vision and undeveloped code.
But even open source CMSs can fall prey to poor programming, uncommented code, and over-complication. It’s important to ensure that the newest, shiniest CMS on the block has what it takes to be easily retooled.
The Designer
There are few things worse for a designer than for your grand vision of a design to become limited by an overly rigid platform. If the developer doesn’t have extensive control over the placement of content and other fundamentals, a design and a designer can quickly become crippled.
The User
Ease of development means shorter production time, increased productivity, and lower costs. A worthwhile developer knows he doesn’t have to reinvent the wheel (or the blog) for every client, and he’ll make efficient use of a quality CMS.
“Designability”
“Designability,” or how easy it is to design for a CMS platform, goes hand in hand with ease of development. Without an emphasis on design, even a website with the best CMS is doomed to be underappreciated or worse: unviewed.
The Developer
With a quality CMS, a skilled developer can program any user-manageable functionality into a website. But, if that CMS insists on outputting “ugly” HTML code, the final product could suffer from a flat, sloppy, or inconsistent design. It is important for developers to put an emphasis on web standards, and starting with a CMS that produces valid standards-compliant HTML/CSS places the project upon a strong foundation.
The Designer
The freedom to design without the restrictions of antiquated or broken code is quite important for the designer. Design alterations become much easier to implement, and the website can be easily designed to display correctly across multiple operating systems and browsers.
The User
Like ease of development, a high level of “designability” means shorter development time and lower costs. It also means that the design process will be more influenced by your designer’s creativity and experience, the very things you’re paying them for, than by the limitations of the CMS platform he’s designing for.
Complexity and Extensibility
The inherent complexity of a CMS and its extensibility, or how easy it is to extend its native functionality, are closely related. But, while a CMS’s complexity should correspond to the complexity of its associated project, a highly-extensible CMS is always preferred.
The Developer
There are a wide variety of content management systems out there, ranging from simple systems with highly specialized purposes, such as Facebook’s, to highly complex CMSs like Joomla. A developer should be sensitive to how many options a client needs to be presented with, and he should do his best to streamline the content management process for the end-user.
In most cases, the complexity of your chosen CMS will not exactly match the needs of your client. This is where extensibility comes in. Extensibility allows the developer to find or code additional functionality for a platform, often without having to edit any original core files of the CMS. Keeping the core files intact means the platform can remain upgradable and that the additions, or “extensions,” can be transferred to other projects utilizing the same CMS.
In the hands of a skilled developer, lower complexity systems with high extensibility make for the best CMS platforms.
The Designer
A great CMS will be easy to design for no matter how complex it is. Still, a lower complexity CMS with high extensibility allows for a skilled developer to output the most appropriate code, thereby increasing the “designability” of the system and aiding the designer.
The User
An overly-complex CMS can be just as ineffective as an underdeveloped one, and native complexity is directly related to how quickly and effectively you can manage content. CMSs that are too complex for their application can be overwhelming. CMSs that are naturally less complex than needed must be extensible so that your developer can provide you with the control you need over your site.
But extensibility is important beyond the initial development, and an extensible system means your website can grow in the future to include expanded functionality.
Enter WordPress: The Near-Perfect Storm
WordPress is a popular open source CMS originally intended to be used as blogging software. But, for my money, it’s the best CMS for a wide range of applications, and that’s because WordPress demonstrates all of the aforementioned qualities that make for a good CMS.
WordPress is utterly simplistic, and that truly sets it apart from other content management systems. Many CMSs seek to provide a wide range of functionality by inundating users with countless options. Ultimately, this leads to a bloated platform that limits developers and designers more than it empowers users.
Instead of creating a rigid system of options, WordPress keeps it simple by allowing users to attach “custom keys,” editable tags that can contain any manner of content, to entries. When coupled with a customized theme, a powerful “skin” which can dictate both design and functionality, custom keys can be used by skilled developers to easily add any functionality to WordPress.
Along with custom keys and themes, WordPress’s sizable collection of user-created plugins, or extensions, makes WordPress one of the most extensible content management systems available.
But extensibility would be useless if WordPress wasn’t so easy to develop and design for. Theme files are logically laid out; plugins are easy to create, install, or manipulate; and, with an emphasis on web standards, WordPress couldn’t be easier to design for.
I’m a firm believer that both myself, as a web developer, and my clients reap the benefits of having a CMS attached to the websites I build for them, and WordPress provides a strong foundation for a CMS that can be quickly developed, unrestrictive in regards to design, and easily manageable by the end-user.
This page was tagged as:
CMS, Content Management, Content Management Systems, Header image, The Biz, Web Design, Web Development, Wordpress
1 Comment has been made on this page.
Liz says:
Really enjoyed this article . . . very well written and informative.