Magento SEO: Preserve rankings when switching from another platform


A very common concern (and rightfully so) for online store owners who consider switching to Magento from another e-commerce platform is will they be able to preserve their organic search engine rankings. The short answer is: probably yes. A bit more accurate answer is: depending on how different was your old platform, if you do everything correctly, most likely yes.

Here is a list of must do things to preserve your organic traffic:

1. Plan and execute URL rewrites

In case your old platform had a certain URL structure that is “compatible” with Magento’s URL structure, you could easily create .htaccess rule that will rewrite and 301 redirect all of the old URLs into the new ones. This is not always the case, but when it is, the transition is a piece of cake.

2. Plan and execute 301 redirects

In case you can’t simply rewrite URLs, you my friend have some serious work to do. You will need to create 301 redirects for all or the most important pages. If your store is really large and there is no way / time to redirect every URL, this is how you’ll find out which URLs are a priority for 301 redirects:

  • Redirect categories: There usually aren’t so many categories that you wouldn’t be able to do this manually, so just go through your categories and make a spreadsheet of old URLs and corresponding new URLs.
  • Redirect top selling products: Open your Google Analytics, go to Conversions -> Ecommerce -> Product Performance and on the right side sort them by revenue. You don’t want to have your main selling products to report a 404 page once you switch to the new system so create redirects for those.
  • Redirect top landing pages: Open your Google Analytics again, go to Content -> Site Content -> Landing Pages and on the right you have a list of your top landing pages. You don’t want your most common entrance pages to be 404 pages, so redirect at least top 20 of them, or more if you own a high traffic store with lots of landing pages.
  • Redirect the most linked pages from external sources: To make sure that most of the link juice that comes to your website through external links doesn’t go to waste, you want to redirect the most linked URLs of your store to appropriate new URLs. To find out which URLs have the most external links, open your Google Webmaster Tools and go to Traffic -> Links to your site -> Your most linked content (More button on the right) and sort them by source domains. Now you have a nice list of your most linked content from external sites that you need to redirect.

3. Don’t drastically change your main on-site SEO elements

Make sure you didn’t change the most important on-site SEO elements for high ranking URLs since you might as well be ranking high due to awesome on-site SEO efforts. So make sure you didn’t change your best ranking pages titles, H1-s, internal linking anchors, amount of internal links to highly important pages, textual content.

Amount of internal links to certain pages and their anchor texts often get overlooked, so pay more attention to these.

If you need any help, we can do a Magento Website Assessment for your site.

About Toni Anicic

eCommerce Consultant

SEO. Professional gaming. Home-brewed beer. Magento Certified Solution Specialist.

Read more posts by Toni / Visit Toni's profile


  1. Great post.
    Is there a practical limit to how many redirects you should add to the htaccess file (apart from the data entry issue)?
    Also, do you have a sample of a htaccess structure that i could use . Same domain name, but 500 products need to be changed due to moving from old hosted solution

  2. Once you have this list, what would you say is the best way of deploying it in a magento instance? put them all in the .htaccess or another way?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <blockquote cite=""> <code> <del datetime=""> <em> <s> <strike> <strong>. You may use following syntax for source code: <pre><code>$current = "Inchoo";</code></pre>.