You are hereBlogs / anthony's blog / My Favorite Drupal 6 SEO Modules

My Favorite Drupal 6 SEO Modules


By anthony - Posted on 26 June 2008

Here's a quick list of my favorite modules I'm using for search engine optimization. It's a moderately technical post, but hopefully helpful for those of you interested in developing on the Drupal platform.

PathAuto with Clean Urls enabled

Truly a must-have module for all Drupal installations. This module makes it easy for page or node to have a unique and SEO-friendly URL. The default configuration for PathAuto is quite good and produces adequate URLs for a basic blogging site (such as this one).  It can also be configured with extensive character replacement and taxonomy-based rules for building heirarchies on more complex websites.

XML Sitemap or This Nice Hack

The official XML sitemap module hasn't been released for Drupal 6. This is fine with me as I have no need for advanced features such as assigning priority to different pages on the site. But, I was delighted to discover a simple little hack that dynamically generates a Google-ready sitemap. It's not pretty, but it's sufficient for my purposes.

Page Title

This module allows you to control the title of each page or node manually (if you like).  Drupal's default setup is to use the same text for the title tag and the title field.  Thankfully, this not an SEO disaster.  But, installing the Page Title module will give you more control and the ability to use synonyms or other keywords if you want mix things up.  It's not yet ready for Drupal 6, but it should be shortly.

Nodewords (AKA Meta Tags)

A handy module that allows you to specify meta keywords and descriptions for each page (or node) as well as the homepage. Meta keywords can be automatically derived from vocabularies (such as tags) and the meta descriptions can be derived from the page teaser. It also supports GeoURLs for cool services like Outside.In.

ShareThis or Service Links and Trackbacks

The first two modules are two alternatives for adding "flare" to your website. While these don't directly relate to SEO, you can't argue with the benefit of getting a digg or two. If you don't mind the extra javascript, the ShareThis service is really nice (it offers the benefit of "hiding" the icons). It's one of the few instances where I prefer the 3rd party widget approach to Drupal's homegrown Service Links.  If you don't like javascript or prefer more control over the services you use, definitely check out Service Links.

I don't use trackbacks, but if you do, this module does the trick. It's another way to generate good inbound links.

Global Redirect

This is a module that takes care of the dreaded duplicate content that search engines seem to hate.  It creates 301 redirects for two potentially duplicative URLs.  Without this module, this page could be accessed at:

http://www.ashowalter.com/content/my-favorite-drupal-6-seo-modules
http://www.ashowalter.com/content/my-favorite-drupal-6-seo-modules/
http://www.ashowalter.com/node/38

That's 3 distinct URLs with the same content.  Bad Drupal!  Global Redirect takes care of it in a hurry.

The only problem with this approach is that it does require some additional processing time on each page view.  The problem can also be solved with 2 simple changes to your .htaccess file and robots.txt file

Here's what you want in the .htaccess file

#get rid of trailing slashes
RewriteCond %{HTTP_HOST} ^(www.)?ashowalter\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

And, while you're at it, make sure that you have a proper 301 redirect set for your domain prefix (i.e. with or without the www).  Since I prefer the www, mine looks like this:

RewriteCond %{HTTP_HOST} ^ashowalter\.com$ [NC]
RewriteRule ^(.*)$ http://www.ashowalter.com/$1 [L,R=301]

The /node/ problem can be taken care of by adding 1 line to your robots.txt file.  This line will ask search engines to ignore the entire path.  So, while content will still be accessible there, it won't be indexed and you won't be penalized. Just add this line towards the end of your robots.txt file:

Disallow: /node/

(thanks to blamcast for the tips)

Recent Photos

entrance.hallway.and.living.roomliving.room.reverse.stitchliving.room.reverseliving.room.stitch

My Bloglog

My Music This Week

Twitter Feed

  • santhonys: @valuestocks check out @haikulearning - free individual version and includes exams/assessments
    6 days 15 hours ago
  • santhonys: @ninjafast hi Ted. Did u look @ shopify or other saas providers? If you're looking for custom/consulting options, just let me know
    1 week 9 hours ago
  • santhonys: Going w/ @tylerflorence as my celebrity look alike for the week. #fb
    1 week 2 days ago
  • santhonys: @devinmason Try @manymoon - built on google apps. v. cool.
    1 week 4 days ago

Ads