10 Checks to the Perfect WordPress theme

I've seen it happen so often. People have a great blog, and at some point, they decide they need a new look and feel. They then decide to either buy one or use one of the free themes available at wordpress.org. There's a couple of things they'll look at, usually in the order: layout / look and feel, usability and optionally, room for advertising.

Perfect WordPress ThemeIf the theme meets their needs in all two or three of these points, they download it and start installing it. If that's what you do too, this theme checklist is for you!

A theme has quite a few things it has to take care of, and a lot of themes out there don't take care of all of these. This is a checklist that should help you prevent getting into trouble when you start using a new theme.

If you're thinking of installing a theme, open up the directory that your supposed to upload, and check the following:

  1. Hooks

    WordPress plugins use so-called "hooks" to be able to perform their designated tasks. These hooks allow for instance to add extra output, tracking codes, etc. A lot of issues with plugins will arise for you when a theme author forgets to add these hooks. This is how to check for them:

    1. 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: </head>.
    2. In footer.php, it should have another small piece of PHP like this wp_footer();, or this do_action('wp_footer');
    3. In comments.php and/or comments-popup.php, it should have a piece of code like this: <?php do_action('comment_form', $post->ID); ?>, just before the </form> HTML tag.
  2. Template files

    Another wise thing to do when you're changing themes, is compare theme files. If, for instance, your current theme has an author.php file, which contains the template for your author profiles, and your new one doesn't have that, that might be an unpleasant surprise when you install the theme. The files you should be checking for in your old and new theme:

    • home.php: the homepage template
    • single.php: the template for single posts
    • page.php: the template for pages
    • category.php: the template for category indexes
    • author.php: the author template, used when someone wants to find all posts by a certain author
    • date.php: the date template, used when someone tries to look at for instance a certain month of posts on your blog
    • archive.php: this template is used when either category.php, author.php or date.php isn't there.
    • search.php: used when someone searches on your blog, a very important template to look at if you're concerned about usability, and whether people are able to find posts on your blog.
    • 404.php: Used when WordPress can't find a certain post or page, this is a very important template file to have!
  3. Is your theme widgetized?

    WordPress supports the use of widgets for your sidebar, this allows you to control what appears in your sidebar from the WordPress admin panel, without having to edit your theme. By now, every WordPress theme should support this, but I still encounter themes which do not support it.

    You can determine whether your WordPress theme is widgetized by opening the sidebar.php file in your theme folder, and checking whether the following code is in there somewhere: dynamic_sidebar('');. There could optionally be text in between those quotes, as long as the dynamic_sidebar part is there, your theme is widgetized.

    If your theme is not widgetized, Automattic has a great tutorial on how to do that.

  4. Does your theme have a search option?

    You wouldn't believe it, but there are WordPress themes that do not have a search box built in. Make sure yours does.

  5. Does your theme work in all browsers?

    Usually, themes come with a demo site. What you should do, is go to browsershots, and put the URL that's in the link to the demo site in to it. Then wait a while, and you'll get screenshots of all major browsers on all platforms, and you can check whether your theme works everywhere, or not.

    It's not the biggest of deals if it doesn't work in a "small" browser, but if it doesn't work on Internet Explorer 6 and 7, Firefox and Safari on all platforms, you should be thinking twice about whether this new theme is the best choice for your blog. After all, you don't want to exclude certain groups of people from reading your blog, do you?

  6. Is the theme's code valid?

    Many a theme author is more of a designer than a coder, and thus they sometimes hack around until it finally looks the way they want, without bothering to check whether the code they've written is actually valid HTML. If it's not, current or future browsers might have issues rendering the content correctly. You can check whether the code is valid by using the W3C's validator. Lorelle wrote an excellent article on the benefits of compliance.

  7. Check the outgoing links!

    A lot of theme authors will add a link to themselves in the footer of the theme, others might even add multiple links. Certain SEOs have gone as far as paying theme designers to build designs, and spreading those for free, just to be able to add links to their sites in the footer. Because of that, you need to check what your theme will have you link to.

    The best tool for this is Dave Naylor's Keyword Density tool, which provides you with a nice list of all links in your theme and their anchor text. It finds two different kinds of links, follow, and nofollow. Nofollow links are NOT counted by search engines, and thus won't affect your site in any way.

    Follow links are counted by the search engines though, and you should be aware of what you are linking too, as linking to spammy sites might get your own site penalized! Thus, if you're newly chosen theme is linking to any sites that look weird to you, or very commercial, see if you're allowed to remove those links, and if not, chose another theme!

  8. Can the theme handle pages?

    If you use pages in your layout, it's important to know whether your theme will automatically add links to them, and whether it can hold pages a few levels deep. You wouldn't be the first to "lose" some of your pages just by going to a new layout.

  9. Make sure your theme supports trackbacks

    People who blog about you, or your blog will try to automatically send trackbacks to you. To be able to do that, your site needs to have it's trackback information listed somewhere. This doesn't have to be visible though, all you have to make sure is that before the endwhile; in your single.php and page.php template files, there's a line like this:

    <!-- <?php trackback_rdf(); ?> -->
  10. How is your theme handling titles?

    You should check how your current theme is handling page titles in the file header.php. You can find it within the <title> HTML tags. If the title tag differs, you might want to check out why and what happens when you enable your new theme. Sometimes it's for the better (for instance because it turns around blog description and page / post title), but you have to make sure up front!

    It will probably look something like this:

    <title><?php bloginfo('name'); ?> <?php wp_title(); ?></title>

    If it does, you'll be a lot better off by changing it around to:

    <title><?php wp_title(); ?> <?php bloginfo('name'); ?></title>

    You can also chose to just do wp_title('');, and take care of all the titles with a plugin like Headspace2.

If your theme does all of this correctly, you should be quite ok. Good luck with your new theme, and if you have any tips on other things to check, please share in the comments!

Related posts

  1. WordPress SEO - The beginner's guide
  2. Using actions in your WordPress themes
  3. WordPress subpages going supplemental: the fix
  4. Speed up and clean up your WordPress!
  5. Blog Metrics 0.3: who's the best linkbaiter?

Want more WordPress tips?

You should subscribe to my WordPress Newsletter, as you'll get a whole lot more WordPress tips and tricks there! Also, subscribe to this blog right now with RSS, or daily or weekly emails!

39 Comments to “10 Checks to the Perfect WordPress theme”

  1. SEOAly

    SEOAly Sep 30th, 2008 at 20:02

    This post couldn't have been published at a better time, as I'm just contemplating making a theme change to one of my blogs. One quick question, though...you indicate in section 2 that you should make sure the new theme includes a "home.php" file. Does it make a difference whether that file is "home.php" or "index.php"? Just curious.

    I have already checked my current theme and found the <!-- --> missing from my "single.php" and "page.php" files. Thanks to your post, I have since fixed that. Thanks! :)

  2. Joost de Valk

    Joost de Valk Sep 30th, 2008 at 20:06 Delicious Digg StumbleUpon Twitter

    @SEOAly: well now they don't HAVE to be there, only consider what happens if your current theme has got it, and your new one doesn't, if your current one doesn't: no problem!

  3. Patrick K. O'Brien

    Patrick K. O'Brien Sep 30th, 2008 at 20:13

    Great checklist, Joost. I think the Thesis theme checks out okay, but you've give me a good list of things to look into. I'm going to go through your list tonight just in case I find anything I should tell Chris about before Thesis 1.2 get released. Thanks.

    P.S. Looking forward to hearing about your first day at the new job tomorrow. :-)

  4. Magnus Jepson

    Magnus Jepson Sep 30th, 2008 at 20:17

    Great post Joost as always !

  5. Joost de Valk

    Joost de Valk Sep 30th, 2008 at 20:28 Delicious Digg StumbleUpon Twitter

    @Patrick K. O'Brien: I've got a post coming up reviewing thesis :)

    @Magnus Jepson: Thx!

  6. SEOAly

    SEOAly Sep 30th, 2008 at 20:34

    @Joost de Valk: I've changed from themes using "index.php" to themes using "home.php" without any apparent issues in the past. Just curious as to your experience, since you mentioned the "home.php" file specifically in the post. :)

  7. filontheroad

    filontheroad Sep 30th, 2008 at 20:49

    Great Post Joost. WVEry helpful since i am redesigning my website and just started with a new theme. Thanks.

  8. Joost de Valk

    Joost de Valk Sep 30th, 2008 at 20:54 Delicious Digg StumbleUpon Twitter

    @SEOAly: good to hear that :) your mileage may differ though :)

    @filontheroad: glad to be of service!

  9. SEOidiot

    SEOidiot Sep 30th, 2008 at 21:05

    Check the theme carefully and never ever ever ever download from a 'free' themes site found on a google adwords ad. They are all compromised to insert links, see That story tells you what can happen if you dont!

  10. SEOAly

    SEOAly Sep 30th, 2008 at 22:01

    @Joost de Valk: Thanks again for the post! It may not have been an issue before, but armed with this knowledge I'll be better equipped to troubleshoot future issues. Kudos! Much appreciated. Rae is right...you really ARE a WordPress guru. ;)

  11. Joost de Valk

    Joost de Valk Sep 30th, 2008 at 22:02 Delicious Digg StumbleUpon Twitter

    @SEOidiot: Thanks, very true!

    @SEOAly: as said: my pleasure :)

  12. ...paul

    ...paul Sep 30th, 2008 at 22:18

    @Joost de Valk: I shall be interested to read that post; I've been contemplating moving to Thesis recently -- added to feed reader so I don't miss it.

    A great post, very helpful. I shall bear what you say in mind as I peruse a few themes. Thank you.

  13. pickupjojo

    pickupjojo Sep 30th, 2008 at 23:46

    Oh, I don't have home.php, date.php, author.php and category.php!
    I think I should improve my (very own) theme for search and archives.

    Thanks for this very nice post!

  14. Ryan

    Ryan Oct 1st, 2008 at 00:31

    The template files issue is not usually important as long as the user knows how to use conditional statements. Most themes only have minor differences between the various template files anyway. Personally I don't like having lots of template files as it makes altering the theme annoying as you have to go edit a whole bunch of files just to make simple changes. My own themes usually only have one file, index.php. My next theme release for the public will have a full suite of template files though as some people prefer it that way, or maybe I'll give the option of all in one file, or all seperate ... I don't know, I'll decide later :)

  15. Mitch

    Mitch Oct 1st, 2008 at 02:48

    I'm wishing I had done more checking before I just switched to my new theme, but it's pretty good. It looks horrible in Opera, but I guess I can deal with that. There are a couple of things that I still haven't figured out, and I build websites so I'm kind of embarrassed I can't figure it out, but I'll get there eventually.

  16. Stuart | Design Meme

    Stuart | Design Meme Oct 1st, 2008 at 13:59

    I'm working on an updated theme, so this is a handy reminder of things not to forget. :)

  17. Mark

    Mark Oct 1st, 2008 at 14:09

    Great post, and extremely helpful and timely :) Thanks for all the pointers!

  18. Mikael Rieck

    Mikael Rieck Oct 2nd, 2008 at 07:55

    I wish I had read this post before changing my theme (I know the post wasn't written but anyway....). I'm now left with two choices. 1) change to a new theme or 2) create some heavy modifications. :(

  19. yvonh

    yvonh Oct 2nd, 2008 at 09:26

    Very useful post ! Seems you read in my mind because i was wondering how to do by myself a wp theme, thanks !

  20. Benji

    Benji Oct 2nd, 2008 at 12:36

    Hey, I love your weblog design it is the best i have seen. Which template did you use? Or if you dont use a template which one can you recommend? Most templates look very boring and cheesy.
    I want to have such a great functionality.
    THx

  21. Kevin Day

    Kevin Day Oct 2nd, 2008 at 16:00

    Good post. It's also a good checklist of things to keep in mind for theme developers to remember.

  22. Referáty

    Referáty Oct 2nd, 2008 at 17:45

    Hey Joost it is really cool article. Very useful for developers :)

  23. HatlessSEO

    HatlessSEO Oct 3rd, 2008 at 16:46

    @Joost de Valk: Thank you for this fantastic post! I only have one question: You have a great post on SEO-ing your blog, but do you have a post on how to build a SEO theme? It seems that free SEO Wordpress Themes are the rage these days. See here and here to see what I am talking about. I am just wondering what makes these themes naturally SEO while other themes are not. Any ideas on the subject would be greatly appreciated. ~Paul

  24. christian

    christian Oct 5th, 2008 at 18:05

    Precisamente en este momento estoy en la fase de planeación de un theme. Este post me ha hecho considerar puntos que desconocía. Saludos

  25. Amit

    Amit Oct 6th, 2008 at 09:30

    Very nice post, I am slowly falling in love with your blog and your wordpress plugins.
    Good pointers there.

  26. top 10

    top 10 Oct 8th, 2008 at 09:58

    One more thing to watch, especially on Brian Gardner's Revolution Themes, is the language meta. On quite a few of his themes he has the language meta set to 'en' and also 'sv' .. ?

  27. seosurvivor

    seosurvivor Oct 8th, 2008 at 17:30

    Thank you Joost!

    I haven't checked my RSS for a while, and I was glad to see this post. Appreciate the help :)

  28. Julius Kuhn-Regnier

    Julius Kuhn-Regnier Oct 10th, 2008 at 11:40

    Great post with some really nice tips. I didn't know most of this myself.

  29. Logo

    Logo Oct 19th, 2008 at 21:09

    Nice post, man, more like this please

  30. Richard Spencer Davies

    Richard Spencer Davies Oct 23rd, 2008 at 15:53

    Cheers for this! 10 things to tick off when I design my next template.

    Particuarly like snippet 10, devil is in the details!

  31. Soy SEO

    Soy SEO Oct 26th, 2008 at 17:11

    Onlye 10 Checks ? we want more !!
    Thanks

  32. Soy SEO

    Soy SEO Oct 26th, 2008 at 17:12

    Only 10 Checks ? we want more !!
    Thanks

  33. ck

    ck Oct 27th, 2008 at 11:25

    re: #4: Why do WP theme designers have to include a search option as part of the theme? You can easily include search in a widget. This is handy if you want to pimp your search box with Ajax elements of whatever.

    @SEOaly: On a theme I am rejigging there was only an index.php. I added a home.php so that my home page could have slight differences from my inside pages - like a featured content gallery. It wasn't hard to do. I simply copied index.php, renamed it home.php and then added the code for the gallery there.

    Great post though!

  34. Clare

    Clare Oct 29th, 2008 at 15:12

    Great post - I change themes quite often and am never sure what to look for. In fact just recently a new theme broke by WP stats and a google search revealed the footer hook was missing from the theme. Now I can see what else I need to check for!

    Thanks

  35. erick

    erick Nov 2nd, 2008 at 02:22

    Nice information !!! I'm still looking for many sources about wordpress .Thanks

  36. Deryk Wenaus

    Deryk Wenaus Nov 6th, 2008 at 20:41

    great post, I have learned many of these things by trial and error. I see a theme and think - wow - what a great looking theme. but as I customize I realize that it is just a hack.

    One more tip I might suggest to add, is to look at the quality of the CSS file, if it is short and easy to understand, great. however if it is very very long and cryptic, it will be very hard to customize.

    thanks for the great post.

  37. UTogger

    UTogger Nov 15th, 2008 at 03:45

    Thanks for the tips. My first go at blogging hasn't been very smooth...

  38. Sara

    Sara Nov 18th, 2008 at 18:42

    Thanks...good post. I always hav trouble to change my themes

  39. Mikael Rieck

    Mikael Rieck Nov 18th, 2008 at 23:50

    Joost, this is a great list for checking a new theme. However one might run into problems if it is a premium theme where you don't have access to the files. Secondly I've just realized that there are still designers creating themes without using h1 and h2 tags (which I find very strange).

    Furthermore I've also recently found that a lot of plugins don't work (i.e. the no-follow / SEO plugins) if the theme uses "wp-list_cats" and "get_archives" as you mention in: http://yoast.com/wordpress/meta-robots-wordpress-plugin/

    I know that these things will mess up the "10" things list but they're still important don't you think?

    P.S. And it's not because I've only found second hand designers *lol* (well... you might argue about that...)

25 Trackbacks and Pingbacks

  1. Wordpress Theme 10 Checks to Perfection
  2. 10 Checks to the Perfect WP Theme :: WPLover
  3. Link-Sunday: 12 Affiliate Tricks, das perfekte WP-Theme, 11 Plugins, 15.000 Icons, 15 Kurze und Dubai - Teil, Wordpress, Icons, Theme, Wege, Bilder, Checkliste, Valk - Geldkrieg
  4. 10 saker att tänka på när du ska välja WordPress tema för din blogg |
  5. 10 причин считать вашу тему для WordPress идеальной | Всё для WordPress (ВордПресс). Модули, шаблоны (скины) для Wordpress.
  6. Tips and hacks for creating your own Wordpress theme - Freelance Web Design Belfast Northern Ireland Lee Munroe
  7. Planeta WordPress » Blog Archive » Entradas en las blogosferas.88
  8. WordPress News & Notes - October 9, 2008
  9. WordPress News & Notes - October 9, 2008 | Radyoplay IP-TV Technologie
  10. WordPress News &amp; Notes - October 9, 2008 | Wordpress Blog Services
  11. 10 Punkte zum perfekten WordPress Theme - bueltge.de [by:ltge.de]
  12. WordPress Websites » 10 Checks to the Perfect WordPress Theme
  13. 10 Punkte für das perfekte WordPress Theme
  14. WordPress News & Notes - October 10, 2008 | How To WordPress
  15. The NMP Network : WordPress News For The Week Of October 10th 2008
  16. Flexibility - WordPress Design Made Simple |
  17. Posts You Can’t Afford To Miss
  18. There’s a Blog in my Soup - Resource Corner: Check out the Encyclopedia of Wordpress Template Tags
  19. Vote for this article at blogengage.com
  20. Added by a PAL to FAQ PAL
  21. What’s new in Wordpress land – Bridge Vision Web Ministries | You have the vision, we build the bridge.
  22. 10 Checks to the Perfect WordPress theme - WP Engineer
  23. Creating the Perfect WordPress Theme | WordPress Hacks Log
  24. Random Acts of Linkage #84 : Subversive Influence
  25. Kunsten at finde et SEO optimeret Wordpress Theme
Free Google Traffic
WooThemes
SEO Book Tools
SearchEngineWatch
Pepperjam
Directory Journal
Hosting by:
Hosted by MediaTemple Grid Services