Structural SEO for WordPress Blogs - Gettin’ Friendly with the Engines
Is your WordPress blog search friendly? Can your content be easily crawled and indexed, or are you sending the spiders away empty handed and confused by duplicate content and convoluted navigation? With a little work you can make your website SEO Friendly, get the rankings that you deserve, and improve usability for your readers.
This post is part three of a series on Wordpress Structural SEO. The other two are: On Page SEO for WordPress, and WordPress Optional Excerpt. I’ve tried not to rehash very much of the information contained in those two articles, so to get the full picture (my version of it anyway) you should check them out if you haven’t already.
There’s more to SEO than just using keywords in your copy and generating a site map - things like networking, link building, and leveraging social networks - things that happen outside of your site. That external SEO work is very important, but the structural SEO that you can do on your WordPress Blog prepare it for the attention that you hope to get from search engines. Structural SEO is kind of like getting ready for a date - you still have to go out there and interact, but if you aren’t properly groomed and dressed you’re unlikely to get lucky - unless of course you’re really hot.
Even though at first glance this looks like a lot of work, it’s really not, and much of it only has to be done one time, and not even all at once. When considered over the lifetime of your website the benefits from just a few hours work can be huge.
The Path to Structural SEO Nirvana:
Site Architecture
- Use an SEO friendly permalink structure - More about permalinks - This is one thing that you should do ASAP.
- Keep your website architecture as flat as possible - More about flat architecture
- Use a plugin like: Google Sitemaps by Arne Brachhold to automatically generate and submit a new Google sitemap whenever you create new content.
- Also install an automated user readable HTML sitemap like one generated by the Dagon Design Sitemap Generator Plugin for Wordpress.
Duplicate Content and Canonical Issues
- Use htaccess to redirect to your canonical URL. - What it is and how to deal with trailing slash canonical issues using htaccess.
- Use the more tag to actually reduce the amount of duplicate content that WordPress creates. - More about the more tag.
- Use the post excerpt feature to avoid duplicate content and add value to your category pages. - More about post excerpts.
- Install something like Joost deValk’s Robots Meta plugin to block duplicate content like archives and undesired pages from being indexed. - More about blocking duplicate content.
Tips
- Use a keyword/phrase in your tagline if possible.
- Link to other pages on your own site – especially the important ones – either manually or by using a plugin like: Similar Posts
- Apply On page SEO techniques to every post or page you write. More about on page SEO
- Enable Trackbacks and Pingbacks.
- Use (free) Google Webmaster Tools.
- In GWTs declare your preferred domain structure and stick to it.
- Apparently in the past putting a post into multiple categories created duplicate content, but with later versions of WP this isn’t the case, so despite what you might have read in older articles, don’t worry about this one.
- Your robots.txt file should point to your xml sitemap expecially if you’re sitemap isn’t actually called sitemap.xml the line of code would look like this:
Sitemap: http://www.example.com/sitemap.xml Even if Google already knows about your sitemap via webmaster tools this will help other search engines to find it.
Helpful Resources
SEO Friendly Permalinks
The permalink structure determines the URLs that your site uses, and is something that you want to configure before you start blogging and hopefully never change - so try to get it right the first time. For some reason the default configuration of WordPress uses “ugly” permalinks. Fortunately fixing this is very simple - In WP administration go to Options>>Permalinks and check the custom button then use a structure that contains the post name - /%postname%/ - or even use only the post name. The best structure to use is debatable, but the broad consensus is certainly to use the postname in there somewhere, and probably the category also. Whatever you choose, take a look at it on your site, make sure it’s right, and then stick with it once you start publishing posts.
If you have a blog already, and you now realize that your permalinks are set up badly there is a way to fix this without losing whatever incoming link love that you already have. You can use a plugin like Scott Yang’s Permalink Redirect to permanantly redirect any old posts to a new improved permalink structure of your choosing. A word of caution - think about it before you do this because you should only do it one time ever, and even that contains some elements of risk. If your blog is brand new, and you have very few, or no incoming links yet, it might be best to just change the permalink structure, and forget about the redirects.
Flat Architecture
You want every page on your site to be accessible with as few clicks as possible from the home page - preferably no more than 2 or 3. Until you have more than 10 posts WordPress automatically gives you the ultimate flat site architecture - everything will be only one click away. Until you have more than 10 posts in any given category nothing will be more than two clicks away via the category pages. Soon after that point you’ll need to take some action to keep your site architecture as flat as possible.
Eventually you will need to keep in mind that the Google Webmaster Guidelines suggest that no page has more than 100 links on it. There are lots of ways to deal with this issue including plugins to generate site maps and extend the number of posts linked to from the category pages, along with hacks that can be done to WordPress itself if you have that skill.
Note that even though the proper use of an XML sitemap should insure that the spiders will find and index all of your content, it won’t guarantee that the flow of link juice created by your internal linking structure will be correctly registered by Google. So use a sitemap, but also try to keep your architecture as flat as possible so that your important content gets the full credit that it should.
Maximizing Available Link Juice
Link juice / Page Rank is created to some degree when an internet document links to another even if those two documents are on the same web site / domain. Since webmasters usually have little if any control over external links from sites that we don’t control, the main concern for the purpose of this article is the creation and flow of internal link juice.
The goals concerning link juice (define) in WordPress are the same as in any other web site – create as much as possible, and concentrate it in the most advantageous places.
Duplicate content
The problem with duplicate content is that it divides a finite amount of pagerank / link juice between the duplicate pages instead of concentrating it where you want – in the canonical version.
A default installation of WordPress will create several virtual copies of every post that you publish – A copy of the latest 10 posts on the homepage, the canonical copy of each that is linked to from the home page, and a copy which is archived by date. If you do a site:http://www.mysite.com Google query you will probably find that Google thinks your WordPress website has many more pages than it actually does, and that most of them are duplicates. Most SEOs (not all) agree that this is a bad thing.
Dealing with duplicate content and Concentrating Link Juice where you want it
Use the more tag effectively – If you use the more tag (in the post editor the icon that looks like a page torn in half) only a small part of each post will appear on the home, category, and archive pages – the complete post will only be in one location. That one tip will take care of a great deal of the duplicate content issues in WordPress. If you also use the Optional Post Excerpt feature you will eliminate the duplicate content that usually occurs on the category pages while also turning them into well focused content.
In addition to duplicate content a site:domain search may reveal that your Login, About, and Contact pages out rank some of your articles because there’s a link pointing at them from every single page of your site. This is probably not what you want. For this and ninety percent of WP duplicate content problems you can use Joost deValk’s Robots-Meta plugin to selectively block feeds and pages. This plugin is a really powerful tool with lots of options, and even includes an htaccess editor so that you can view and edit that critical file from within WordPress. If you’re not too sure about all of those options then just leave them alone – the configuration of the plugin is correct for most sites right out of the box. However, if you’re going to use the Optional Excerpt feature, then you need to uncheck the box for blocking category pages. Joost has lots of his own great WordPress plugins and information on his site. If you haven’t already you really should check it out.
Trailing Slash Canonical Issues
If you want to really sanitize the duplicate content issues from your WordPress site then you will have to deal with the fact that some incoming links will include a trailing slash and some won’t. Apparently some of the search engines think this means that www.somesite.com and www.somesite.com/ are two identical but different places. Scott Yang’s Permalink Redirect plugin can deal with this issue along with helping you to change your existing ugly permalink structure.
If you’re adventurous you can edit your htaccess file manually instead of using a plugin. You can get the details about how to do this from Andy Beard’s excellent article “Ultimate WordPress Htaccess file” or from Sebastian’s Pamphlet on trailing slash canonicalization . Be careful with your htaccess file though - a mistake there can make a wretched mess of your entire site. Always back up first.
If you sell something on your website, you certainly want to have lots of links going to the page which starts the sales conversion process, but you don’t want many links going out from those sales pages - this is sometimes referred to as a funnel process (define). There are two reasons for this - 1) Any page with lots of links coming in, but few if any outgoing links will retain a maximum amt of link juice, and will be more visible in the search engines. 2) Once you have customers on the path to making a purchase you don’t want to distract them away with outgoing links. For usability you might want your conversion pages to have normal site navigation, but even that is debatable. You also want to design that first page in your sales process to be able to stand alone as a landing page (define) so that people who arrive directly from the search engines will continue through the funnel process and convert to customers - but that’s another subject completely.
Links Between Articles on your Site
Links between articles on your site contribute to the pagerank of the pages that those links are pointing to. This is probably most effective when the links use targeted anchor text (define) are coming from pages with related content, and especially from pages with higher PageRank due to incoming links. Nonetheless you should make a practice of linking to other articles from within your posts, and especially to the pages that you would most like to be visible in search engine results such as conversion or landing pages.
Use links with absolute references (define) to your site and within articles (have each article link to itself in other words) to help combat scrapers (define). This way at least if you get scraped the spammers will be linking back to you, and Google will be able to tell that yours is the original.
Internal linking can be somewhat automated with plugins that list related or popular articles such as Similar Posts - Works great easy to install.
Especially important pages can be included in the global navigation or actually created as a “WordPress Page”. In WordPress the term “Page” refers to a (pseudo) static page (define) such as the “about” or “contact” pages that most web sites have. When you create a “page” in WordPress it will automatically be added to the banner navigation on every document on the site. This WordPress page / post concept can seem a bit confusing, but it’s simple to understand once you start using WP.
Pingbacks and Trackbacks
Trackbacks (define) and Pingbacks (define) are both ways to automatically alert other blogs that you have linked to them in your article. Blogs with these services activated will put an excerpt and a link to your article in the comments of the page that you link to. Allowing Trackbacks and Pingbacks encourages other bloggers to link to your content, and participate in the blogging conversation. To enable trackbacks and pingbacks open the WordPress administrative interface, click on Options>>Discusion and check all of the first three boxes.
Pinging Update Services
One of the most powerful WordPress features is found at the very bottom of the WordPress Options>>Writing administrative page - a box where you can list update services to be “pinged” or notified whenever you publish a new post. WordPress by default lists only one service http://rpc.pingomatic.com/ and honestly that seems to work great. When your blog notifies pingomatic that you’ve posted a new article many other services are automatically notified and your article propagates all over the internet. Nonetheless, there are many update services available on the WordPress Codex, and even more services you can ping here - it might be worth looking into adding a bunch of them to this list. I haven’t tried it yet myself, and for all I know it might be the equivalent of submitting to hundreds of search engines (IE worthless) - use your own judgement.
There is a potentially serious issue with the way that WordPress handles pings. Apparently every time you edit and save an already published article the update services are re-pinged. If you’re like me and you repeatedly re-edit your posts (40 or 50 times in the first few minutes after hitting publish) you can be banned for ping spamming. To remedy this potentialy huge problem you can install something like the Max Blogpress Ping Manager plugin which eliminates automatic re-pinging, allows you to do manual pings and automatically keeps a log of your pinging activity. Note: the Max Blogpress plugin seems to work great, but requires free registration and the developer will send you emails hawking their various products from time to time constantly. Apparently this wacky programmer hopes to get something back for giving away his work - What’s up with that?!
Test and Tune
To truly optimize your website you need some way to measure how people and search engines are interacting with it. Depending upon your hosting service you may have access to server logs, but unless you’re something of a power user it will be hard to get the full benefit out of that data. But there are at least two tools that are very easy for anyone to use - not to mention free. The first is Google Webmaster Tools and the other one is Google Analytics. I’ve heard it said that using these services could be risky because they give Google too much information about your activities - so use your own judgment. Nonetheless they’re both very useful and popular. There is one very useful report in Webmaster Tools - “Top search queries” - that gives information that I’m not sure you can get anywhere else. I highly recommend that you install some kind of analytics package early in your blog’s life because for most of them the information only starts when you sign up or install the service - whatever comes before remains a mystery.
A word about installing Google Analytics - there are plugins available for this, but you really don’t need one. Manually installing the code is almost as easy as using a plugin except for one thing - if you ever change themes you will have to reinstall the analytics code. Manually installing it is this easy: In WP click on Presentation>>Theme Editor then select the footer.php file from the list on the right side of the edit window then simply paste in the analytics code right before the </html> tag. That easy.
One Last Thing
In the interest of full disclosure, I should tell you that my experience with WordPress spans over a total of six month or so - I’m not an expert on WordPress or SEO. If you look closely you’ll see that I haven’t even implemented all of these things yet on my own website. So, use your own judgment as you proceed. Despite my lack of extensive experience I hope this article is useful.
I’d like to thank Steven and Pete for their input on this article, and also all of the great SEO and WordPress bloggers out there for the hard work that they do to make this information available to neophytes like me.
March 3rd, 2008 at 10:31 pm
[…] Structural SEO for WordPress blogs - Get Friendly with the Engines There’s more to SEO than just using keywords in your copy and generating a site map - things like networking, link building, and leveraging social networks - things that happen outside of your site. That external SEO work is very important, but the structural SEO that you can do on your WordPress Blog prepare it for the attention that you hope to get from search engines. Structural SEO is kind of like getting ready for a date - you still have to go out there and interact, but if you aren’t properly groomed and dressed you’re unlikely to get lucky - unless of course you’re really hot. […]
March 7th, 2008 at 10:20 pm
[…] He goes on to reveal some tips to get your blog to be SEO friendly. […]
March 7th, 2008 at 10:58 pm
[…] He goes on to reveal some tips to get your blog to be SEO friendly. […]
March 8th, 2008 at 3:20 am
This is a great post! It’s everything I do when I install a new Wordpress blog and more. Now I don’t have to write it all up. I’ll just point people here. Thanks!
March 8th, 2008 at 12:30 pm
@Bill McIntosh - thanks for the vote of confidence Bill, I hope you come back by in the future.
I’m going to compile a simple list of all the plugins I’ve mentioned (or have been suggested in comments) in the WP optimization posts to make it more convenient to quickly grab them when you’re setting up a blog, so check back.
March 10th, 2008 at 3:52 pm
[…] the post’s ID number. There’s a really useful article over at MetaToast.com called Structural SEO for WordPress blogs which goes into a lot more details about this and a number of other useful tips for setting up […]
March 20th, 2008 at 12:23 pm
omg.. good work, guy
April 24th, 2008 at 8:30 am
[…] and the controversy around it. Needless to say you should get your on page elements and site wide structural SEO in order first […]