In the last hour or so I’ve been scribbling notes for what would make an ideal WordPress theme. It occured to me that any successful theme would have to meet 2 main objectives: proper structure, and focus towards a particular audience.
By structure I’m talking about the basic building blocks of themes (or even websites):
- Code must validate – adherence to web standards
- Cross-browser compatibility
- Should follow basic usability guidelines / requirements
- Uses modular, easy-to-customise code
- A focused channel for theme support and upgrades
- Follows WordPress coding standards
A website will be limited by the imperfections in its foundation – so if you’re building a theme that will be as popular as Cutline or K2 (or even more popular), then you must lay the proper foundations.
The second condition is focus – and knowing which audience you are designing the theme for.
Designing a general-purpose theme is hard than one focused towards a specific audience. It’s easier to plan the layout of a theme for a photoblog or a car blog than it is to plan the layout of a theme that could be used in a thousand different ways. You have to allow for the design to be immensely flexible and at the same time include the basic elements that would be needed by and be useful to everyone who takes your theme for a spin.
For the sake of discussion, let’s work on building a general-purpose theme.
There are dozens, if not hundreds, of different decisions to make when doing a layout of a theme. Most of these though, are personal preferences, using the 80/20 principle and focusing on the core factors, I ended up with the following list:
- Banner + horizontal menu at the top
Personally I’m not happy with restricting a theme to this option but the thing is, this setup works well for a majority of blogs
- Multiple options for columns
Instead of restricting the theme to a single column pattern (2 column right-sidebar), I think it’s a better idea to go Semiologic’s way and build a system in which the blog owner can easily change the number and alignment of columns through the WP Admin area
- Extended footer
the 2 or 3 column footers seen on several WP themes are an excellent means of organising information – while the theme may appear bottom-heavy if there’s no banner at the top or if there’s not enough content in one post, the multi-column footer technique can work well and should be used.
Some basic concerns when building a theme with advertising in mind – 3-column versions of the theme should have a content area wide enough to show the 300px AdSense block / 468px AdSense banner, and the 2-column versions should have a sidebar that’s at least 270 px wide to accomodate 2 columns of graphical ads
- Navigation / above the fold elements
A reader lands on a random page of your website – how does he orient himself and what does he do there? Another reader lands on your blog’s main page – how do you provide them direction through your blog and how can they, in a few seconds, find all the key areas / functions of your blog?
- Make it fully customizable
I’d prefer a theme that can be completely customised and turned inside-out using the same building blocks
- Static home page
What is the main purpose of your blog’s front page? What is the main purpose of any category archives page on your blog? Chances are, the two answers are different, so why would you keep your front page looking the same as a category’s archives? A static front page helps you plan and implement a proper landing page for prospects and direct readers to different sections of your blog
- What color scheme should be used?
- Which plugins should have built-in support?
- What changes would you make to the structure discussed above?
Comments are welcome – let me know what you guys think.