Enabling clean URLs on an existing site where SEO matters

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
jonhines's picture

I have a site that has 25000+ nodes that currently does not use clean url's and has a fairly good search engine rank. I'm thinking about enabling clean url's but I'm concerned about the hit I'm likely to take from the search engines due to duplicate content after they are enabled.

I've been looking at the globalredirect module which is supposed to issue a 301 redirects to avoid some of these issues, but this group has cautioned me in the past about using drupal issued 301's due to the significant additional server load it will generate when the core has to get loaded twice to return one page.

Is there a better solution that I'm missing here?

Comments

.htaccess and mod_rewrite may be a solution

mandclu's picture

You may be able to write mod_rewrite rules into your htaccess file to implement the redirects in a way that has much less overhead. A couple of things to keep in mind:

  • You can write rules for the most common URL structures, and then rely on globalredirect to clean up whatever is left. For example, if a big part of your site content is discussion forums, you can write rules for the the forum, topic, and thread listings, as well as the thread URLs themselves

  • Keep in mind that the redirect in itself will cost you something. A while back the figure I heard was 10 to 20%, but with all the algorithm changes in recent years who knows how it has changed. It's probably worth doing anyway, especially if the new URLs are better suited for search engines, but bear in mind that Google does devalue inbound links, for example, to a degree if the destination page redirects

  • You want to do a lot of testing to make sure the rules don't interfere with each other. You may need to go from the most specific (thread, in the example above) at the top to the most broad (forums listing) at the bottom