Saturday, 23 June 2012

Enable Canonical URL in IIS7 for SEO

What is URL Canonicalization? – Its just nothing but you are making sure that your users and the search engines are accessing your websites on your preferred domain name only like either  www.website.com or website.com.


Why URL Canonicalization? – Well Its for avoiding the confusion of Search Engines that you are having a duplicate website where you are really having one. If you keep allow accessing your website by both www.website.com and website.com separately search engines will think both are different websites. So its mainly for SEO purpose we do canonicalize the URLs. Search Engines treat websites that can be accessed by more than one domain name, such as   www.website.com and website.com, as if they are two different sites. This affects the page ranking for the website.


Enable canonical url in IIS7 simply by pasting the below code to your web.config.

Code for URL Canonicalization :
<configuration>
    <system.webServer>
      <!--Code for URL Canonicalization Starts Here-->
        <rewrite>
            <rules>
                <rule name="CanonicalHostNameRule1">
                    <match url="(.*)" />
                    <conditions>
  <add input="{HTTP_HOST}" pattern="^www\.website\.com$" negate="true" />
                    </conditions>
                    <action type="Redirect" url="http://www.website.com/{R:1}" />
                </rule>
            </rules>
        </rewrite>
      <!--Code for URL Canonicalization Ends Here-->
    </system.webServer>
</configuration>
This permanently redirects (301 redirect) every requests comes to smartadmins.org or its sub-urls to  www.website.com and its corresponding sub-urls seo friendly.

You can use it by just replacing the domain name with your own, in your shared hosting easily on following conditions.
1. Your hosting server must be installed with URL Rewrite Module
2. Managed Pipeline Mode of your Application Pool must be Integrated
So what if you are having a new Windows Dedicated Server, well lets do that easily by few clicks as shown below, but ofcourse only if you have administrator access ;-)
Steps to Enable Canonical URLs in Dedicated Windows Hosting
First you need to download IIS URL Rewrite Module
Download URL Rewrite Module for your 32bit Server Edition (x86)
Download URL Rewrite Module for your 64bit Server Edition (x64)
Check your Server edition and download corresponding msi packages and just install it by double clicking the downloaded msi and by following the steps.
Now after finishing the setup just open your IIS Manager and expand your sites section and click on your domain name you need to enable canonical URL.
Step 1: Now as shown in the below screenshot click on the URL Rewrite option under IIS section of your website

Step 2: On the URL Rewrite window click on Add Rule on the top right corner, and the Rules window just click on the Canonical domain name under Search Engine Optimization (SEO) section and click OK















Step 3: Now select your preferred domain name to set as canonical url (either www url or non-www url as primary domain name) and click OK

Thats it!!! You just activated canonical url for your ASP.Net website :-)

1 comment: