Forum Moderators: open
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.
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.
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:
http://www.example.com/widgets/blue.asp
but behind the scenes, the file that is being loaded is
c:\inetpub\wwwroot\widgets\blue.aspx
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)
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.
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]
Jim