Every now and then a post comes up on Drupal Planet, or somewhere else in the Drupal community describing how the Global Redirect module (GR) is the key to improving your SEO (Search Engine Optimization) and how it will increase your search engine rankings. But don't be swayed by the SEO voodoo, most sites will see little to no benefit from GR.
Don't get me wrong, the basic premise behind GR is sound. Let's start with some basic search engine theory. If there are two pages that are theoretically the same in every sense of their search engine friendliness, except for the fact that one of the pages has more links pointing to it from other people's sites, then it will have a higher search engine ranking. It's difficult to describe so lets take a look at another example. If there are 10 links on other people's sites pointing to your site at URL #1, and 10 other links pointing to URL #2, then those two URLs will get lower search rankings than 20 links pointing to just one URL. So if those two URLs are in fact the same page, you could improve the situation by having just one URL. The problem is that there's a lot of misunderstanding about how this can happen in the real world.
Let me back up for a minute. SEO is a dark art*. The algorithms that search engines use to determine who gets listed for what searches in what order is extremely complex. Nor do they simply let everyone see how it works. Search is after all a billion dollar industry. Furthermore the traditional marketing wisdom of "make small changes and measure the results" is pretty much useless when it comes to SEO. Unless it's a really really big change, it's almost impossible to see whether that change made any difference in your rankings; There's just too many variables involved. And so there's been a load of misinformation about SEO on the web over the years. Unfortunately there's been a few bad apples in the SEO industry who have manipulated these vague facts to their advantage.
Back to GR. Let me talk about some of the problems that GR will fix, that aren't actual problems for most sites:
#1 a node is available at multiple URLs
Yup it sure is. This very page is available at:
But unless you do something really strange like what I just did here, no one will know about these other URLs and no one will link to your site with them. They won't exist in the wild, so the search engines won't find them.
There is one exception and that is if your site has been up and running for a while either with clean URLs off, or Pathauto off, and you then turn one or both on. This is one case where GR may help you.
#2 Your front page has two URLs
Some sites have a problem where they have links to both
or something of the like. Sure GR will make this go away, but that's really hiding the symptom, not fixing the problem.
Whenever you are making a link to the front-page either in code, in a menu item, in Views, or anywhere else in the administration interface you should use <front> instead of the actual Drupal path. that way Drupal will spit out the correct URL sans path. And, just like in #1, if that other URL isn't around, no one will know to link to it.
#3 If content is available at more than one URL the search engines will penalize you
This one is an example of the misinformation that has been floating around the net for a while. Google in particular has tried hard to make clear that this isn't the case, but every now and then someone still tries to state this as fact. Let me make it clear. If a page is available at more than one URL you might be able to improve its ranking somewhat, but you won't be penalized for it.
#4 GR removes trailing slashes from URLs
Umm, think about it, when was the last time you created a link, but then decided to put an extra "/" on the end just for kicks. Sure GR will catch this scenario, but how often is it going to happen?
#5 "But I have pages with more than one alias"
Ok, sure. For all sorts of reasons we make changes to our information architecture and things get moved around, but we still want the old URL available. I would suggest Path Redirect is a better choice. If performance is a concern a redirect rule in your .htaccess file is better, in your Apache config files is better yet.
"But what if my content editors change the URL when they edit the content?" This begs the question why do your content editors need control over the path? A copy writer or editor is not going to be an SEO specialist, nor should we ask them to be.
"I fall under an edge case"
Yes there are edge cases, some of which I've talked about above, where you may want to investigate GR. But when it comes down to it, SEO is a very complex subject and simply unifying a few URLs probably won't do much for you. If you're really concerned about SEO I suggest reading a blog series by our friends over at Civic Actions.
Furthermore there are other things to consider like performance - more code is slower, and maintainability - more modules means a more complicated upgrade path (maintainability is probably a subject due for it's own blog post).
Most sites will see little see little benefit to GR, and most sites hold performance and maintainability as much more important than SEO. And because of that I have yet to see a case where GR would be useful for any of our clients.
SEO is a subject shrouded in mystery. What are your thoughts?
*the term "dark arts" is stolen from Marco Carbone