Out of the box Drupal creates a standards complaint website. Ideally a website should provide as much information possible about its’ content. As web developers we typically do this by:
- Make urls Readable for the visitor. This is typically called Pretty-Printed urls or Clean URLs.
- Provide an XML sitemap of content found on your site (and keep it up to date).
- Provide Meta information of content found within a page of your site. Typically refereed to Meta Keywords, Title and Descriptions. While Google may no longer use these tidbits of information in their Ranking algorithms. Other search engines may use this information to help categorize your content properly.
Drupal contributed modules help to take a standards complaint default Drupal site and add all the above functionality into it. Typically for all websites I create I include the following SEO modules within my site recipe (usually Drush Make).
SEO Community Contributed Modules
The default (canonical url) for Drupal content is node/NID. A random page on your website about fish may be node/43. Drupal assures every piece of content is generated 1 unique url using this format. Unfortunately, this url scheme is meaningless for our site visitors.
The Pathauto module allows site administrators to create Semantic URLs for your site content. It creates an alias for every piece of content following patterns defined by the site admin. Our example of node/43 could be reachable by a custom alias of say /fish. Having a url path of http://www.somesite.com/fish is much more readable than http://www.somesite.com/node/43.
The patterns for pathauto can be menu driven, or content driven. Typically they make use of Tokens in Drupal.
As mentioned above the Pathauto module is great! But, it creates an alias for content on your site. Having 2 urls pointing to the same piece of content on your website is a very bad thing when Google sees it. In order to stop this behavior we can install the global redirect module. It redirects the canonical node/NID url provided by Drupal to the alias. This redirect is transparent to visitors of the site (essentially) and stops your content from having 2 sources for Google.
The Global Redirect module can perform some other useful tasks as well; it’s worth noting that the url path /node/NID/edit paths still work with Global Redirect. I find while building websites I remember a set of NIDs for debugging and testing site design and content and need to check and edit these pieces of content readily. They are still reachable from those specific urls.
This module provides an xml sitemap for your Drupal website for all pieces of Node content on your website (by default). This module will submit your sitemap.xml file to various search engines periodically. This relieves the tedious hassle of trying to do this yourself.
The metatag module allows you to define meta description, titles and keywords for Node content when authoring content. This meta data may not be used by Google’s Ranking algorithm — but many search engines will use this information to better categorize your site content. Every page need not make use of this meta information — but these fields need not be required during content authoring.