Get Your Blog Out Of Supplemental Index (Maybe)


About two weeks ago I was browsing SEO-related sites and came upon a promising technique for getting one’s pages out of the supplemental index. It’s called “third level push” and looks particularily useful for blogs. This is an advanced technique and you should work on the basic stuff first before trying something like this.

At that time this site ( had 78 pages in the main index, which is pretty good considering that there are less than 90 posts on this blog at the moment. Still, proper SEO can only help, so I went ahead and implemented the aforementioned approach. This basically involves changing the internal linking structure of the site to push more “link juice” towards individual posts (more on this later). To do that I wrote a specialized WordPress plugin and made some changes to the theme.

Ten days later this site had 120 pages in the main index. I thought that’s great and decided to wait another day to confirm the results and then write a tutorial on how to implement the third level push on a WordPress blog. Unfortunately after that day went by I only had 115 days in the main index. I waited a few more days and today the number is 88, stable.

Obviously this is better than having only 78 pages out of supplemental index, but I don’t think the result is good enough to wholeheartedly recommend the technique to everyone. Therefore instead of a detailed tutorial I will offer some thoughts about the “third level push” method and some tips on implementing it (yes, this is a long post). I leave it to you to decide whether you want to use this approach on your blog.

The Most Important Pages

First, you need to figure out which pages of your site you want to rank well in search engines. I’m willing to bet that for most bloggers these would be the individual posts. That’s where all the content is at. Individual posts are also important if you’re looking to make money from blogging, because that’s where most of the ads or affiliate links are. On the other hand, category archives probably don’t need to rank well in SE’s – in fact it would also be very hard to get a category to rank for it’s name because categories are typically have single-word, broad topic titles.

From SEO perspective you frontpage is the first level, categories (or tag pages) are the second level and individual posts are on the third level. Third level push is about getting as much “link juice” as possible to flow to the third level, making posts rank better. On the other hand, most WordPress themes initially concentrate the linking power in the category/tag pages and the homepage which are often linked to from all other pages of the blog (sitewide links).

Here’s how a good internal linking structure should look (my crude interpretation) –
Third Level Push internal link structure (SEO)

Analyzing Site Structure

Analyzing the internal linking structure is much easier using the PageRankBot (freeware). It will crawl your site and display a detailed report showing how much “link juice” individual pages get from internal links, the number of inbound/outbound links for every page and much more. The software is a bit hard to use (minor bugs exist), but it’s an invaluable tool for SEO. With PageRankBot you can evaluate the changes you make to your site without waiting for search engine rankings to change (which could take days or even weeks).

Anyway, when using the PageRankBot report, the goal of the third level push technique is to get your posts show up on top of the list when sorting the table by PageRank (this is not the PR that you see on the Google toolbar or similar tools). For most blogs the frontpage will be on top, followed by categories and then individual posts. This is not optimal.

Here’s how my internal linking structure looks after playing around with SEO :
PageRankBot analysis reports
This is pretty good, though the homepage and /blog/ still get a bit too much power because they have some links from subdirectories that are not part of the blog (e.g. my Living Image project)

How I Did It

To alter the internal link structure of your site you can do three things – add new links, remove links or add the rel=”nofollow” attribute to existing links. Nofollow’ing a link means search engines will not follow it and it won’t impact the SE rankings of the page it points to. This has the advantage of leaving the link in place for your human visitors to use, while search engines will treat it like it’s not there.

Here’s a list of changes I made to my blog –

Nofollow most sitewide links. This includes the link to homepage and most of the links in the page bar in the header. I’ve also written a plugin that creates a copy of the “recent posts” widget with an option to add rel=”nofollow” to the post list. I’m using the widget now, though it probably would be better to drop the “Recent Posts” thing entirely and display popular posts instead. I still haven’t selected a “top posts” plugin for this blog, though there are many possibilities – Top posts by category, Most Wanted and Popularity Contest come to mind.

Nofollow category listings on single posts & pages. This will prevent category pages from accumulating too much linking power, leaving more for your posts. You can do this with the Robots Meta plugin, though I opted to add this feature to my own homebrew plugin because I didn’t need the other features of Robots Meta. I also initially made a circular link pattern in the category archives, so that every category only links to itself and the next category, though I’ve gone back to the original approach now (every category links to all other categories; still testing).

Only show post excerpts on all pages except the homepage. This is a really useful tip you can use even if you don’t intend to implement third level push. If your theme doesn’t already do this you can modify it… damn, I can’t find a good tutorial for this. Lorelle explains a related issue in her post on displaying post excerpts only, so it will get you started. I’m also using the Homepage Excerpts plugin to make the posts accessed using the “Previous entries” link on the homepage display as excerpts.

Basically you need to modify the loop by replacing “the_content()” with something like the code below –

if (is_category() || is_archive() || is_search() || is_year() || is_month() || is_day()) {
   echo "<a href='".get_permalink()."' rel='nofollow'>Continue Reading...</a>";
} else {
   the_content('Read the rest of this entry »');

The advantage of this technique is that you can avoid (or at least decrease significantly) duplicate content issues while still leaving your category archives indexable by search engines.

Show more posts in category archives. This results in more internal links per category page, and means search engine bots will have an easier time indexing your site because they won’t need to dig through so many pages of archives. You can do this with the Different Posts Per Page plugin.

Add links to related posts after the post. This helps distribute the “link juice” more evenly between your posts, so if one post gets a lot of links, others will benefit, too. There are many plugins that do this but none of them are perfect. The Related Entries extension is a good start, though I use a modified version, and eventually I’m going to make the ultimage related posts plugin, muahahahaa! … ooops, well, when I have the time.

Add next post/previous post links to your posts. Basically the same reasoning as above. Some themes have this by default, or you can add it yourself – use the next_post_link() and previous_post_link() template tags.

That’s about it, though I also did lots of small modifications, like adding rel=”nofollow” to comments RSS feeds and such.


Is this linking pattern perfect? No. I’ve heard the so-called “sandcastle system” is supposed to be better. Unfortunately I just don’t get it – yet – so I can’t say much about it. I’m not a SEO guru. IMHO it’s better than the setup I had before, and probably better than the default setup on many blogs.

On a related note, WordPress Wizardry might also be of interest for you – it’s an e-book that claims it can help with getting out of supplemental index and general search engine optimization.

Related posts :

8 Responses to “Get Your Blog Out Of Supplemental Index (Maybe)”

  1. Andy Beard says:

    I wouldn’t claim Sandcastles is better or worse, it is just a structure that is suitable for a situation where you tend to link out heavily, both within the content and from dofollowed comments.

    Even playing around with linking structure is debatable, many notable SEO experts think there is no such thing as PageRank leakage, but try saying that if you have 600 external links on a page and only 20 or 30 internal links.

    One other problem is that the /* method of seeing how many pages are in the primary index is unreliable.

    I need to do an “official update” on Custom Query string for WordPress 2.3+ but there are already hacks. That will make your site flatter. You might also look at blocking some pages with robots.txt

    Using my “No Follow Those Dupes” plugin will prevent external leaks from your home page and duplicate content pages that will also help a little.

  2. White Shadow says:

    I got the impression it might be better from reading the comments on the Seo4Fun article, though I admit I can’t really judge.

    Is there any reliable way to see which pages are in the main/supplemental index? Looks like the /& trick has been useless for a while and if /* is unreliable, there’s not much left.

    Reading through your site and checking out those plugins is already on my TO DO list ๐Ÿ™‚

  3. Andy Beard says:

    Sebastian has another option, though I am not sure if it is any more reliable

    I seem to get better results with /* so if it makes you look good, it is usable… but when the numbers jump all over the time for domains you watch periodically, you begin to wonder the value at all.

  4. White Shadow says:

    Interesting, thanks for the info.

  5. fruityoaty says:

    Thanks for this info. I’ve started to apply some of the things I’ve learned from reading this… Could you please share how to add “nofollow” attribute to these 2 links:

    next_post_link() previous_post_link()

    Going crazy Googling for this info…

  6. White Shadow says:

    Took some thinking, but I figured it out and wrote a small plugin that does what you need. Put the following code in a new .php file and place it in the “plugins” folder :


    Then activate the new plugin as usual, and voila! ๐Ÿ™‚

  7. fruityoaty says:

    ๐Ÿ˜€ OH WOW. I was just hoping for some clues… didn’t expect this solution. THANK YOU so very much for this.

  8. farneville says:

    Hmmm… sounds promising but requires some serious work lol and besides I did not quite got it I think I need to re-read….

Leave a Reply