Drupal 7 and its predecessors are great for SEO, but out of the box certain SEO aspects can be lacking. A vanilla install of Drupal will not automate path names, and to some surprise meta tags are not a part of the Drupal Core. This article aims to gloss over the strengths and weaknesses of Drupal SEO and how to improve upon it. With a couple of modules and a little bit of configuration you'll be on your way to search engine dominance.
Drupal SEO Soft Spot
There's a bit of a debate over the value of Meta tags. I've seen conversations go both ways where one tech argues that meta tags are antiquated and search engines put more emphasis on page content and another tech argues that not only are they still relevant but there are more than just Google out there indexing web pages. I don't have a copy of the Google algorithm (if you do, please post it in the comments) but I'm pretty sure it's good practice to make sure all relevant meta tags are filled out properly. That means filling out the description and meta tags. Drupal doesn't have editable meta tags out of the box! That doesn't mean you can't add them, it just means its going to take a little bit of elbow grease to add them.
Official Metatags Module - Uh oh, this module doesn't have an alpha build yet. You can install the dev branch but that's not very reassuring if you're running a mission critical site. As with all open source software, we can't "complain." If you're reading this you may be able to contribute to the project. The module its self is sponsored by Aquia which makes its under developed status even more surprising.
Metatags_quick Right answer! The official module will most likely be a better pick once it hits a full version number, but for now this module makes meta tags possible, it just doesn't automate them. Installing this module allows you to configure both key words and descriptions for your pages manually.
A more flexible and more time consuming option is to roll your own. Drupal's module system makes it pretty easy to insert things into the head of the webpage. Failing that; in a dire situation, you can even hard code the meta tags right into the html.tpl.php template file.
PathAuto, Easy Title SEO!
PathAuto You're probably already using this module. It goes hand in hand with the clean URLs feature and it's configured well by default. If you haven't turned this on yet, turn it on! If you have it on but haven't poked around the settings, please do. You can use replacement patterns to alter how pathauto generates titles.
Drupal 7 SEO, the good parts
There's a couple of aspects of Drupal that really shine right out of the box. I'm going to rephrase that, there's one really sweet do everything feature in Drupal that really shines for everything. Taxonomy! Taxonomy is not specific to Drupal, but the implementation in Drupal is powerful, flexible, and easy to work with. There are two aspects of Drupal taxonomy that can be used to help your Drupal SEO efforts.
Tag pages. Delicious pages of content laser pointed at a specific keyword or category. Do create taxonomy tags, do tag your articles with meaningful key words. Do edit your taxonomy tag pages to include content that expresses the keyword properly, do make your tags available for lots of internal linking.
You can modify your taxonomy fields to include a rel tag to help with indexing on blog search engines. In particular technorati uses rel='tag' to find the tags that are related to a blog post. Over riding the taxonomy field template isn't immediately obvious without some digging, so here's the code to get you going.
<span class="field-type-taxonomy-term-reference field-items"<?php print $content_attributes; ?>>
<?php $num_fields = count($items); ?>
<?php $i = 1; ?>
<?php foreach ($items as $delta => $item) : ?>
<?php $item['#options']['attributes']['rel'] = "tag" ?>
<?php print drupal_render($item); ?><?php $i != $num_fields ? print ' ' : ''; ?>
<?php $i++; ?>
<?php endforeach; ?>
A word on what SEO is and what SEO is not
Sure, keyword stuffing, backlink hijinx, and harping over a page rank will help get you listed on a particular search engine, but those aren't real, long term strategies. Search engine scientists go to great lengths to develop algorithms that can find value in web properties and give end users the information they're actually looking for. That means that good SEO means having quality content that's well written and serves a purpose. If you create quality content the Internet has a way of finding it. If you're writing mediocre content or just trying to farm adsense ads, the Internet will see right through that as well. Good SEO means organized categories, meaningful page titles, and helpful meta tags, all things discussed here today.
Do you have Drupal SEO tips you'd like to share? Was I wrong or miss something obvious? Let me know in the comments! The comment links are nofollow so don't get any crazy ideas about drinking my link juice!