Switch to the mobile layout

      Idea R - Bring out your brand - Web Marketing strategies
  • Home
  • About Us
  • Contacts

Blog

The Idea R's blog is a free resource for digital strategists, web marketing specialists and art directors.
Follow us and keep up with the times!

Change language... italiano
RSS feed

ASP.NET 301 permanent redirects: the best solution

Published on 12/11/2012
ASP.NET 301 permanent redirects: the best solution

Do you have changed your domain and don't want to loose your SEO page rankings?
Do you have renamed a page and don't want to return errors to users that have saved a bookmark?
You have to perform a 301 permanent redirect to the new page/site.

There are plenty of methods to perform this, if you Google the question you'll be submerged by the answers.
Curiously the easiest method doesn't come out first.
Let's explore some of the most common methods and then at the end I'll show you the best one.

Redirecting an ASPX page by code

Place the following code in the ASPX page to be redirected:

protected void Page_Load(object sender, EventArgs e)
{
    this.Response.RedirectPermanent("http://www.mynewdomain.com/MyNewFile.aspx");
}

The drawback of this method is that you can redirect only ASPX files, if you have to redirect from an HTML file you cant.

Redirecting an HTML page by client code

You can use the following JavaScript:

<script type="text/javascript">
    window.location = 'http://www.mynewdomain.com/MyNewFile.aspx';
</script>

The drawback is that this is only an hack, you'll redirect the page, but not using a real 301 permanent redirect: your page rank won't be passed from the old page to the new.
You can add the following meta tag, but you'll never get the same result as a real 301 permanent redirect:

<link rel="canonical" href="http://www.mynewdomain.com/MyNewFile.aspx" />

Redirecting an HTML page by server code

You have to create a class that derives from IHttpHandler and intercept all HTML requests.
This is a long and annoying task, especially if not all HTML pages have to be redirected.

The best solution: redirecting by configuration

It is not easy to find this solution on Internet, because you'll find tons of samples of the previous ones.
If you have IIS 7 or higher that's the best way to redirect!
Simply use the httpRedirect element of the system.webServer section and you'll be able to redirect everything you want, ASPX, HTML, PHP, etc.

<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Permanent">
    <add wildcard="/MyOldAspFile.aspx" destination="/MyNewFile.aspx" />
    <add wildcard="/MyOldHtmlFile.html" destination="/MyNewFile.aspx" />
</httpRedirect>

This method is very powerful, for example if you have changed the domain but the pages are the same, you have just to add:

<system.webServer>
    <httpRedirect enabled="true" childOnly="true" destination="http://www.mynewdomain.com/" />
</system.webServer>

You are the visitor number 1945.

Comments

comments powered by Disqus
Creative Commons License

Photographies, videos, graphics and texts by Idea R are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

  • Visual Communication, Art Direction
  • Apps, Cloud, Mobile, Software Design
  • Digital Strategies
  • Blog
Touching finger
RSS feed
Blog