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.
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:-
- If they have some kind of header navigation, it appears in the source code before the content
- 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.
- 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.
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.
Definitions
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.
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
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
(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
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
Here is some code to play with, taken straight from my functions.php of the child theme I use with the Thematic theme framework.
<?php // 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&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:-
- If short title is defined, use it
- If there isn’t a short title, but a meta title is defined, use that instead
- 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 } <![endif]>
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.
The post A Geeky Look & Some Simple Solutions To Achieving First Link Priority & Referential Integrity With WordPress (Or Why WordPress SEO Themes Aren’t) appeared first on Internet Business & Marketing Strategy - Andy Beard.