This post is for those using the (otherwise great) Thesis WordPress theme. If you don’t run WordPress + Thesis, then this post may not apply to you personally, but it might make for an interesting read nonetheless, especially if you’re into WordPress and SEO (yes, this is going to get a bit technical along the way, but I did my best to keep things simple).
As you might have noticed, this WordPress blog uses the Thesis theme from DIY Themes (no, I’m not an affiliate). Thesis is really an awesome theme: robust, well-thought out, loaded with cool features and easy-to-use design options, and good built-in search engine optimization that makes it a first choice if you’re into SEO, or you just want to be able to customize your blog’s appearance without having to dive into someone else’s code. For example, when writing a new post, with Thesis it’s really easy to control what goes into the <h1> heading tag, what appears in the page <title> tag, and what on the post URL (this post is a nice example): very neat. Such features are in fact so sweet that the Thesis theme fame spread like wildfire throughout the SEO blogging community, especially since SEO superstars such as Graywolf endorsed it (no offense, Michael, but I’m nofollowing that link since you are an affiliate), and after Matt Cutts switched his WordPress blog to Thesis after years of using a boring greenish theme, thus becoming its number one testimonial.
Being an SEO consultant (and spare-time blogger), the choice was easy for me: around the end of May this year I purchased a Thesis Developer’s License and have since then deployed Thesis on three different sites, including this one, to my great satisfaction.
The issue
Soon after installing and configuring Thesis on this blog, I discovered what I would call a bug: if you check the checkboxes under “Thesis Options > Add Noindex to Archive Pages” (that’s one of the two cool admin panels that come built-in with Thesis), the following meta tag is added to archive pages (such as tag, category, or date-based archive pages):
<meta name="robots" content="noindex, nofollow" />
From an SEO point of view, a robots meta tag with “noindex, nofollow” equals three things:
- noindex = “I don’t want this page to appear in search results”;
- nofollow = “I don’t want search engines to follow (crawl) the links on this page”;
- nofollow = “I don’t want any link juice to flow from this page to the other pages it links to”.
Why is that bad?
It’s bad for two main reasons: first of all, by not letting any “link juice” (i.e., the PageRank and anchor text awesomeness that come with every crawlable link) flow through your archive pages, your posts will not benefit from the links on those pages: regular users will still be able to reach your posts through those links, but search engines won’t. The second reason is that the internal PageRank distribution of your blog as a whole will suffer from the fact that the nofollow attribute prevents archive pages from flowing back the link juice they get from the rest of your site –and that’s quite a lot of juice, since archive pages typically have site-wide links on WordPress blogs! That leads to a worst-case scenario in which large blogs (with a large number of posts) might see older posts lose their rankings over time, or even disappear from the search engines’ indexes (yes, you read that right: I don’t want to sound too alarmistic, but that is one of the possible long-term consequences of using “nofollow” in the wrong places).
The funny thing is that Graywolf, and even Matt Cutts himself, (maybe unknowingly?) have a “nofollow” on their blog archive pages! (Don’t believe my word? Go check for yourself.)
Why is that a bug?
It’s a bug because the Thesis Options panel doesn’t tell you that by selecting the “Add Noindex to Archive Pages” options you’ll also get a “nofollow”. Take a look:

See? “Nofollow” isn’t even mentioned, but if you look into the Thesis source code, you’ll see that it’s actually hardcoded: very sneaky! If it’s not a bug, it’s bad design. (Oh, by the way. “Noindex” is not a “tag”; it’s one of the possible values for the “content” attribute of the robots meta tag –just to get some basic terminology straight.)
Shouldn’t DIY Themes fix it?
You bet they should! In fact, I think they should have fixed it already: I reported the issue to the folks at DIY back in mid-June, providing lots of detail on why it should be fixed ASAP (here’s a link to my original post). A DIY Themes staff member replied telling me that Chris Pearson (the author of Thesis) had said “not a bug”, and my report was filed as a “feature request” [sic]. That was at the time of Thesis 1.5.1. Today I upgraded my blog to Thesis 1.6 (released on October 27), and noticing the bug was still there feature was still missing, I decided to do this post.
Now, I really hope Chris reads this post and thinks twice. In the meantime, here’s what you can do to get your link juices flowing again.
How do I fix it?
I provided instructions on how to fix the issue in this comment on Matt Cutts’ blog on June 16. Here’s my “quick’n'dirty” fix again:
In file \lib\classes\head.php, find the following code (occurring twice, at lines 35 and 38):
$meta['robots'] = '<meta name="robots" content="noindex, nofollow" />';
and replace it with:
$meta['robots'] = '<meta name="robots" content="noindex, follow" />';
or simply with the shorter and 100%-equivalent:
$meta['robots'] = '<meta name="robots" content="noindex" />';
Pretty easy, wasn’t it? The bad part is that the aforementioned hack is not future-proof: the next time you upgrade your Thesis, that file will get overwritten by the new theme file, so you’ll have to (remember to) edit it again. And again. Forever. Or until Chris Pearson decides to fix it.
A final word to fellow Thesis developers/hackers: if you can think of a Better Way To Do It that does not require editing the theme files (e.g., via WP hooks, I dunno), please drop it in the comments. Thanks
Update! The World’s greatest SEO picked up my call and showed The Right Way to set custom robots meta tags on your Thesis blog with just a few lines of code in your custom_functions.php file: check out his badass purple van!
{ 19 comments }

