When it comes to SEO, I'm no expert, I know what makes sense, I take a lot that I see around the 'Net with a grain of salt, and whenever possible I experiment, and I take
advice from experts. So far I've done OK, I usually rank in the top half dozen pages for most of the major keywords I'm targeting, for example a search for 'serendipity templates' will usually find me pretty quickly.
The thing is though, doing SEO on your blog is one of those intangible things that a lot of people don't do right, or aren't able to measure in isolation from normal organic popularity of their blog. Measuring the results of your experiments is easy with regular HTML pages which don't have commenting functions, usually aren't updated all that often, and don't usually take advantage of the built-in social networking that comes with having a blog.
I know that was a broad sweeping opinion but stick with me for a moment. The advantage of regular HTML pages when doing SEO experiments is that you are able to track the results of your efforts reasonably easily. Tweak a part of the code or content, wait a few days while the spiders do their thing, measure the increase or decrease in SERPs (Search Engine Results Pages) or traffic, voila, your tweak was successful or a dismal failure.
Blogs on the other hand are much more complex and tracking the effect of a single change isn't easy. Especially if your blog is even vaguely popular. Usually most bloggers are only able to point to the popularity of their content as a reason for increased SERP or traffic. So, apart from writing popular entries (yeah I know, not so easy is it?) how else can be a blogger increase their SERPs and traffic?
Blog SEO starts with the engine you choose to use, and the plugins or mods you install on it. I choose to use Serendipity, otherwise known as s9y, rather than Wordpress or Blogger. Frankly I don't like Wordpress, it just doesn't seem friendly to me. I do like Serendipity and Blogger, can you tell? Hint, look at my navbar - points upwards.
Usually Serendipity does a pretty good job of producing code that with well written content will get you some good positioning, however there is always room for improvement. SEO on Blogger will be covered in a separate entry in a few days.
Let's start with your domain name. Performing SEO on your blog is all very well and good, but if the search engines see two sites,
http://yourdomain.com and
http://www.yourdomain.com you run the risk of splitting your search engine results over those two domains. Some will tell you this can also lead to a duplicate content penalty, I haven't observed this, but it's possible.
If you haven't already redirected your non-www traffic to your www URL, read
Abdussamad's canonical tutorial on the subject. When I added the 301 redirect to my .htaccess file I copied the rules directly from his site resulted in both rules on the same line, which of course doesn't work. So, put a hard carriage return in between them to be sure.
My second recommendation is to install Serendipity's meta description plugin, check out
Don's detailed description. It's an awkward name for a plugin that really makes a difference to the way your site is displayed in the search engine.
By default, the Serendipity title in the HTML header of your page is derived from the entry title. Great stuff and for most bloggers it works really well. But here's the rub, if you want to be serious about your SEO, your title needs to be separated from your entry title, after all, the search results pages will happily display the header title as the link to the page, and your entry title and meta description in the result so why miss out on this valuable marketing if you don't have to.
My own site (this blog) uses the meta description plugin, and some custom code in my template with the result that my entry title is always enclosed within an <h1> when on the detail page, so the search engine listings show my header title as the link to my page, followed by my entry title, followed by the meta description or the relevant section from my entry. Powerful stuff I'm sure you'll agree.
So, let's talk about that custom code I use. I edit two of the many template files, namely index.tpl and entries.tpl so that when a visitor views my homepage or one of the archive pages, my <h1> is the blog name and all entry titles are downgraded to paragraphs <p>, but on a detail page it changes. The <h1> becomes the entry title, and the blog name becomes an <h2>.
I can't say how much impact this will have on other blogs but on my own blog it seems to have been responsible for listing a few pages out of Google's supplementary index. Now it's important to note this is not black hat stuff, this is how the HTML header tags are supposed to work, in other words, the most important title on the page should be the <h1> tag.
Here is my smarty code as used on this site, feel free to use this in your own template files.
index.tpl
{if not $is_single_entry}
<h1><a href="{$serendipityBaseURL}" title="{$head_title|@default:$blogTitle}">{$head_title
|@default:$blogTitle|truncate:60:" ...":false}</a></h1>
{else}
<p class="head1"><a href="{$serendipityBaseURL}" title="{$head_title|@default:$blogTitle}">{$head_title
|@default:$blogTitle|truncate:60:" ...":false}</a></p>
{/if}
<h2>{$head_subtitle|@default:$blogDescription|truncate:65:" ...":true}></h2>
entries.tpl
{if not $is_single_entry}
<p class="entry-title serendipity_title"><strong><a href="{$entry.link}">{$entry.title}</a></strong></p>
{else}
<h1 class="entry-title serendipity_title"><a href="{$entry.link}">{$entry.title}</a></h1>
{/if}
don chambers said,
Tuesday, November 13. 2007 at 03:38 (Reply)