Reputation: 34188
suppose our company has website which was developed by asp.net web form v1.1. it is running for last 5 year. people search google by keyword and got the link to come to our site...it means google cached all the pages of our site. now our company planing to develop our site with asp.net 4.0 and our company CTO want to use asp.net 4.0 routing feature for search engine friendly. i am aware of how to use url routing feature....here is small sample snippet of url routing.
for our new website pages name will be change. so when some one will search google and get link and when click on those link then request will come to our site but page not found will show because page name will be changed. so how to write the logic in such a way as a result when old request will come then routing will redirect to right page and also do the permanent redirection for google as a result from the next time user will get right page url. so my concern is how to write the logic which will drive the user to right page if the old page does not exist, the user will be redirected to right page using routing. please help me with code & concept. thanks
Upvotes: 1
Views: 3366
Reputation: 5480
I's suggest using a hybrid of this tools. You should return 301 as it's a permanent move. Google should pick-up on that when it starts scanning your new site.
I'd suggest you also need to keep your legacy urls separate, so they don't interfere with the current site. At some point in the future, perhaps when this new site becomes the legacy site, you'll want to organise your urls. By knowing what's needed by the app & what's for SEO might help.
You can probably do your SEO redirection using IIS and it's redirection module. Also, have look at Googles (and Bings) webmaster tools. They should help you figure our what the search engine is seeing on your site.
Upvotes: 0
Reputation: 193
If you do it via MVC, you will always have to manage those old routes. I think the best way is tu use directly IIS for this scenario. The url module in IIS allows you to configure permanent redirects very easily.
Upvotes: 1
Reputation: 12016
You need to use a HTTP 301 Permanent Redirection
Using .NET Framework v4:
Response.RedirectPermanent("NewPage.aspx");
EDIT: I jumped in too quickly there... a good MVC solution would be: http://www.eworldui.net/blog/post/2008/04/25/ASPNET-MVC-Legacy-Url-Routing.aspx
This will redirect the request to the right place and return a 301 back...
Upvotes: 1
Reputation: 2170
I am not an expert of MVC, infact a starter, so the solution that comes in my mind is you will have to register all routes for your existing pages like:
routes.MapRoute(
"BooksCategory", // Route name
"products/books.aspx", // URL with parameters
new { controller = "Products", action = "Browse", category = "Books" }
);
You can enhance it according to your needs.
Upvotes: 0