WordPress SEO theme guidelines

It seems every premium WordPress theme these days calls itself “SEO-friendly”. They’re usually not. So, I thought I’d lay down some WordPress SEO theme “rules” or “guidelines”. These guidelines will consist of WordPress SEO theme do’s and don’ts, starting out with the don’ts:

WordPress SEO theme don’ts

  1. Put the site’s name first in the title tag.
    The title tag should be post title – site title or a variation on that, but the only variation you do not want in a WordPress SEO theme is the exact opposite: site title – post title.
  2. Add a static meta description to pages.
    I see this so often now: people complain that my WP SEO plugin doesn’t work because the meta description isn’t showing, but in fact, their theme contains a static meta description that is the same on each bloody page.
  3. Don’t add static robots meta tags or anything else that’ll hamper search engines.
    Same as above, please don’t add meta robots tags, “index,follow” is what Google will do by default and if you include it in your theme statically, a user cannot use a plugin to make a page un-indexable, for instance.
  4. Use the H1 for the logo, on every page.
    The H1 should be used for the most important heading on the page. In most cases, that is the article title, not the logo, on every page but the homepage. There’s a lot more to say about headings, which I’ve done in my post The heading structure for your blog.
  5. Don’t hide links in the theme.
    This one might be obvious but still: don’t hide any links in your theme that don’t belong there. One link to you as the theme creator: ok, anything else: nonsense.
  6. Have sidebars above the content in your code.
    In an ideal world, the first content in the HTML is the content of the page, followed by related navigation, then sidebars, then site navigation, then utilities like sitemaps and privacy statements. Having sidebars above the main content of a page though is a straight violation of the WordPress SEO theme guidelines.

WordPress SEO theme do’s

  1. Allow taxonomy descriptions to be shown.
    In most themes, taxonomy archives are boring as hell. They have no unique content whatsoever and just contain the latest posts for that taxonomy. WordPress has a core feature that allows for a description of a taxonomy though, and a good WordPress SEO theme should allow the user to display that description, topped by an H1 with the taxonomy title in it.
  2. Show excerpts on archives.
    Archive pages with full-length posts are not really any good for SEO, doing so on your front page for the last few posts might have some usability benefit, allowing users who come to your homepage to read posts immediately, for archives that benefit doesn’t outweigh the SEO.
  3. Allow for breadcrumbs.
    Most SEO’s these days will tell you breadcrumbs are a nice and easy way to create a good internal linking structure (provided the user uses the taxonomies etc. right, of course) so embedding breadcrumbs is important. Making sure they work with custom taxonomies is important too!
  4. Use the post title as the first anchor text.
    Don’t use “read more” or “continue reading” as the first anchor text towards a post, not in the body, not in widgets, nowhere. Just use the post title.
  5. Clean, cleaner, cleanest.
    Your theme code should be as clean as humanly possible, don’t overdo it on divs, etc. for styling, just keep it simple and solid, to allow for fast page loads and easy crawling.

Unneeded functionality

I’ve said it before and I’ll say it again: there’s no need to put SEO functionality for titles and descriptions in your theme. There are a couple of very good plugins that can do that better than your theme ever can. While I wouldn’t distract any points for it, I’d rather you focus on great code for your theme.

Read more: What is a headless CMS and what does it mean for SEO? »

Coming up next!

60 Responses to WordPress SEO theme guidelines

  1. Amy
    Amy  • 13 years ago

    Yoast, is it possible to have a wordpress theme that’s originally poorly optimized (focused more on design), but improve it simply by installing your wordpress SEO plugin? Or do you need to at least start with a decent SEO theme?

  2. The Nerdy Nurse
    The Nerdy Nurse  • 13 years ago

    Thanks for for the fantastic plugin. I wish it was preloaded with defaults though because I did have to do some googling to figure that out.

  3. enursa
    enursa  • 13 years ago

    You’re absolutely right. Thanks for share

  4. bambi vincent
    bambi vincent  • 13 years ago

    Yoast, help! “Generate SEO title” is creating page titles with smashed-together words, i.e. Thiefhunters in ParadiseThiefhunters in Paradise » or,
    High and Dry on the Streets of Elsewhere

    Notice “ParadiseThiefhunters”.

    Is it something I’ve done wrong?

  5. David Law
    David Law  • 13 years ago

    Not a bad start for a list of do’s and don’ts.

    You missed a few.

    Don’t add rel=”nofollow” to ANY links, nofollow deletes link benefit.

    Don’t use headers for sidebar headings, why so many theme developers use H2 and H3 for menu headings and call the theme SEO’d is scary.

    Don’t link back to Home with anchor text Home, anchor text is so important don’t waste it.

    Don’t add social media links that pass link benefit to sites like Twitter and Facebook (such a waste of link benefit). There’s plenty of javascript based plugins for social media ‘linking’. Speaking of which are you using a plugin for the iFrame based social media links at the bottom of posts or is that custom?

    Do use headers with SEO in mind, for example use a lower header (H3 for example) to reuse the title of a post for the Respond to comments heading. but, don’t use too many headers within the theme, leave most post/static page level header use for the user to add manually.

    Do add support for useful plugins, like the Hikari Comment Title plugin (adds titles to comments), related posts plugins, etc…

    Do remove rel=”nofollow” from comment author links, nofollow deletes link benefit.


    • Junix
      Junix  • 13 years ago

      Do remove rel=”nofollow” from comment author links, nofollow deletes link benefit.

      I would never do that to my site or any WordPress site that I create. It’ll just make the website SPAM friendly and the content getting destroyed by unwanted/unrelated comments.

      • David Law
        David Law  • 13 years ago

        It is possible to change your theme so the links are no longer text links so they don’t pass any link benefit (looks the same to users).

        I use form buttons with styling to make them match the text links on my sites for comment author links, have that code running on sites receiving around 50,000 visitors a day and there’s no increase in SPAM comments because most SPAM comments are automated. On some sites I have the ability for URLs to be added by commenter’s turned off (no benefit to posting a comment with a author URL) and it makes no difference to the amount of SPAM because SPAM is automated.

        Since nofollow deletes link benefit do you really want hundreds of nofollow links from your site deleting your link benefit?


        • Junix
          Junix  • 13 years ago

          I’ve heard about that idea last 2008. It was even proposed to some bloggers including mine to modify our themes comment templates and remove the nofollow attribute. I think they even made a plugin for it for the normal users. Yet still months later, people then started talking that it was a bad idea, their websites have been flooded with so much spam etc.

          So for me, doing that will always be a bad option =)

          • David Law
            David Law  • 13 years ago

            You are referring to using dofollow plugins that remove the rel=”nofollow” attribute from comment author links.

            I don’t use dofollow plugins for comment author links on my sites. I’ve changed the themes code so the comment author links are no longer recognised as text links, they are form buttons that act like text links, they are clickable like a text links and through styling look like text links.

            The output code is something like this:

            <form class="formcss" method="post" action="http //www example.com/"><div><button class="buttoncss" title="Title">Anchor Text</button></div></form>

            Broke the URL above so WordPress wouldn’t render it as a clickable link.

            The end result is a site that allows commenter’s to add links back to their sites, but Google etc… doesn’t recognise them as links and so there is no SEO benefit (to a comment spammer) or loss (to the site owner) associated with the link.

            The above code is currently used on thousands of domains successfully. I must have 100,000 comments by now using that code.

            Use this code for the WordPress login links as well, I probably have well over a million pages indexed with this code and there’s thousands of other WordPress users using this code as well, must be on tens of millions of pages (it works).

            The benefit of this sort of technique over using the default WordPress rel=”nofollow” attributes for comment author links is you don’t loose link benefit from the nofollow links.

            Like Joost I was an early adopter of rel=”nofollow”, before Google adopted rel=”nofollow” I would use javascript on affiliate links etc… to sculpt PR. Nofollow was perfect for WordPress comments, the original use of nofollow was the equivalent of the link not existing, it passed no link benefit, the anchor text was ignored and the PR that would have gone through the nofollow links would instead flow through the other links.

            When nofollow was adopted I switch to rel=”nofollow” wholesale only for Google to announce it changed how it treats nofollow a few years later (announced by Matt Cutt’s on his blog http://www.mattcutts.com/blog/pagerank-sculpting/). Webmasters used nofollow to sculpt PR and Google apparently didn’t like it, but this also meant it’s use on comment links damages a WordPress sites rankings. Years later I’m still removing rel=”nofollow” links from my sites so they don’t delete link benefit!

            Joost doesn’t agree that the link benefit that would flow through a rel=”nofollow” link is deleted, so as this is his site I’ll leave this discussion as we’ll just be covering the same points over and over again which isn’t productive.


        • Joost de Valk

          I’m (again) using nofollow for what it was intended for: links in comments and other untrusted / unverified links. While the majority of commenters on this blog are of course trusted, there’s quite a few as well who think they can drop their clients links or other more evil stuff, so I’m not going to be removing nofollow anytime soon.

          Do understand, I was one of the first proponents for pagerank sculpting with nofollow (which back then worked awesomely) and used it heavily, but I don’t anymore.

          As in “deleting your link benefit”, I don’t think you know what you say, there’s no such thing. Of course a few good outbound links will help, but there’s no way links from comments would help you rank in any way shape or form.

        • Joost de Valk

          David, let’s just respectfully say I don’t think we’ll ever agree on this.

          • David Law
            David Law  • 13 years ago

            I would be curious as to why you still believe rel=”nofollow” doesn’t delete link benefit when Google employees (you must have read the Matt Cutts article on PageRank sculpting) tells us it does delete link benefit? Maybe I’m missing some inside knowledge (I like to be proved wrong).

            Real shame we got off to a bad start, you clearly have a lot of programming ability.


  6. JJ
    JJ  • 13 years ago

    Please help a Newbie this weekend?

    I have installed YoastSEO and want to use the export your settings feature. Unfortunately I am getting the following error:
    Warning: chdir() [function.chdir]: No such file or directory (errno 2) in /home/xyz/public_html/xyz.com/wp-content/plugins/wordpress-seo/inc/wpseo-non-ajax-functions.php on line 93

    Any advice much appreciated.

  7. Latief
    Latief  • 13 years ago

    Your explanation is very simple and help me about the themes that said they are very good with SEO. I always believe that your contents is the important thing to get better rank with search engines. Thanks for the article.

  8. Cody Swann
    Cody Swann  • 13 years ago

    This is the same thing that design agencies have been doing for years.

    They sell “SEO Services” with their design and know absolutely nothing about SEO and prey on ignorant clients, who then get turned off by SEO.

    So frustrating

  9. Alex
    Alex  • 13 years ago

    Yeah I’m totally fed up with “SEO” themes which are not! And I’m another user of “Elegant Themes” who is fed up of their graphics heavy SEO light approach”

    But really with these “Do” and “Don’t” lists you really should publish even a small list of themes which are SEO friendly!

    Or are you just trying to tease us?

    Heck Joost you’re succeeding!


  10. Jean
    Jean  • 13 years ago

    Excellent stuff as usual, will be implementing these tips in our next projects. Thanks!

  11. JJ
    JJ  • 13 years ago

    Now I have YOAST SEO plugin together with askimet can anyone please recommend the best WP security plugin – thanks

    • Alex
      Alex  • 13 years ago

      Hey JJ

      I’m not sure there is one best security plugin. Here is what I use and all are free and available via your own plugin upload in your admin area

      (1) WP DB BACKUP – without a good backup your blo
      g is toast sooner or later. This plugin emails you a backup every week
      (2) login lockdown – to resist hackers
      (3) bad behavior and
      (4) wp firewall 2 – resisiting various code attackes

      and part of security is keeping your installation up to date.


  12. Jarret
    Jarret  • 13 years ago

    I’ve often read that breadcrumbs are good for SEO and internal linking–though they don’t always look attractive.

    With the Google Panda update, I’ve decided to reduce my site’s internal dupe (duplicate content)–by adding no index tags to category and tag archives. Since breadcrumbs link to categories (which are now no indexed), it seems like they’ve lost their purpose for internal linking. Thoughts?

  13. JJ
    JJ  • 13 years ago

    Chris is there a fix for this? I use a lot of twenty ten v1.2 – I am assuming h1 there is utilised by the logo also?

    It would be great if we could have an initial list of themes to positively avoid; it is tough being a newbie.

    If you guys have not seen it Joost has posted an excellent video with ppt slides on SEO. As a newbie this has been hugely valuable to me – you can see it on this site url + wordpress-seo-video. 52 mins long filmed at A4UExpo London. This video gives you a chance to get closer to Joost and understand his style and where he is coming from. Priceless! I have ditched the old WP SEO plugin and am now using YOAST.

    Please Please Joost tell us which WP theme is best for newbies to consider when starting out with your excellent plugin?

  14. Chris Aprea
    Chris Aprea  • 13 years ago

    The default WordPress twenty eleven theme uses h1 for their main logo.

  15. Brandon
    Brandon  • 13 years ago

    Great idea. I agree with Mark; themes are often overlooked for SEO potential. People need to combine a good theme with other tools to maximize effect

  16. Mark "Chief Alchemist" Simchock
    Mark "Chief Alchemist" Simchock  • 13 years ago

    Good stuff. Some nearly fatal, some minor but helpful. All 100% Joost genius ;) (Yes, I saw your bit above.)

    That said – and maybe it’s already understood – but I think it’s worth mentioning that the theme is just a tool. Yes, it should have certain capabilities. But there’s also some responsibility on the user’s part to do their home work, learn the basics, etc. That is, to know how to use the tool properly.

    Obviously, not so much directed at this community as much as some who might stumble through. Maybe it’s just me but I sometimes find people (read: clients) expecting maximum SEO bang while not being willing to invest the time/effort to make that happen. In other words, it’s not always the theme’s fault.

    Thanks again. Always a pleasure.

  17. faheem
    faheem  • 13 years ago

    I would also like to know rating of theme so that in future I can decide to use a paid one or a free one.

  18. Gary Kirwan
    Gary Kirwan  • 13 years ago

    I would love to see your rating of my fav paid for drag and drop theme – Headway, and my fav free wordpress theme – Weaver

    • Michael Borger
      Michael Borger  • 13 years ago

      I use Weaver in multiple sites as well.

  19. Fraximus
    Fraximus  • 13 years ago

    You should be consistent in your use of the word “Don’t” at the beginning of each bullet in the “Don’t” list. Leaving it out on some makes it look like some are Dos and some Don’ts. Or leave it off all and just put a prominent Don’t header at the top of the list. Either way it needs clarification as I was quickly scanning the article and didn’t get it quickly. Or maybe this was an intentional speedbump to slow me down and get me to read more carefully, in which case you are a genius, carry on.

    • Mark "Chief Alchemist" Simchock
      Mark "Chief Alchemist" Simchock  • 13 years ago

      I have to say that I agree with Fraximus. I found myself reading the first bit as Dos and then having to think the opposite. At the end of long day that’s not always easy :)

      But it’s not just this list. Don’ts in general – if there’s a simple equivalent Do – are always awkward.

      • Sander
        Sander  • 13 years ago

        You should be taking this stuff serious and don’t use it as an late afternoon snack read ;-)

    • Joost de Valk

      Please, always start by considering me a genius ;)

      • Mark
        Mark  • 13 years ago

        Hi Joast,

        Alright! Here you go… Yes you ARE a genius! But I think most people here in the Netherlands and frankly every where I read on the internet about SEO; in the states, Uk, well just everywere, know that already. They are all talking about you and recommending you.

        I love the idea that you are offering the service of letting people test their theme by you.

        But, if you wouldn’t mind me asking, can you name me a couple of themes YOU would recommend?

        Because, when it comes to SEO, I would like to rely on your plugins. Not the in-built SEO functionality from any theme.

        I just like the idea of simple, clean and fast loading themes as you were talking about. I don’t need fancy themes which are ‘capable’ of SEO. I just need your plugin for that.

        But, can you name a few simple, clean and fast loading that you like yourself? Of course, I have searched Google. But frankly, anybody can tell me this or that is a clean theme and it would make sense to me because I am not technical and have no way to check. But your opinion matters. You actually do know what you are talking about.

        I really hope you are willing to mention a few…

  20. Jane Hooper
    Jane Hooper  • 13 years ago

    Excellent article – I will circulate

  21. Lawrence
    Lawrence  • 13 years ago

    What do you think about woothemes, especially Fresh News? They claim to have some integration with Yoast SEO WordPress plugin :)

  22. Ozh
    Ozh  • 13 years ago

    Joost, thoughts on Twenty Ten & Twenty Eleven?

  23. Ben Johnston
    Ben Johnston  • 13 years ago

    Hi Joost,

    Great article – I wish more designers took these things into account.

  24. Bryan
    Bryan  • 13 years ago

    Good information. I have my site logo (which is my main keyword) in H1 tags on every page, which means I have two H1’s on article pages. :(

    I already have custom header code, looks like I need to tweak it so the logo is H1 only on the front page. Good thing I like hacking code. :D

  25. Peter
    Peter  • 13 years ago

    I use your SEO plug-in and love it! Do you have a list of themes compatible with it? I use Thesis and they don’t seem to play well together at times.

    • zimbrul
      zimbrul  • 13 years ago

      Thesis has got some built in SEO capability. Most of the themes are comatible vit the SEO plugin but I came across some that are not.
      But I think the article refers to those themes that are not well coded…

  26. zimbrul
    zimbrul  • 13 years ago

    As said in the past I’m a fan of your WordPress SEO Plugin and I’d like to use it as much as possible, yet some themes are playing up when using the plugin. I’d like to know what do you think about Elegant Themes? I’m looking to buy membership and I’m interested to find out if they do their coding right.
    Many thanks!

    • Nishikawa
      Nishikawa  • 13 years ago

      I just read this article after struggling with ‘basic’ seo issues for the last couple of days with, you guessed it, ‘ElegantThemes’. Out of all their 64 themes, only 8 of them have the h1 tag functionality believe it or not! I am a member and although they put out fantastic looking themes, sadly I find their seo useability poor as they put a heavy emphasis non seo blog post presentation. Of course I think the same goes for many good themes out there and unfortunately seo plugins like Yoast seo can do little against such coded themes. By the way, I never leave home without my Yoast seo plugin, I think it is the best one out there!

      • doctorEQ
        doctorEQ  • 13 years ago

        Anyone? Can someone elaborate on what h1 functionality is and how to tell if a particular theme has it? (Or, list the ET themes that do?)

        • Nishikawa
          Nishikawa  • 13 years ago

          As for the “h1 functionality” and seo, It is one of the
          three most important factors in on-page seo in terms of content relevance for searchable content. This does not include linking which is often classified as “off-page”
          seo. And with this being said, certain seo factors can be
          more important than others for ranking purpose. For
          example: if your site has no H1 tag but your site has really interesting content and “somehow” you receive many
          visitors to your site, I understand Google does use these these signals for ranking purposes. But to what extent is a a little unclear. I think this matters if you can get thousands of visitors or more, then this becomes an issue of putting the cart before the horse in terms of seo for theme developers. But we are interested in essential and basic seo for our sites and it is unfortunate that many developers who put out nice looking themes with useful features also obscure, overlook or just trample over WordPress seo functionality. Correct me if I am wrong Yoast,
          about the seo part. It is a subject that I have passion in
          as bringing together the mix of excellent seo, content value and engaging site design can be quite the challenge.

        • Nishikawa
          Nishikawa  • 13 years ago

          One of the easiest ways is to do this if you are using FF
          is to right click on a website page, then go down the right click menu and click “view page source”, then click on edit in the menu bar of the new pop up box that contains the source code, then in the edit menu click on “find”, then you will see a little search box appear in the lower left hand bottom of the source code window. Simply put H1 in the search box and you can toggle through highlighted instances of the “H1” tag remnant in the page source code.

          You can usually find this tag near the top of a pages source code, but with some heavily coded themes and designs the tag may be quite obscured or non existent.

      • doctorEQ
        doctorEQ  • 13 years ago

        As a total noob, I am wondering how to tell if the Elegant Theme I have put so much into is one of the 8. Or, how can one tell if it has H1 functionality? Something tells me I am glad to have found Joost, too!

  27. Esteve
    Esteve  • 13 years ago

    Just great idea Joost, it is very often that after buying a theme I find that is going to be a nightmare to un-use it for SEO purposes (functionality for SEO must go outside the theme!!).

  28. Andrea
    Andrea  • 13 years ago

    Thanks for your useful advices. Could you do a rating for the twentyten official wordpress theme? So many users (like me) starts their theme from this. What do you think?

  29. Eric
    Eric  • 13 years ago

    Good article! I know there’s not too long ago your old theme used the H1 for the logo.

  30. Gautam A D
    Gautam A D  • 13 years ago

    great post! that static meta description was on my header.php and i bloody didn’t like it. H1 for every page is reallt a very good addition. i used to see in the Linkdex that there were no Heading tags in my page..now i m gonna implement it! i m also making use of your awesome yoast breadcrumbs!!! they are seriously very cool! thanx for the suggestions…and about ur plugin..it is just mindblowing! :) :)

  31. Nathan Rice
    Nathan Rice  • 13 years ago

    Sounds like Genesis is batting 1.000 on you list. Good stuff!

    • Andy Beard
      Andy Beard  • 13 years ago

      Did Genesis ever fix that abuse of the canonical tag (by default) I challenged Greg over on the forums?

      I kindly pointed out the issue as I was worried Greg’s “advanced” code would end up by default on 20k+ blogs, and despite spending considerable time explaining why what he was doing by default was idiotic (for default) he ignored the issue.

      Due to that issue by default Genesis bats 0/5 on crawlability… but Greg doesn’t believe Google crawls websites so wouldn’t care.

      • Joost de Valk

        I don’t think it’s on by default (assuming you mean the canonical for paginated pages in archives to page 1 of that archive, which I agree is 100% stupid).

    • walidmrealtor
      walidmrealtor  • 13 years ago

      Sweet! That’s good to know :)

    • Alejandro Reyes
      Alejandro Reyes  • 13 years ago

      Hey there Nathan, I’m actually using a Genesis theme & I’m having trouble with the plugin. My meta descriptions aren’t showing up in Google, Yahoo, or Bing.

      I’ve seen a few posts online as well that a few others are having the same issues. Meta Desc works on their post pages, just not their homepages.

      Know why? If I was a coder I’d try to fix it but unfortunately I’m not.

      Any help? Thanks.

    • Joost de Valk

      You’re definitely doing something right, might be the fact that you based it on a solid theme to start with ;)

  32. Christoph
    Christoph  • 13 years ago

    Good article. I might not be the author of a theme, yet would be interested in your rating on the Arras theme, as I use it on many sites like wellness-angebot.at. Maybe you can use that for your first article or get back to me via E-Mail.

  33. Christoph
    Christoph  • 13 years ago

    Good article. I might not be the author of a theme, yet would be interested in your rating on the Arras theme, as I use it on many sites like wellness-angebot.at. Maybe you can use that for your first article or get back to me via E-Mail.