A fellow WordPress website builder recently suggested that I include the WordPress.org Theme Check plugin in my repertoire of theme evaluation and selection tools. At first, it seemed like a great idea, but the longer I thought about it, the more my opinion changed.
Evaluating and picking a WordPress theme is not for the faint of heart. Every WordPress website builder has their own theme evaluation and selection process, which can grow quite complicated. We can all be forgiven for wanting to fall back on tools like Theme Check that, at first glance, seems to work as an easy-to-use filter to simplify the theme selection process.
Unfortunately, things aren’t so cut-and-dried. Theme Check was never designed to be a general-purpose theme selection tool and understanding the messages generated by the plugin requires a fairly advanced knowledge of PHP, the WordPress core, and WordPress.org theme requirements.
After toying with the plugin and reading about its purpose I’ve decided against using the Theme Check plugin as a way to evaluate themes. Here are four reasons why you should do the same.
Reason 1: You Have to Own a Theme Before You Can Use It
Here are the steps you need to go through to use the Theme Check plugin:
- Install the theme you want to evaluate.
- Install and activate the Theme Check plugin.
- Navigate to Appearance > Theme Check.
- From the drop-down box, select the theme you want to check and click Check it!.
- Review and interpret the resulting warnings, recommendations, and informational notices.
Do you see a problem with this process as it relates to theme selection? I sure do.
You have to install a theme on your site before you can use Theme Check to evaluate it.
If you’re considering purchasing a premium theme, this would mean purchasing the theme you’re thinking about buying before running it through the Theme Check gauntlet. Doesn’t make sense, right? If you’re anything like me, by the time you drop money on a premium theme you’ve basically committed to using it. You aren’t even in the theme evaluation stage any longer. You’ve moved on to theme implementation.
Well, OK. Theme Check is no good for evaluating themes you have to pay for, but at least you can check free WordPress.org themes with it, right?
Sure, you can, but why bother?
Reason 2: WordPress.org Themes Have Already Passed
Before a theme makes it into the WordPress.org theme directory it has to meet all of the WordPress.org theme requirements. In other words, any theme you select from WordPress.org is guaranteed to pass all of the checks. You might see a few recommendations show up but no outright warnings because the theme had to pass all of the checks before being added to the directory.
What about themes that aren’t in the WordPress.org theme directory? Assuming you can get your hands on a copy of the non-WordPress.org theme for free you’re still probably better off skipping Theme Check. Why? Because of reason number three.
Reason 3: Premium Themes Won’t Pass
Since Theme Check is designed to mold themes into conformance with the WordPress.org Theme Guidelines, it follows that premium theme developers generally don’t make any effort to ensure their themes will pass Theme Check. At least, that’s my theory. To test this theory, I ran four premium themes through Theme Check: Upfront, Creativo, Aegaeus, and Vantage Premium.
Of the four, only Vantage Premium passed, but it should have passed because Vantage Premium is just an unlocked version of the free version of Vantage, which is available from the WordPress.org theme directory.
The other premium themes I looked at all threw up an avalanche of flags.
What does this mean? Does it mean that these themes are problematic and should be avoided? Of course not. It means that the developers of these themes – WPMU DEV, Rocky Themes, and HB-Themes – never intended for their products to be added to the WordPress.org theme directory or to be evaluated with Theme Check. As a result, they didn’t try to comply with the WordPress.org theme requirements.
Running a premium theme through Theme Check is like checking the Kelly Blue Book value of a 1969 Camaro. You’re using a tool to make an evaluation it wasn’t designed to make, which is a point that brings us to the real crux of the matter.
Reason 4: That Isn’t What It’s For
The best reason not to use Theme Check as a theme selection tool is because that isn’t what it’s for.
What is the purpose of the Theme Check plugin? To check themes, obviously, but check them for what exactly? The list is extensive. Here are a few highlights:
- Dangerous PHP code, such as the
- Hidden embedded Adsense code;
- Declaration of important document metadata such as
charset, and language;
- Inclusion of WordPress functions like
- Tasks that should be handled by plugins rather than by the theme;
- A heck of a lot more.
There are some things Theme Check evaluates that every WordPress theme really should comply with – such as avoidance of using
eval() (holy yikes!) or burying Adsense code in the theme code. However, many of the checks the plugin performs are really about making sure that themes in the WordPress Theme Directory will work with virtually all WordPress installations and virtually all plugins in the WordPress Plugin Directory.
And don’t take my word for it. I’ll just let the Theme Check Plugin FAQ speak for itself:
The theme check is designed to be a non-perfect way to test for compliance with the Theme Review guidelines. Not all themes must adhere to these guidelines (emphasis mine). The purpose of the checking tool is to ensure that themes uploaded to the central WordPress.org theme repository meet the latest standards of WordPress themes and will work on a wide variety of sites.
If that isn’t clear enough, this quote from plugin author Samual Wood (Otto) in response to a plugin support request makes things crystal clear:
Theme Check is for pre-flight checks before submission (to WordPress.org). It’s not a way to rate a theme’s quality (emphasis mine).
In other words, Theme Check is a tool to quickly identify things that would prevent a theme from being added to the WordPress.org theme directory, and that’s it.
When Should You Use the Theme Check Plugin?
Don’t get me wrong. I’ve got nothing but love for the Theme Check plugin and respect for the folks who give of their time to maintain it. Theme Check really lowers the bar for becoming a theme reviewer for WordPress.org, which is wonderful. It’s a very useful tool when used appropriately, but that’s the key: It has to be used appropriately.
So when should you use Theme Check?
Scenario 1: You’re a theme developer and you want to have your theme added to the WordPress.org Theme Directory
In that case, this plugin is really going to help you out. Use it to check your work and identify issues that will need to be addressed before the WordPress theme review team will be able to approve your theme and add it to the directory.
Scenario 2: You’re on the WordPress.org theme review team evaluating themes for possible addition to the WordPress.org Theme Directory
In that case, use of the plugin is mandatory. It’s one of the first steps you’ll take when evaluating a candidate theme.
Those are really the only scenarios I can think of in which Theme Check should be used. The results of the Theme Check plugin have to be understood within the context of the WordPress.org theme requirements.
Theme Check is a great plugin when used for it’s intended purpose: Making sure themes meet the requirements for addition to the WordPress.org Theme Directory. However, using the plugin as a theme evaluation tool for themes that from sources other than WordPress.org is a well-intentioned misuse of the tool.
No doubt, picking a WordPress theme is tricky business. However, the temptation to fall back on Theme Check as an evaluation tool is misguided. Take the long way around by developing a thoughtful theme selection process and avoid needlessly ruling out useful themes while simultaneously adding an unnecessary extra step to your theme selection process.
What do you think? Should Theme Check ever be used to evaluate a non-WordPress.org theme? Are there any potentially valuable uses of the plugin for non-developers or is the output too technical for a non-developer to make intelligent use of?