A Geeky Look & Some Simple Solutions To Achieving First Link Priority & Referential Integrity With WordPress (Or Why WordPress SEO Themes Aren’t)

Think buying a custom premium WordPress SEO theme will give you perfect SEO? Think again…

I don’t think there is one “premium” WordPress Theme that doesn’t claim to be perfect for SEO “out-of-the-box”, so I thought I would bash some theme developer heads around and maybe knock some sense into them.

They might achieve 50:50 of what could be expected of a true SEO theme (though I haven’t seen the latest Semiologic Pro out in the wild), and potentially with the aid of 3rd party plugins currently available, they could reach 80:20.
However most claim they don’t need 3rd party plugins to achieve their eminence in WordPress SEO

That doesn’t leave WordPress SEO plugins off the hook, there isn’t one plugin that gets beyond 60:40 or with some tweeking possibly 70:30, depending on what factors you feel are important, or are aware of.

Awareness is certainly one of the problems…

First Link Priority

First link priority is something that was first raised as a concern at the end of 2007 in a number of tests carried out by Michael VanDeMar.

You May Be Screwing Yourself With Hyperlinked Headers

Single Source Page Link Test Using Multiple Links With Varying Anchor Text – Part Two

In mid-2008 there was continued discussion at SEOmoz, it was debunked by SEO CO, and “re-bunked” by SEO Scientist

Shaun also did some testing in October 2008 on first link for internal links.

Michael followed up with even more testing in November

Now around mid-August 2008 Stompernet were also starting to ramp up the launch of their new premium SEO training product, Stomping the Search Engines 2.

This product actually has some very personal history, as I was first expecting it to launch… in 2005 – I was pretty much a newbie online marketer, intrigued by SEO and blogging (I was already into internal linking in a big way) and approached Andy Jenkins to see if I could blag an early review copy.

That version never materialized, but I belive became a cornerstone of their coaching program and eventually Stompernet.

In Stomping the Search Engines 2.0, Module 4 Session 4C, Leslie Rohde talks about a concept called First Link Priority. This training occurs at 4 minutes and 9 seconds into the video.


Grab the 7 Deadly SEO Mistakes Course to learn more about First Link Priority

I don’t know how much Stompernet have tested this, exactly when they started their testing, or when they made this information available to their members, but lets give Michael VanDeMar the benefit of the doubt as the first person testing this, and Stompernet were probably testing this early 2008.

I have always stated you want the content first, before any navigation, but had assumed a nofollowed link wouldn’t be counted. For a long time I was using a nofollow link in my header, and many of the blog posts above came during my “blogging break”.

Now open a new tab in your browser, and visit a few blogs running premium WordPress themes that supposedly are “Perfect” for SEO, and have everything covered, and many are even heavily promoted by notable people in the SEO community.

There are 2 things you will notice:-

  1. If they have some kind of header navigation, it appears in the source code before the content
  2. Many of them use a home link at the beginning of the navigation, and some even nofollow the link in a vain attempt to stop the link counting for both juice and anchor text.
  3. If you look at the source code, you will find they are still using SEO plugins of various types.

If you know what you are doing with CSS, you can have top navigation appear even in the source code for the footer of your theme.

Referential Integrity

I must admit the first time I heard the term “referential integrity” in connection with SEO was in a free Stompernet video which you can gain access to just for joining their mailing list, as part of their 7 Deadly SEO Mistakes series. It is a term normally asociated with databases, though I can understand why Leslie “borrowed” the term.

I loath explaining things in depth when someone else has already done an excellent job, thus I strongly recommend you sign up, as Leslie does a great job of explaining an “emergent property” that isn’t on any patents.

Grab the 7 Deadly SEO Mistakes Course to learn more about referential integrity

Grab the 7 Deadly SEO Mistakes Course to learn more about referential integrity

One major factor explained in Leslie’s video is what you say your own pages are about, not just the on-page factors, but also how you reference your own pages.

As “pagerank sculpting” was the big SEO topic of 2008 (something Leslie first taught in 2004), we could look on this as “keyword sculpting” or “topic sculpting” – please understand this isn’t exactly the same as siloing – very close cousins but not the same.

In many ways “topic sculpting” is repairing the damage caused by lazy webmasers using modern content management systems, pumping out content pages and internal navigation on auto-pilot, and only really caring about the links they received from external sources, often resorting to search engine spamming to gain referrential links with the anchor text they required.

That however is only the “confirmation” element in the above screenshot.


Just to avoid confusion, I want to define the following terms

  • Entry Title – The title you add in the text entry field above the visual editor in WordPress, that is then used in various WordPress functions to create default slugs, the “Entry Title” DIV on Posts and Pages, and is also used in wp_list_pages(), wp_list_posts() and even the default meta titles.
  • Meta Title – this is the title that appears in the header of each page, and appears as the title in Google search results. Sometimes this is confusingly labelled as “page title” within WordPress SEO plugins.
  • Short Title – A title that can be used as anchor text for navigation elements that is optimized for passing of internal reputaion or anchor text to the destination page.

I should also point out that the idea of Short Text isn’t new, other CMS solutions have had this feature for years, and the ModX community use it as a key unique selling point of why ModX might be better than WordPress.

WordPress Pages – Topic Sculpting

You have always had the ability to precisely define the anchor text of WordPress pages, simply by creating your navigation menus manually with a little HTML directly in your theme files, or using a text widget.

By Default if you use a widget or theme using wp_list_page() then the link anchor text will be the Entry Title for the page.

Some work has been done to optimize the anchor text pointing at WordPress pages – the Thesis theme has recently introduced ways to define specific anchor text, and there are existing WordPress plugins that achieve the same functionality, or possibly with more flexibility such as Page Lists Plus by Tim Holt.

Page Links Plus allows you to define the anchor text used for links to WordPress Pages

Page Links Plus allows you to define the anchor text used for links to WordPress Pages

This still isn’t a perfect solution:-

  • You might want to use multiple widgets contain 7 links plus or minus 3 (this would be a concept familiar to you if you have watched a previous Stompernet video series, and downloaded the Stompernet Scrutinizer)
  • You will probably want different sets of links or widgets appearing on different pages – there are some clunky solutions available, maybe things will improve with WordPress 2.8
  • If you are a geek interested in optimizing your conversion, you might even want to split test things – with the way I have created my split test code for WordPress, I can actually split test different widgets on the page, removal of widgets etc.

WordPress Posts Topic Sculpting

With WordPress posts, things become a lot more complicated, though the hardest part was realising it is a problem that needs to be fixed.

I have deliberately created the Entry Title for this post extremely long – you will see post titles used of various lengths on blogs. General advice from SEOs is to ensure you have keywords somewhere near the beginning as it was historically thought that the position of the keywords in links, headings and meta titles matters.

Shaun actually narrowed down the maximum length for anchor text to 55 characters last year.

Based upon my Entry Title, that would mean my anchor text for this post would be:-

“A Geeky Look & Some Simple Solutions To Achieving First”

Sucks doesn’t it?

But with a standard WordPress installation, using conventional blogging techniques, even using premium SEO optimized themes, that is the crap anchor text you end up with.

Yes I am using slightly crude terminology, but when I was at college studying engineering, we had a technical term for the material that Lada engine blocks were made out of… crapite.

WordPress could be likened to a Lada

WordPress could be likened to a Lada

Lada – Credit

A Lada can get you from A to B – technologically fairly simple, but an enthusiast can tinker with the engine, add “go faster” stripes, and get some performance out of it.

In many ways WordPress is similar

WordPress Post Anchor Text Usage

To understand all the complexities of title use in WordPress, you have to know where they can potentially be used, baring in mind the purpose for the links.

How Different Titles Are Typically Used In WordPress

How Different Titles Are Typically Used In WordPress

(I created a nice, compliant XHTML table in Seamonkey composer, but WordPress without plugins hates tables)

The Simple Solution

Whilst everything above might seem extremely complex, there is in fact a very simple solution that can be used with almost every theme, without modification, other than a radically different approach to CSS styling and conventional post entry.

However this approach requires that you through aside any misconceptions that might have been falsely hammered into you that content is king, and you don’t really need to think about SEO, just create great content.

You need to think like an SEO & Marketer… just a little

Got it? Great!
Please forgive me, I really couldn’t resist using a provocative title in the example.

You don’t have to be quite so bold with your headline.

Your Entry Title would still ideally be H1 on single pages, and H2 on navigation pages, but styled to be a lot less conspicuous.

This method effectively forces you to use custom excerpts with HTML, otherwise you are not going to have much of anything to encourage clicks.

The Geeky Solution

There are plenty of intermediate solutions, many using custom fields, modified themes etc.

This is the personal solution I am currently using on Andybeard.eu

This is rough code… there are some CSS problems in Internet Explorer resulting in links being hidden, I am only currently handling navigation links from the home page and various archives, and I still need to add some simple code to check whether the Headspace WordPress SEO plugin is installed.

Here is the end result:-

Geeky solution to First Link Priority & Referential Integrity With WordPress

Geeky solution to First Link Priority & Referential Integrity With WordPress

Headspace allows you to define custom meta data for each post, that then gives you a text entry box along with other SEO data entry fields.

This is actually vital for work-flow, having all the options you need to think about within a single panel, and because Headspace is a framework with plugin modules, it is possible to simplify the interface to only include the items you need, and then hide other functions behind the “advanced” link.

The Headspace WordPress SEO Plugin allows you to add custom meta entry fields that can be used in themes directly, or using filters

The Headspace WordPress SEO Plugin allows you to add custom meta entry fields that can be used in themes directly, or using filters

Here is some code to play with, taken straight from my functions.php of the child theme I use with the Thematic theme framework.

// Information in Post Header TOTAL REPLACEMENT
function gwo_thematic_postheader() {
    global $id, $post, $authordata;
    // Create $posteditlink    
    $posteditlink .= '<a href="' . get_bloginfo('wpurl') . '/wp-admin/post.php?action=edit&amp;post=' . $id;
    $posteditlink .= '" title="' . __('Edit post', 'thematic') .'">';
    $posteditlink .= __('Edit', 'thematic') . '</a>';
    $posteditlink = apply_filters('thematic_postheader_posteditlink',$posteditlink); 

    if (is_page()) {
        $posttitle = '<script type="text/javascript">utmx_section("PostHeader")</script>' . '<h1 class="entry-title">' . get_the_title() . '</h1>' . '</noscript>' . "\n";
	} elseif (is_single()) {
        $posttitle = '<h1 class="entry-title">' . get_the_title() . "</h1>\n";	
    } elseif (is_404()) {    
        $posttitle = '<h1 class="entry-title">' . __('Not Found', 'thematic') . "</h1>\n";
    } else {

$shortie = MetaData::get_custom ('shorttitle');
	if ($shortie == '') {
		$shortie = MetaData::get_page_title ($post->ID);
	if ($shortie != '') {

        $shortlink = get_permalink();

		$shorttitle .= '<<a href="';
        $shorttitle .= $shortlink;
        $shorttitle .= '" title="';
        $shorttitle .= __('Permalink to ', 'thematic') . the_title_attribute('echo=0');
        $shorttitle .= '" rel="bookmark">';
        $shorttitle .= $shortie;   
        $shorttitle .= "</a>\n";

// Open Div For Our Shortlink Tab
		$posttitle .= '<div class="short-tab">' . "\n";
// For IE
        $posttitle .= '<div class="tab-canv">';
        $posttitle .= $shorttitle;
        $posttitle .= '</div>' . "\n";
// End IE
// For All other browsers (SVG Object)
        $posttitle .= '<![if !IE]>' . "\n";
        $posttitle .= '<object class="tab-obj" type="image/svg+xml" data="data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><a xlink:href=\'' . $shortlink . '\' target=\'new\'><text text-anchor=\'end\' padding-top=\'10\' x=\'-10\' y=\'20\' font-family=\'Tahoma\' font-size=\'18\' transform=\'rotate(-90)\' text-rendering=\'optimizeSpeed\' fill=\'#888\'>' . $shortie . '</text></a></svg>">' . "\n";

// Fallback Old Browsers
        $posttitle .= '<div class="tab-old_canv">' . "\n";
        $posttitle .= $shorttitle . "\n";
        $posttitle .= '</div>' . "\n";
// End Fallback
        $posttitle .= '</object>' . "\n";
        $posttitle .= '<![endif]>' . "\n";
// End For All other browsers
        $posttitle .= '</div>' . "\n";

	$posttitle .= '<h2 class="entry-title"><a href="';
        $posttitle .= get_permalink();
        $posttitle .= '" title="';
        $posttitle .= __('Permalink to ', 'thematic') . the_title_attribute('echo=0');
        $posttitle .= '" rel="bookmark">';
        $posttitle .= get_the_title();   
        $posttitle .= "</a></h2>\n";
    $posttitle = apply_filters('thematic_postheader_posttitle',$posttitle); 
    $postmeta = '<div class="entry-meta">';
    // $postmeta .= '<span class="author vcard">';
    // $postmeta .= __('By ', 'thematic') . '<a class="url fn n" href="';
    // $postmeta .= get_author_link(false, $authordata->ID, $authordata->user_nicename);
    // $postmeta .= '" title="' . __('View all posts by ', 'thematic') . get_the_author() . '">';
    // $postmeta .= get_the_author();
    // $postmeta .= '</a></span><span class="meta-sep"> | </span>';
    // $postmeta .= __('Published: ', 'thematic');
    // $postmeta .= '<span class="entry-date"><abbr class="published" title="';
    // $postmeta .= get_the_time(thematic_time_title()) . '">';
    // $postmeta .= get_the_time(thematic_time_display());
    // $postmeta .= '</abbr></span>';
    // Display edit link
    if (current_user_can('edit_posts')) {
        $postmeta .= ' <span class="meta-sep">|</span> ' . $posteditlink;
    $postmeta .= "</div><!-- .entry-meta -->\n";
    $postmeta = apply_filters('thematic_postheader_postmeta',$postmeta); 

    if ($post->post_type == 'page' || is_404()) {
        $postheader = $posttitle;        
    } else {
        $postheader = $posttitle . $postmeta;    
	echo apply_filters( 'gwo_thematic_postheader', $postheader ); // Filter to override default post header
add_filter('thematic_postheader', 'gwo_thematic_postheader');

The modified section (for first link priority and referential integrity) is commented in the code (Begin / End Shortie Code)

The logic is fairly simple:-

  1. If short title is defined, use it
  2. If there isn’t a short title, but a meta title is defined, use that instead
  3. Otherwise don’t display a short title at all and stick with the original entry title as the first link and anchor text.

I will repeat, the code is rough, and if the Headspace plugin is currently switched off, it will break your blog.

I used SFV Object, you could also use SIFR to replace and style text, or custom images that somehow dynamically style the text link, though make it relevant to the text link and article, and maybe use GD Library to add a text caption.

Here is the CSS I am currently using. It is broken in WordPress in Internet Explorer, at least using The Thematic Framework, though works in isolation on some simple test HTML.

html>body .tab-canv { display: none }
html>body .tab-obj  { display: block }
.home #content .post {margin:0 0 0 40px;}
.archive #content   {margin:0 0 0 40px;}
.tab-canv, .tab-obj { height:300px; width:30px; }
.tab-old_canv { font-family: 'Tahoma', Arial, sans-serif; font-size: 12px; }
.short-tab {position:absolute; margin: 0px 0px 0px -40px; max-width: 30px; width:30px}

<![if IE]>
.tab-canv { float:left; text-align:right; padding-bottom:20; filter: flipv() fliph(); writing-mode: tb-rl; font-size:18px; font-family: Tahoma; background-color: white; display: block; color: #888 }
.tab-canv h2{font-size:18px;}
.tab-obj  { display: none }

Please make sure you check out The 7 Deadly SEO Mistakes from Stompernet – learn your SEO from the source

Special Note: This is the kind of content I will be preparing for private member access soon, and at least some of this content once I have refined the code a little, will be removed from the public.

Please check out the follow-on post in this series

Is Stompernet Wrong About First Link Priority?

As well as offering an alternative opinion about first link priority, you will learn how to run your own SEO experiments.

Liked this post? Follow this blog to get more. Follow


  1. says

    Hi Andy a great post!

    For me this is one of the main, if not the most important factors of SEO when considering internal navigation developing sites. I have screwed about with my site AD NAUSEUM testing this out left right and centre of nearly a year. I have some observations to add (including a small criticism lol) I’ll do in proper blogging style (which I learned from you!) and link through in the next couple of days.

    I’ve used nofollow, moved links above text with CSS, created sites with no navigation except in content, used mega menus etc etc etc. If you check my site which is a constant test bed you’ll see nofollow is long gone apart from some left overs in content and when linking out to some sites. I’ve made I think some interesting findings and I think the ‘secret’ of successful internal linking will be a surprise to most and get well criticised – hey as long as people link to me that’s ok :)

    A great post – I’ll be back to read it again later!

    • Writers Needed-$1000 says

      This is probably the best article I have read in a VERY long time. Very useful. I have been thinking about switching to WordPress for a while. Some of these are really good SEO tips. One thing I noticed about getting high traffic is having multiple anchor text with different urls.(make sure they are under 100 because then it will start to look like spam) Really good post.

  2. says

    This is a great article. I just watched the Stompernet videos yesterday on referential integrity. You’ve clearly done a lot of thinking about this and you’ve linked to some great references that expand on Stompernet’s content as it specifically pertains to WordPress. As I do a lot of WordPress development, you’ve provided me with a lot of food for thought. Thanks!

  3. Wejwebb says

    I’ve used some very successfull internal linking on my site. I’d definately aggree that the more pages you have the more you have to work with regarding SEO.

    Regarding the first link. I only have one link on each page with dofollow and that is the one I ensure has the right text. That said, I think it pushes more link love throught that link to the linked page.

  4. custom bowling balls says

    You gave me a food for thought – thank you. Also, thanks to you I found StomperNet which is a great website with ton of useful info. On a side note – are you bulgarian, because the LADA picture you have used has a bulgarian plate?;)

  5. Chuggin McCoffee says

    I love any advice from Stompernet, and I was actually at the conference in Atlanta in March!

  6. says

    Haven’t read this in its entirety, but as you mentioned Semiologic Pro I figured I’d drop some information.

    We had a nearly two-hour long discussion over at Podcast Secrets 2009, during which I went through what counts/doesn’t count when designing a search engine algorithm, and –most importantly– why, and where I believe SEO is heading as a conclusion.

    To clarify one point in your post, while the Semiologic and Semiologic Reloaded themes both both fare well for SEO, I do recommend their users to combine it with the Semiologic SEO plugin (which is Semiologic Pro-only stuff) rather than All-In-One SEO.

    Other thing: While it is true that the first link text has more weight, it is important to remember that it is possible –and easy– to extract a page’s contents from its cosmetic and navigation elements. Take a few pages from a site, and work out the diff from a page to another. What changes a lot is the page’s contents, and what changes little is cosmetics. Now, I do not work at Google, but I have engineered a few SE algorithms in the past, and I’d be very surprised if, nowadays, Google doesn’t give more importance to the link text in the *content* than it does in the header’s navigation menu.

    — Denis

  7. says

    Wow, I have never really thought much about this topic, but First Link Priority makes complete sense. I need to consider moving my navigation to the right side column or re-aligning tables on many websites, because that could be creating problems…

    • says

      Between the simple solution and the geeky one, there are a few other possibilities, but repeating them would have effectively been taking too much substance from Leslie’s videos, and might have touched on things within STSE2

  8. Quang ba Web says

    I use Plantium SEO Plugins, and SEO Title Tags, and I can modify the the short title and the title in the header. When I list the post or the page, i use the short title and this great for SEO, I think so

  9. relationship problem says

    All I have to say is what a read. I was thinking about getting one of those premium SEO wordpress themes but you have given me something to think about and broke down what I needed to know. Your posts are really helpful. Can’t wait to read more because I need to learn about SEO.

  10. StoreCrowd says

    Interesting, I’ve always tried to make home links descriptive. Especially even in breadcrumbs.

    However I’ve noticed that sitewide home links tend to work no matter where you place them: Sidebar, Header, Footer etc.

  11. says

    Hi Andy,

    As usual another great post – just a few minor things.

    Firstly, a question – how does Google treat anchor (jump) links that take users to a different location in the same document? Is this still counted as a “link” and is PR passed to the same page or is it discounted in some way? (okay… that’s 2 questions)

    This may sound a bit odd but there are times when anchor links are required and necessary. As someone who has built custom WordPress themes, my main priority wasn’t so much to focus on SEO but (as much as possible) to cater to Accessibility. Essentially, the aim is to make your underlying content friendly for Screen Readers so “Jump To Navigation” links tend to be at the top of the pages so users have an option to quickly get to the navigation.

    In a funny way, if you build for Accessibility, then SEO naturally follows. By placing the content at the top also enables partially sighted users to access content quickly rather than having to go through lists of links (which they’ve probably encountered on a site before). The only thing that’s left to do is to use the CSS Zen Garden approach of styling to change the look of the page.

    (Note for WP Theme Developers: if you want a *great* SEO theme – use Kubrick, i.e. the default one… it’s structured in exactly the right way and only needs a few modifications to change the Site Name and Description from an H1 to an H2, then shift it lower down the page…)

    Anyway, do you have any research on the effect of jump links in terms of SEO?

    Secondly, er… don’t you think that a link to John Godley’s WordPress SEO plugin: HeadSpace 2 over at Urban Giraffe might also be appropriate on this page (as you reference it a lot here!)? Also, it might be worth making the caption graphic on the image with your new “shorttitle” say that this isn’t (currently) a feature of HeadSpace 2 but part of the minor re-write that you’ve included.

    Speaking with John recently, he’s in a bit of a dilemma – the main problem is that HeadSpace 2 is *too good*… and hardly anyone ever makes a donation to keep the project going! It’s a sad state of affairs when it comes to WordPress plugins but the fact is most plugins die mainly as the amount of time and effort put into building and maintaining them hardly ever gets rewarded. Thought I’d mention it as John is one of the best plugin Developers I’ve ever seen (who’s never really made money from his plugins!). He’s a quiet and very modest guy which is why I like to remind people about either donating, making links back or rating it, on his behalf…

    Anyway, I’ve emailed the Short Title suggestion to John already (as it’s a feature that I’ve been bugging him about for a while now – in various forms). Saying that, Tim Holts Page List Plus plugin seems to do the job perfectly well, so why re-invent the wheel? Personally, it’s a feature that I’d like to see in HeadSpace 2. As an admin for many WP sites, having 1 excellent plugin that does several jobs is much much better than say 83 or so plugins built into a theme. Each additional plugin could potentially introduce issues and the main problem is working out which one is causing the problem! Prior to WP2.7, it meant having to disable plugins one by one which was very time consuming.

    Thanks for pointing out Tim’s plugin – up until now I’ve been using Sarah G’s Page Menu Editor plugin for WordPress instead but Tim’s plugin definitely looks superior as it contains all of the elements Internet Marketers need to super-SEO their sites.



    • says

      Hey Zain, been hoping for an email alerting me to the release of FAQ pro

      Ok Anchors… only definitive reference I know of… Matt Cutts

      See the “#00h02m30s”? That’s called a fragment or a named anchor. The Googlers I’ve talked to are split right down the middle on which way to refer it. Disputes on what to call it can be settled with arm wrestling, dance-offs, or drinking contests. Typically the fragment is used to refer to an internal section within a web document. In this case, the named anchor means “skip to 2 minutes and 30 seconds into the video.” I think right now Google standardizes urls by removing any fragments from the url.

      Emphasis placed on last sentence

      Not linking to John was oversight, about to be corrected.

      In many ways short title is built in, as you have custom meta – how you use it really depends on the theme, widgets etc.
      Just to give you an example, Headspace doesn’t work with Thematic out of the box even with the meta Title. I had to first of all replace the custom title code with a filter.

      But that isn’t something I necessarily complain about, because it also gives me more flexibility.

      The more features become built in around a standard way of doing things, forcing me to “setup” a plugin rather than just use it, the less likely I am going to use it, but then I am a geek.

      I can think of 10-20 different places where I can use Short Title for posts to gain a competitive advantage, and there is no realistic way of doing it directly within Headspace because it would be both theme and plugin selection dependent.

      The nearest would be just to create a wp_list_titles() replacement, similar to the short title for pages plugin, but then that is something I can do in functions.php

      I think with WordPress plugins you have 4 options

      1. Monetize with development work
      2. Monetize with a service
      3. Hyperspecialize
      4. Massive volume
      5. Even more volume – become a real framework

      Headspace is closer probably to the 3rd option, but might need to take it further, and then add a subscription to make money from it.

      Headspace replaces lots of other plugins, but that doesn’t necessarily help me, because I still have to login and configure, and even remember which things I want to use.
      A lot of the features are in many ways fluff, though possibly true to the original concept of doing everything in the header.

      Imagine by default you uploaded 1000 plugins with every WP installation, then you have to work out which ones to configure, which ones you use a different plugin for already etc. That is currently Headspace and to a large extent all plugins.

      I don’t use the tag functionality – simple tags does it better, though still doesn’t work as well as UTW. When you have 1500 or so tags to edit, it isn’t fun with any current solution.

      Whilst it is intended to be a framework, you won’t see people creating modules, because modules seem to be hard coded.
      I haven’t tested it, but if I removed all the modules from the installation, Headspace would probably break.
      A very powerful method to boost Headspace would be to improve the modules, and documentation, such that developers would be developing modules for Headspace, not stand alone plugins.

      The same is true for Redirection – it is powerful, but the average user just wants something to allow them to change their permalinks, and doesn’t know regex, possibly avoiding issues with verbose queries (if they know what those are, though most wouldn’t)

      I am fighting the battle that WordPress themes and frameworks shouldn’t be handling SEO features, and the only way to win that is to take SEO plugins out of their reach with unique core features.

      e.g Import / Export

      Shorttag support for the custom meta

      Function calls people understand for custom meta
      hs_custom_meta(‘shorttitle’) not MetaData::get_custom (‘shorttitle’)
      Function calls people understand even for basic functions
      hs_meta_title() not MetaData::get_page_title ($post->ID);

  12. says

    I don’t know what I like more the post or the conversation it started. This is very interesting even if some of it is over my head. I like the fact that you call this the geeky way. I would just call it thorough!

  13. says

    Hey Andy,

    Thanks for clearing up that Anchor link issue – websites that ensure accessibility for non-CSS browsers need not fear! Phew!

    Yeah, you are a Geek – but an exceptionally talented one :) . Saying that, it’s a bit like the pot calling the kettle black – I know exactly what you mean by playing and configuring!

    However, most people *do* want things straight out of the box and easily configurable as it just saves a lot of time and effort. I can see what you mean though about having to configure things differently each time with HeadSpace. If you’re user with only 1 site, then this isn’t so much of an issue but, again, you’re exceptional and use HeadSpace for loads of sites. I can see how this could be a problem… although it’s probably actually very fixable. An easy import/export XML or CSV file with the settings you had saved would probably fix that – HeadSpace 2 already comes with an excellent feature to import other major SEO plugins setting into it! That way, you could maintain your current HeadSpace SEO settings – might be worth contacting John and submitting a feature request as he’s always looking to improve the plugin (just don’t mention me as I send him enough crazy ideas already…).

    Just wondering but did you know that HeadSpace 2 too also has a “Mass Edit” function to help change a huge amount of Meta Titles, Descriptions, Keywords, Tags etc. all in one go? You’ll find it under Tools (it’s not obvious though). This is an extremely powerful feature that is probably under-used as most people don’t even know it’s there. However, when you find it it does mean you can basically change your entire site’s posts/pages *extremely* quickly. Warning – be careful when using it – it’s a “Mass Edit”. There’s also a nice little “suggest” icon on the right which can be clicked on if you want quick tags for the pages – a mass suggester would be better…

    Anyway, I think most of the issues with larger plugins like HeadSpace 2 and Redirection is that the documentation is… well, a bit hard to go through and, at times, missing a few things. Like I’ve just pointed out with HeadSpace 2. Admittedly, my own FAQ-Tastic plugin suffered from the same sort of thing but I’ve actually now got videos on the FAQ-Tastic.com site which has significantly reduced the number of questions I get from users. (I’m working on the Pro videos but I have to wait for John to do some fixes before I can get to doing them… ).

    I completely agree with you about SEO being part of the WordPress core. Personally, I think SEO features should come as standard – for example, it wouldn’t take much to change the Permalinks so the default values are no longer query strings with page IDs (although there may be arguments over what the new default value should be!). That’s a very simple change but a valuable one in terms of SEO.

    And the short titles feature is definitely something that has been missing for quite a while other applications already have it as standard. Part of the reason, I think, is mainly awareness. So it’s good that there are posts like this one where it’s discussed – maybe if enough people request it, then it will get built into the WP core.

    Anyway, I notice that the link for the wpSEO plugin states:

    Resale and modification of the wpSEO plugin is not allowed. More information in Terms and Conditions.

    (I know you had a lot to say on the whole GPL business that WordPress on Alister Cameron’s post). I only mention it as it’s useful to bear in mind licenses when starting to hack your themes or plugins for SEO…


    PS: Technically, the wpSEO plugin should be under GPL as I’m guessing a large part of it is based on WordPress (which is released under GPL). So really, users should be able to amend it to super-SEO it if they wanted to… but I digress. And that’s a whole other can of worms…

    • says

      Just want to emphasise I don’t want SEO as part of the WP core, I want plugins like Headspace to to concentrate more on core functionality that push them well beyond what could or should be part of a theme.

      I know Headspace has mass edit of tags, in some ways it works as an alternative to the Simple Tags method, where you can edit an individual tag, and it is changed for all occurances, but neither are perfect when you are editing lots of tags.

      Simple tags probably needs to add some ajax, or remember which page you are currently working on. As it is, you make a change to one tag, and the whole page refreshes and you are back to the first listing of 50 tags – if you were working on the 20th page of tags, that becomes a major issue.

  14. Flexr.org says

    Insightfull article. Thanks for writing. After just finishing the semi optimised version of my company website, I will now have to optimize the custom Flash/AJAX theme for SEO. This will help.

  15. says

    Excellent write up. I had no idea about the importance of First Link Priority. I think I’m going to have to re-structure my site a little…

  16. says

    Hi Andy,

    It’s been a long time since I commented here – glad to see you’re posting again.

    On my site, I have a Home link in the menu, but above that I have the header image also linked to the home page, making it the first link. For this link, I have anchor text I want (though maybe I should lose the blog name from it). The anchor text is then hidden off to the left of the page using CSS. That approach would be fine wouldn’t it?

    The SEO on the rest of my site probably leaves something to be desired. I have All In One SEO, but often don’t use the features – lazy I guess. If I get time, I’ll check out Headspace 2, as John Godley is one of my favourite plugin authors.

    • says


      Looking at the source of your site, you’ve actually got the first link as your site/blog name, followed by your “subscribe” link and then your navigation. This is a problem that most WordPress themes suffer from in terms of SEO – to make matters worse, your main blog name is also inside an H1 tag (and is a link to your homepage). That’s not good f or SEO.

      One of the aims of good SEO is to ensure that each *Page* is as tightly keyword focused as possible. The goal here is to try and get your keywords and content prominent on the page and not your blog name. This is done by ensuring that your Post/Page titles appear at the top instead of the blog name.

      What tends to happen with most WordPress themes is that every page has the H1/link (the site name) is given priority and appears on every single page. This is probably because most theme Developers don’t actually know about SEO and simply copy the default Kubrick theme as the basis of their own theme.

      While HeadSpace 2 can help to SEO your pages and add tags, keywords, meta titles and descriptions, it still doesn’t help you with the basic underlying data structure of your theme. There are some key elements (that I’m sure Andy will be demonstrating on his course) which need to be in place to really help your pages in terms of SEO.

      What that boils down to is changing the way the code appears in your headers, index, sidebar and footer of your site theme and to precisely position various tags (like the first link and H tags) so that keyword prominence on the page is maximised.

      Is this easy to do?

      I’d love to say it was a simple matter of shifting things round. From experience, there’s issues with cross browser compatibility when it comes to CSS and stying things properly. Being a bit of a WP theme tinkerer myself, I’m pretty pleased with the overall data structure of my latest site (see the code for the posts/pages) as it’s taken quite a while to get the balance between positioning code and making it work for IE6, IE7, FireFox 1.5, 2 and 3.

      If you’re using FireFox and are serious about SEO, then you should get the Web Developer toolbar – just so that you can strip away all styles and see how your site actually looks without any CSS.

      So, basically, hiding links using CSS doesn’t change the source of your page. This is really the important point to understand when it comes to SEO.


      PS: … and that’s just the beginning… just you wait – when Andy gets started on things like siloing and contextually related content or how to use different linking structures… Sheesh… that’s mindblowing!

      • says

        I actually quite like the Thematic way of doing this. On the home page the H1 is the tagline, and on single posts the post title.

        However in theory single posts should be using the short title for the h1, as it is more specific, and if we are going to listen to the guys from Stompernet, each page should be optimized for only a single keyword, especially as every niche becomes more competitive.

      • says

        Hi Zain,

        Thanks for very detailed response!

        I’m planning to develop my own theme framework (just for me), so I’ll try to work your advice into that. I guess it’s possible to make the first link (ie the header image) dynamic. Ie:

        if (is_home())
        {wrap in H1 tags and use keywords plus blog name as anchor}
        elseif (is_single())
        {forget H1 tags (wrap them around post title lower down via single.php) and use post name as anchor}

        and other cases for Category pages etc.

        Maybe I could use the tags or the slug (with dashes replaced with spaces) instead of the post name as the anchor for is_single?

        If I were to do something like that, there’d be no need to put the header image link lower down in the source would there?

        Lots for me to think about – thanks again!

  17. says

    I think no matter what each and every wordpress theme needs some sort of SEO tweaking. It couldn’t be that easy to just get an “out of the box” SEO friendly site that is ready to go.

  18. says

    Very interesting article Andy! In fact, I wasn’t aware of First Link Priority at all. I’ll have to dig this subject a little more… re-read you article and maybe do some modification to my blog…

    Thanks a lot!

  19. internet solutions says

    First link priority is one of those things that doesn’t seem to be a big deal until understood. Now every blog/website I visit will be scrutinized after reading your post today. I had never even thought of this before. Thanks for the info.