|Converting from .asp to .aspx what can I do to stay ranked?|
Converting from .asp to .aspx what can I do to stay ranked?
I'm getting ready to upgrade a site from .asp (classic) to .aspx(.net 2.0). We have worked very hard to get our site ranked at the top of many search engines. If I do URL Rewriting will my pages be safe? Are there other ways to assure I don't lose my rankings?
Just did ours this past year. We too had good rankings after years of work as well, however, the purpose of the change to .NET was to improve rankings. What is your reason for changing?
Our Rankings have improved since applying the years of WebmasterWorld knowledge to the new design. All of your old pages just have to be 301 Redirected to the new pages if they have been replaced. If the new .NET pages are more SEO friendly, your rankings should improve.
Design your new .NET version independently of 'how' you did it in classic ASP. If you are just writing ASP code in a .NET page, don't bother changing. Take this opportunity to do it right from the beginning. Plan, Plan, Plan then write code.
Once you have the new site operational and as if there were no 'previous' site. Simply mod all of your old ASP files to 301 Redirect to the new pages. Yes, this is the pain in the arse part of it, but it has to be done. Every ASP page in the old site should 301 Redirect to a new page. Actually, not Every page if you choose. We even left a few sections of our site running in classic ASP. We made changes to the core 90% and are handling the outliers piece by piece. ie: no reason to change something that might be password protected for the first release since the spiders never see it.
Biggest Thing to watch: Make sure you don't have duplicate content. Same content served in .ASPX and .ASP. That would be certain death. You must 301 Redirect the old pages to the new.
ASP Simple 301 Redirect:
<%@ Language=VBScript %>
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.yoursite.com/yourpage.aspx"
P.S. Don't freak out when you see both your ASP and ASPX pages listed in the index after the bots start crawling the new pages. If the old pages are 301 Redirected, they will hang around (in/out) of the indexes for a few weeks, then disappear.
Also, I highly recommend using Google Sitemaps through the process too. It helps you find the little holes.
Thank you so much for your detailed description. We are basically doing an entire revamp of the website and it just makes more since to use some of the nice functionality items like master pages and web parts to help get us were we need to be. If I had to rewrite this site in asp I would shot myself after spending the last three years writing in .net. Thank you again for your help, I think we will do 301 redirects as long as it doesn't kill my rankings!
It's kind of a bold step to have to take. We put it off for years paranoid of loosing rankings. Knowing we needed to be in .NET, writing other/new sites in .NET but our biggest site was still ASP. Making code changes was a drag and we needed to re-vamp the SEO work since the site was 10 years old.
Just kinda have to hold your breath and jump. Have a roll-back plan if possible. It's comforting to think you can turn back at any point.
Again, I do appreciate all your feedback. Just to confirm. The process should be that I create my new .aspx pages with duplicate content and then when I'm ready to go live I can drop your 301 redirect code into my .asp pages and I'll be good to go? What do the crawlers do about the indexed .asp pages? Do they automatically convert the indexes to the new pages?
No. Whatever you do, don't do 301 redirects there's no need.
None of your URLs should change, not even with a redirect.
You can do one of two things
Use URL rewriting (eg. ISAPI_Rewrite) to rewrite your .asp urls to the new .aspx versions.
eg.. your URL is actually:
but behind the scenes, the file that is being loaded is
Or, in IIS simply change it so that all .asp files are handled by the ASP.Net dll and instead of giving your .Net files a .aspx extension, give them a .asp extension (they'll still be processed as ASP.Net files, just like if you'd named them .aspx)
I almost didn't respond back on this but figured I would weigh in because it's just that type of spaghetti code implementation of the .NET framework that gives M$FT a bad name. Why in the world would you want to utilize ISAPI_Rewrite in the .NET Framework? Because it's easy? Kinda defeats the purpose of the efficiencies built into IIS6 for .NET Compiled Web Applications. What about the long term affects of managing the site.
Sorry, but if you are going to be using .NET, please don't wrap some psuedo ISAPI filter around a page, call it .aspx and pretend it's .NET.
301 Redirects as I said and you will be fine. Search the forum on 301 Redirects. It's no big deal as long as you have a plan for migrating page-to-page.
> Why in the world would you want to utilize ISAPI_Rewrite in the .NET Framework?
Simple. By retaining the old URLs, you retain the PageRank and Link-pop of all of your pages. The search engines see no change in your site, despite the underlying change in technology.
In most cases, 301-redirecting old URLs goes well and the process incurs only a minor traffic revenue loss for a short period of time. In other cases, we get posts here in the forums about sites whose URLs changed and whose rankings have not recovered for up to a year. It's rather cavalier IMO to tell someone to just go ahead and 301-redirect their whole site without an in-depth analysis of PR, spider-crawling frequency, relevance and number of incoming links, and all the other factors that may play into how long it takes search engines to change over to the new URL-scheme and for the pages' rankings to recover from the changes.
Bottom line is that search engines like stable sites with stable URLs, and changing your URL-scheme just because the underlying site technology changes is both unnecessary and potentially dangerous to your income. ISAPI rewrite on IIS and mod_rewrite on Apache can be used to good effect to map existing URLs to new filenames without giving any indication whatsoever to the wwworld that anything has changed.
Then, over the long term, you can 301-redirect a small number of pages at a time to extensionless URLs, so that you never have to deal with this problem again in the future. Nobody cares if a page is /widgets.html, /widgets.php, /widgets.aspx, or anything else. A good long-term goal is to have that page simply known as "/widgets"
A word from one of the co-inventors of the www as we know it, Sir Tim Berners-Lee: Cool URIs don't change. [w3.org]
Thank you so much for the detailed explaination. I appreciate the feedback. This is such a touchy subject, because as a developer we normally don't care to much about this stuff, but in this case my client has worked very hard to get listed and is making a substantial amount of money right now. He could care less if we go from classic asp to .net, but because we are doing a site update/overhaul, it makes since for me, so I can utilize some of the new .net functionality and split my site up into seperate tiers the way we should have done in the beginning. Thanks,again