Many people who have WordPress blogs give very little, if any, thought to search engine optimization (SEO) other than possibly setting the title , meta keywords, and meta description elements on their post pages. But there are lots of things that can be done with a WordPress blog to optimize it for search engines. Also, many of the tips below apply to any blogging platform, not just WordPress.

IMHO the two biggest problems with blogs in general from a search engine optimization perspective are:

Most theme designers know very little about SEO and therefore design SEO-unfriendly themes and
Because of their very nature, blogs are typically riddled with duplicate content.
If you tackle these two problems you will be well on your way to great rankings with WordPress. Most of the tips that I provide below will be related to dealing with the above two problems.

Tip 1: Select an SEO-Friendly WordPress Theme
The most obvious way to give your WordPress blog an advantage in the search engine results pages (SERPs) is to select a blog theme that is SEO-friendly “out of the box”. Unfortunately these are few and far between… not only amongst free themes but even amongst the premium themes available in the market. WordPress theme designers (like most web designers) generally give very little thought to SEO.

When evaluating WordPress themes, look for the following SEO-friendly features:

The theme should provide the ability to set custom title, meta description, and meta keywords elements for every page and post on the site. The title element should not be hard coded to be the post name.
Every post page should render the post name as an H1 element.
The theme should support custom excerpts on the home page, category pages, archive pages, and tag pages where multiple posts are listed. These multi-post pages should never display the entire post. Nor should it simply display the first XXX characters/words of the post as an excerpt.
The home page, category pages, archive pages, and tag pages where multiple posts are listed should render each post name as an H2 (or possibly and H3) element.
The theme should provide the ability to control the meta robots element for each page type: home page, post page, static page, category page, archive page, tags page.
The theme should use SEO friendly page names and not query string riddled, dynamic URLs like example.com?id=182. The SEO-friendly page names typically should default to the post name but allow the author to change it to a custom page name.
I will explain “why” the above features are important in more detail in the subsequent tips below.

IMO Chris Pearson over at DIYThemes.com has written what is the most SEO-friendly AND professional looking WordPress blog theme out of the box. The theme is called Thesis and is used by a lot of big name SEOs to implement their own sites. There are good reasons that SEOs are using this theme to build their own blog sites. Thesis has built into it all of the tools you need to optimize your blog to maximize search engine rankings.

I purchased a Thesis developer license (it costs about $165) which allows me to not only remove the DIYThemes attribution from the footer but also to use it on an unlimited number of domains as long as I own them. Both the single site license and developer license entitle you to lifetime upgrades. Thesis has a strong developer community as well with a dedicated forum.

As an added bonus, the CSS and web design for Thesis are flawless. The theme even gives you a way to customize the theme for your own “look and feel” which doesn’t require re-coding your changes to the theme with each new release/upgrade.

Tip 2: Dealing with SEO-Unfriendly WordPress Themes
If you cannot find or afford to purchase an SEO-friendly WordPress theme like Thesis then the next best choice is to make the most of the theme that you have. The All-In-One SEO Pack plugin is probably the most used WordPress plugin for optimizing sites based on SEO-unfriendly themes.

Tip 3: Fixing URL Canonicalization for WordPress
The very first thing I do when I set up a new WordPress blog (or optimize someone else’s blog or site) is to fix URL canonicalization issues. This should be every blog owner’s first order of business.

Each page on your WordPress blog should have one and only one URL that can be used to render its content called the canonical (or “preferred”) URL. All other non-canonical URLs that can be used to render that same page should be 301 redirected to the canonical form of the URL.

If your site is hosted on an Apache web server you should have access to a URL rewriting utility called Mod_Rewrite. You can easily fix the www vs. non-www URL canonicalization issues by adding a couple of lines to the .htaccess file located in the root of your web.

If you’d like the www version of your site’s URLs to be the canonical form then add the following lines to the .htaccess file in the root of your web:

RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]and replace example.com with your domain name.

If you’d like the non-www version of your site’s URLs to be the canonical form then add the following lines to the .htaccess file in the root of your web:

RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]Tip 4: Do Not Use Free Web Hosting
While free web hosting at places like wordpress.com and blogger.com might be okay for someone simply wanting to experiment with blogging, if you are building any type of business site or even a personal site that you feel might possibly one day grow into something special then don’t bother with free hosting. You can get excellent hosting services often with a dedicated IP address at places like GoDaddy, BlueHost, and HostGator for around $10/month.

Free web hosts typically have all types of restrictions on what you can and cannot do with your blog. Some will not let you have Adsense ads on your site, for example. Many people using free hosting create a blog and spend lots of time/effort driving traffic and establishing organic rankings only to find that they cannot advertise on the site to monetize the traffic.

But most importantly, if your blog ever becomes popular and you need to move it to a paid web host that can handle lots of traffic, you will likely be screwed. Most free web hosts do not provide you a method to 301 redirect web pages. You will be unable to redirect requests from browsers (and crawlers) for old URLs on the free hosting site to the corresponding new URLs on your new paid hosting site. So at this point you basically have to start over trying to get your new paid hosting site to rank because you will be unable to transfer credit for links to the old free site over to the new site using 301 redirects.

Tip 5: Host Your Blog on Apache
Unless there is some overwhelming reason not to do so, I would highly recommend hosting your blog on an Apache/Linux platform. WordPress, for instance, runs on Apache. “Why does it matter?” you might ask. Well, Apache comes with Mod_Rewrite which was mentioned back in Tip 3. This utility is VERY powerful and extremely handy for fixing all sorts of webmaster problems by utilizing URL rewrites and redirects.

Tip 6: Custom Excerpts
Having a WordPress blog theme that supports the use of custom excerpts is crucial to SEO IMO. Most free blog themes will simply display the entire post on the home page, category page(s), archive page, and tag pages. This creates many copies of your post throughout your site. This is not optimal.

Even if your WordPress theme doesn’t display the entire post but instead displays the first XXX characters/words of the post on the home page, category page(s), archive page and tag page(s), it is still not a best case scenario. This still creates “partial” duplicate content where parts of your post appear on multiple pages of the site. Again this is not optimal.

Using a WordPress theme that supports custom excerpts is most desireable. Custom excerpts when used together with a meta robots element to NOINDEX the archive and tag pages (see Tip 9 below) can prevent ANY of the content of your post from being duplicated. It also allows you to add a custom link to the post at the end of the excerpt which contains a variation of the post’s targeted keyword phrase as the link text rather than simply having the usual “read more” type link.

Check out the custom excerpts for my posts on my home and category pages to see what I mean.

Tip 7: Custom Title for Optimization
Many free and premium WordPress themes use the page name or post name as the value for the title HTML element. This is less than optimal because you should be optimizing the title element for a very specific keyword phrase (possibly two or three phrases if they are very similar). And this may not read well as the page name or post name.

The post name should generally be more marketing oriented to entice visitors to read it. The title HTML element needs to be very focused on the keyword phrase being targeted and not contain a bunch of “fluff words” for marketing like those typically used in page names and post names.

Make sure you have a way to provide every page on your WordPress blog with a custom title HTML element that can have a totally different value than that of the page name or post name.

Tip 8: Custom Meta Descriptions for Optimization
While optimizing the meta description does not help you rank at most search engines (including Google), it is VERY important for other reasons. It’s important at Google because a well optimized meta description will appear more often as the Google search snippet. If Google displays your meta description as the snippet and it is well written with a clear call to action, it can drastically approve your click-thru-rate in the search engine result pages (SERPs).

So it’s very important that you are able to provide a custom meta description element for each page and post on your site.

NOTE: You’ll notice that I did not mention optimizing meta keywords via a custom meta keyword field. I still look for this as a feature in my theme even though almost every search engine out there completely ignores the meta keywords HTML element from a a ranking perspective. This element has been so abused in the past that Google and most other engines ignore it. Danny Sullivan did prove last year that Yahoo! was actually still using it as a ranking factor after Yahoo! executives at SMX professed that they did NOT use it. Regardless, I always include 5-10 keyword phrases in my meta keywords element for each page even if they are ignored by most engines just for “completeness” sake.

Tip 9: One Category Per Post
While most bloggers will place a post in multiple categories, each post on my blog is placed in one and only one category by design. This is a function of the WordPress blogging software and not the theme itself. I do this because I do not want the same excerpt for a post to be indexed under multiple category URLs. Doing so eliminates duplicate copies of my excerpt across multiple category pages on the site.

Tip 10: Noindex WordPress Archives and Tags Pages
A good theme will allow you the ability to control the meta robots element of every page and post on your site. This feature is very important for eliminating duplicate content.

I always set my meta robots elements on my archive and tag pages to NOINDEX. Even though I use custom excerpts on the home page, category page(s), archive page, and tag(s) page, I want to make absolutely sure that the duplicated excerpt is not indexed under multiple URLs.

The only pages where I allow duplicated excerpts to be indexed are the home page (because it would be stupid to NOINDEX the home page) and the one category page for the post. This duplicate excerpt condition only exists until the post rolls off of the home page. Once enough posts have been added to the blog to force a post off of the home page, the excerpt will ONLY appear and be indexed on the one category page for that post. And the post itself will ONLY be indexed on the post page.

If you think about it, having your category pages contain the one copy of your excerpts for that category makes total sense. Everything in that category should be about the same topic (which should be the keyword phrase targeted by that category page). Because I use custom excerpts, all of the content on the category page is totally unique.

I use the category page to target a broader keyword phrase than the posts it contains. And that category page links to a bunch of posts that all fall under that general topic but target more specific, long tail keyword phrases. So I essentially build an SEO-friendly theme pyramid site architecture using categories and posts.

Archive pages provide very little, if any, SEO value to a blog because they typically contain simply all of the posts during that month. Each post “could” be about a topic totally unrelated to all other posts during that month. So having these pages indexed is essentially worthless. They are not focused enough to rank well.

Tag pages are provided for usability. They provide very little additional SEO benefit because they are made up of duplicate content from the category pages. Any SEO benefit they may provide via their groupings will likely be more than offset by the duplicate content issues they create, especially since a single post can appear under many tags.

For these reasons the archive and tag pages on my sites are always flagged NOINDEX using a meta robots element.



1 comments:

helper

July 1, 2010 at 10:16 PM
Permalink this comment

1

said...

wow cool article

Post a Comment