You’re the best!! - Freelance Designer, Surrey BC
Drupal and Search Engine Optimization
At it's core, Drupal is a very good platform for the creation and categorization of content. The taxonomy module, although it sometimes leaves on scratching one's head, is an extremely effective module. This and two other modules are responsible for the core SEO goodness of Drupal.
Categorization of content allows a website owner to create tags/categories that are viewed as pages by search engine spiders, using the keyword in various important places to show that content in that category is about that topic. If, for example, a website is about pets, and there are categories for 'cat' and 'dog', displaying the 'dog' category will list content that is related to dogs. This page is then fairly well optimized to the term 'dog', but could be even more effective by using long-tail keywords such as 'black labrador puppies'.
The second core module that is great for SEO is the Path module. Allowing site owners to create descriptive paths is very important in SEO, as having the keyword as part of the path is a very good technique. That means my post about Black Labrador Puppies could have a path of mydomain.com/black-labrador-puppies.
For the best results, switching on Clean URLs is important, so paths are not shown as parameters (mydomain.com/?q=node/1).
Finally, CSS and Javascript aggregation is great for reducing page load times. Be sure to separate styling and Javascript from the HTML by using Drupal's built-in hooks.
There is additinally a collection of excellent modules that benefit SEO activities on Drupal sites:
- Pathauto - this excellent module creates a path automatically for a number of objects, including nodes, taxonomies and terms, users and blogs. For example, a node entitled "Black Labrador Puppies" will cause the path to be automatically generated as /black-labrador-puppies, although it is also possible to set Pathauto up to use a variety of patterns (Tokens) to generate paths.
- Token - a required module for Pathauto, Token generates text patterns for a variety of elements.
- Path Redirect - Redirection is important in SEO as it allows a site owner to reduce duplicate content, as well as handle path changes and other content changes. With this installed, be sure to have Pathauto redirect the old alias to the new alias in case of a change, so that old links will still work.
- Global Redirect - very importantly, Global Redirect redirects 'permalinks' to node aliases. Since 'black-labrador-puppies' is a duplicate (to a search spider) of node/1, we need to redirect node/1 to 'black-labrador-puppies'.
- Page Title - Since the page title (the title shown at the top of the browser) is what search engines display in search results, the page title should be created as an advert headline, preferably with the keyword in it. Page Title allows the content creator to add a separate page title from the node title.
- Nodewords - At time of writing, this module is still called Nodewords although moves are afoot to rename it to Meta Tags - far more apt. Nodewords allows site owners to set up meta tags on each node, including the 2 most important tags: meta description and robots. No, meta keywords is really not important, although you can edit those too. Be sure to get Meta Tags by Path, a helper module that allows one to define tags by path - great for tags on Views and module-generated pages.
- XML Sitemap - Now stable, XML sitemap will create an XML sitemap of all nodes (filtered on node type and per node), users, categories and user-defined links. The module can be set up to submit to various search engines with content updates, which can be more effective than pings.
- Menu Attributes - Unfortunately not a core feature, Menu Attributes allows complete configuration of menu link attributes, so rel, class, id, target and other attributes can be set per menu link. Since setting rel=nofollow in many cases is important, this is very useful within menus where it is not accessible by default unlike within the content and comments.
- Search 404 - If a page is not found, rather than 404 'jail', Search 404 will perform a search for the words within the path, providing options to visitors to the site.
Although those are my top picks for SEO, there are a few more that deserve notable mention:
- Service Links - One of several modules that provides social bookmarking links on nodes.
- Pingback - For supporting pingbacks with other blogs.
- Sitemap - Creates an HTML sitemap
- Captcha/Recaptcha/Akismet/Mollom - several techniques for avoiding comment and form spam
- HTML Purifier - It is important to have a site that validates. Input filters such as HTML Purifier ensure that input is valid to the site DTD.
- Google Analytics - What good is SEO without tracking? Google Analytics provides for insertion of GA tracking code and advanced configuration.
There are also a bunch of newer modules that are great for social media traffic strategies - good for another blog post, right?
Let me know if I missed any, or what your picks are. Show us you're alive!