After a couple weeks of reviewing WordPress themes (and countless weeks prior judging designs in general) I have established the following guidelines for creating an awesome WordPress theme. At the very least, following these guidelines will get a stamp of approval from picky designers.
At the same time, pay attention to these things when choosing a theme. If the author went through the trouble to follow certain standards, I’ll bet it is quality work.
1. Validate your code
I can’t emphasize this enough. Honestly, for how easy it is to validate your work, the lack of proper validation is evidence of a lazy theme author that doesn’t bother to run a couple checks. Validate your HTML. Then validate your CSS. Think of it as using good grammar. Everyone will appreciate it.
2. Make it work across browsers
Firefox, Internet Explorer, Opera…the big boys are important. According to Jakob Nielsen in Prioritizing Web Usability, best practice is to wait six years after the release of a new browser before ignoring an old one. Thankfully we can forget about IE5. But IE6 is still out there. Prepare for all browsers, and if you can’t make it work, add in fixes so your theme degrades gracefully. A very useful tool for this purpose is Browsershots.org.
3. Comment your code
For some themes this is not a big problem. If you don’t modify much from the default WP theme, it probably isn’t a big deal. Use this principle: if you won’t be able to follow your code in two years, no one else will be able to tomorrow. Comment more than you think you should.
4. Be yourself. Be unique
Nothing is more annoying than to hit that Test Run link and see, basically, the same default WordPress theme wrapped in a big image. Go through the trouble of making your theme original. More people will use it.
5. Prepare for the test run
The Test Run is extremely important. Format your content code to be able to handle all of the default content the WordPress Theme Viewer will drop into it. If your theme looks bad in the test run, very few people will think it will look good on their site.
6. Make the content king
Sort of goes with the above. Leave plenty of room for people to dump content into your theme. Yes, you are an artist. And yes, your work is (sometimes) beautiful. But no one else is concerned with displaying your art on their site. They are concerned with their stuff. How will your stuff make their stuff look. Make their stuff look good, and you will have a popular theme.
7. Make it widget-ready
If your theme isn’t widget ready it’s way behind everyone else. Get into the habit of including this with every theme you make. Users love Widgets because they’re easy. So do the work for them.
8. Customize the 404 page
It’s amazing how many themes either don’t bother formatting this page or completely leave it out of the theme files. This is (aside from the landing page) the most important file in your theme. A user experience can be made or broken by the “404? experience. A more in depth look at this, over at Theme Playground.
9. Customize all the easy-to-forget pages
Start a checklist. Start with the easy ones. Main index template (check). Page template (check). Single post template (check). Attachment page template (whoops). Search results template page (whoops). You get the idea. Don’t leave anything out, or it will frustrate your users down the line.
10. Provide quick response and support
Anyone who installs your theme is a customer. Treat them that way. Subscribe to your pages on the Theme Viewer. Pay close attention to user response. Your goal is to keep your tag in the footer on their site as long as possible, right? One way to do that is to make servicing your theme a priority.
11. Would you use it?
Probably the easiest test of all. Some of the most successful themes downloaded today are those that were once used by the big guys (for instance, DailyBlogTips). There’s a reason for this. If your theme is tried and true, people will see that. Using it yourself, you will work the kinks out. You treat your own design very well. do the same for the themes you create, and you will see a huge response.