Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

I have a website.net which I want to 301 redirect to website.com and I also want to change URL structure on some pages on the new .com site.

Problem is that .com is currently set as Website Alias of .net version, which means that there are same pages indexed in Google from both domains.

I could 301 .net to .com and then after a while 301 new URLs on .com and update old .net redirects at the same time but that would take too long time, given I would have to wait in between for Google to update everything.

Is there a better and faster solution to this, which is still in line with Google recommendations when migrating domains?

share|improve this question
add comment

3 Answers 3

The fastest way to update the Google index is to submit your changes in the Google Webmaster Tools.

share|improve this answer
add comment

Search engines have no problem following a chain of 301 redirects, so I don't see why you can't just make all the changes at once.

Some things you can do to speed up the canonicalization process are:

  • Specify the canonical link for each page in the HTML <head> and/or in the HTTP headers (the former is preferred)
  • Use a sitemap which contains only the canonical URLs
share|improve this answer
add comment

The best way is to use 301 redirects to remove all duplicate content. However, if you do a blanket 301 redirect from example.net to example.com you're telling the search engines that you are no longer going to use example.net for anything because you are permanently redirecting all content to the .com domain.

If you want to maintain the .net domain for the content that is not duplicated, then you should use single 301 redirects for all content which belongs on the .com domain.

One method, if you're using Apache is to perform these at the .htaccess level (so web designers and developers can edit them).

An example directive found in the example.net site would then look like this:

RewriteEngine On
RewriteRule ^(folder/topic-1.*) http://www.example.com/$1 [R=301,L]
RewriteRule ^old-folder/(topic-2.*) http://www.example.com/new-folder/$1 [R=301,L]

If you're not concerned with who has access to what, then you can use RewriteMaps as well. They need to be entered directly into the Virtual Host declarations in the configuration files for the server, but the map can be editable at a level accessible to users with SSH or FTP(SFTP is better) access (outside of the document root).

If you're using dynamic files in a language like PHP, then you can replace the file people are expecting with a 301 redirect in the code:

<?php
header("HTTP/1.1 301 Moved Permanently");
header('Location: http://www.example.com/new-folder/topic-2/');
?>

Redirects in other languages can be found here.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.