views:

115

answers:

4
+1  Q: 

Massive URL Change

We need to make changes to an app that will cause all its URLS to change, we dont want to lose value and too many urls to 301. I am looking to change a mod rewritten URL to a non written one.

My thoughts would be to Leave the mod rewritten URLS active (Temporarily) Place a canonical tag witht the NEW correct URL Make sure no links are currently linking to old URLS - all internal links updated etc Make sure our robots.txt and sitemap submissions are updated to date.

would a massive change in URLs - even if backed up by canonical URLs and updated sitemap.xml - have a negative affect on listings in google?

What are peoples thoughts / experience in this?

+1  A: 

Using a permanent HTTP redirect is the best solution for both, your users and the search engines.

Gumbo
I have potentially 100's of pages e.g. An ecommerce website that has say 30-50 categories each with 5-10 pages of results, the amount of redirects would be massive and that is just the category pages. Is redirects still the best way forward?
Lizard
@Lizard: A redirect says *the URL has been changed*. But the canonical URL link just says *avoid this URL for your index but use the canonical URL instead*.
Gumbo
+2  A: 

Actually, a 301 redirect should not impact your search ranking - it's exactly how you're supposed to do that kind of thing and it's search engine independant. The "canonical" header is an invention of Google and has the disadvantage that people still using the old URLs from outside links will not be redirected and thus keep using the old URLs in links and bookmarks.

Michael Borgwardt
A: 

I'd also be interested to know then on this topic how these 301's should be handled, in .htaccess or at a code level? Surely 100's of 301's in a .htaccess is too many?

seengee
+2  A: 

Thinking about it, if you're using mod_rewrite and are wanting to switch to a non mod rewritten URL then the chances are you can make the changes purely by adding the 301 response to the end of your rewrite rule to make something like this:

RewriteRule ^whatever/(.*)$ http://www.domain.com/$1/ [R=301,L]
seengee
Cheers thats is great!
Lizard