I stumbled upon a post on Yoast.com outlining the 10 criteria of a perfect WordPress theme. Without hesitation, I went ahead and check my themes against those criteria eager to see how I score for my themes.
The 10 checks are as follows:
- Hooks
- Template files
- Is your theme widgetized?
- Does your theme have a search option?
- Does your theme work in all major browsers?
- Is the theme’s code valid?
- Check the outgoing links!
- Can the theme handle pages?
- Make sure your theme supports trackbacks
- How is your theme handling titles?
The following is the report:
Requirements:
– In header.php, it should have a small piece of PHP code that looks exactly like this wp_head(); or this do_action(‘wp_head’);, usually just before a piece of HTML that looks like this: .
– In footer.php, it should have another small piece of PHP like this wp_footer();, or this do_action(‘wp_footer’);
– In comments.php and/or comments-popup.php, it should have a piece of code like this: ID); ?>, just before the HTML tag.
Yoast said it is a standard to include all the 9 BASIC files below in a theme to avoid installation problem. Each file represents a standard WordPress feature/structure.
home.php, single.php, page.php, category.php, author.php, date.php, archive.php, search.php, 404.php
Out of the above mentioned files, I only have home.php, single.php, page.php
Does that mean I am missing most of the WordPress features? Not at all. I actually simplified the file structure even more by merging category.php, author.php, date.php, archive.php, search.php, 404.php into one single file, index.php
Strictly speaking, a theme without widget is not a WordPress theme.
To determine whether a WordPress theme is widgetized, look for this code in the sidebar.php file:
.
WordPress search function is quite powerful so there is no reason not to include it by default.
Your visitors will get turned off if your blog is not compatible with their browsers. However, it is impossible to make a theme work in ALL browsers. The author advises the users to install a theme which works on IE6, IE7, Firefox and Safari.
It is very important for a theme to comply with W3C. A theme with W3C compliant will be crawled by search engines easily and it is more likely to work on several browsers and other display devices like PDA.
However, you can’t find many themes pass this test either because the theme author is more of a designer than a coder or the coder doesn’t bother to take the effort to make it W3C compliant.
To see if a theme pass the test, you can use the XHTML validator and the CSS validator
Normally, the free downloadable themes will have the theme author’s link in the footer. Some will also have the advertiser’s link. You need to check where the external links point to in order to avoid linking to bad neighborhood.
Just like other free themes, I also list my links as well as my advertiser’s links in the footer. However, I am very strict as to whom to accept the advertisement. You can find the policy of my footer link info.
You can publish the articles in two forms via the “post” or the “page” option. Majority of the themes will add a link from the home page once you publish a post. But quite a number of themes doesn’t add a link from the home page once you publish an article using the “page” option, let alone pages that are a few levels deep.
With trackbacks, you can notify other non-Wordpress blogs that you’ve linked to them. If you link to other WordPress blogs, they’ll be notified automatically using pingbacks.
To enable trackbacks, you need to add a one-line code to single.php and page.php.
This is the trackbacks code that I used:
It is much better to have different titles for each page than having a common one. The common practice is to include one line to the header.php file.
or
The two php code can be found in my header.php file. I even include an additional code to differentiate the titles of the single post from other pages.
In conclusion, my themes have passed all the items in the checklist!











I download many free themes but half of all are not compatible with ie6. This is a good check list to consider, made easy to me. Thank you!
Hi Brian! You have an excellent blog and your themes are top quality (am impressed)! Would love to know how much would it be to add a 3 column footer into my current theme (it’s mixed up right now and I don’t have the extra time to trouble-shoot etc)?
The 3 columns should have (from left to right): Newest Comments/Top commenters, Latest tweets, Tweet Roll. And I should be able to use any background image for the 3 columns.
Let me know – you can tweet me directly too – my nickname is Qutequte
Hi Kelly, I am sorry that I don’t provide custom service at the moment because I have yet to find a good coder to help me out 🙁
I am here on your site since a while… and it is rather interesting. I enjoy looking around, and reading your posts.
The Coffee Desk is one I want to test… it is fun! (Knowing, that I write nearly always on the keyboard, never drink coffee and have got no agenda). http://www.remete.org
In this 10-list for the recommendations… it is interesting, that the ability to translate the template is not found. As I am Hungarian, and I make my sites often in 3 languages (English, French and Hungarian)… to translate the theme is important, too.
How and what do you think about your templates being translated?
Friendly greetings
Tamas
Thanks for the suggestion. In fact, we are planning to add a few features into all of our themes. That includes translation to different languages.
You have some beautiful themes. Drop down menus for pages and categories would be a defining separator.
I believe all themes should have such capability now.
Check out Arjuna-x on WordPress. I believe it is the reason they have over 80,000 downloads. It is one of the only themes that accomplishes the task with a very simple but capable options page.