In an SEO campaign you want as much authority to go to your homepage as possible. You submit your site to directories, write articles, post on social networking websites and make regular blog posts that appear on twitter. All this to increase the number of backlinks to your website. And this is a good thing. The problem arrises when you have more than one way to view your homepage (or any page, for that matter).
URL Canonicalisation refers to two or more ways to view the same content, for example http://www.example.co.uk/, http://example.co.uk/, http://www.example.co.uk/index.html, and http://example.co.uk/index.html all load the homepage.
Clever search engines will be able to tell that these are all the same page and pass the authority all to the same place, but other search engines will follow all these links and pass authority to each of them seperately, the overall result being that you do not rank as high as you should. Worse, they could see these as seperate pages and penalise them for having duplicate content.
By removing the additional ‘copies’ of the homepage, the remaining page will get all the authority and your site will raise in the rankings.
There are a number of ways to fix a canonicalisation problem, but it depends on the server you are using. What works on an apache server may not work on a windows server. Below are the most commonly accepted ways of fixing a canonicalisation problem:
Apache:
On an apache server we will use a .htaccess file. If you have an .htaccess file, open it in your text editor of choice. If you do not have a .htaccess file, then you will need to create one. Most text editors will have a problem with saving the file as .htaccess as you have not specified a filename, only an extension. To get around this, open your text editor of choice and save the file as htaccess.txt. When you upload the file to your server, rename it to .htaccess. Now, in your .htaccess file, copy the following code (changing the domain name, obviously):
RewriteCond %{HTTP_HOST} !^www.example.co.uk$
RewriteRule ^(.*)$ http://www.example.co.uk/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.example.co.uk/$1 [R=301,L]
What this is saying to the server is:
Turn on the URL rewriting module.
If the host is not www.example co.uk,
Redirect the browser to www.example.co.uk.
If the file being requested is www.example.co.uk/index.html,
Redirect the browser to www.example.co.uk/
IIS:
In your IIS Manager create a new site profile for the non www domain and select a permanent URL redirect to the www version.
Sounds easy, doesn’t it.
1. In Internet Services Manager, set up both www.example.com (with-www) and example.com (no-www) as websites.
2. Select the example.com website (no-www) in Internet Services Manager and go into the properties.
3. In the Home Directory tab, change the option button “When connecting to this resource the content should come from” to be “A redirection to a URL”.
4. In the “Redirect to” box, enter http://www.example.com$S$Q
(A note about the variables used here:
$S retains the requested URL’s full filepath
$Q retains any query string present in the request.)
5. Check the checkbox that says “A permanent redirection for this resource.” This is a key step, or else you will create a 302 redirect rather than a 301.
Other Methods:
The simplest method of pointing a search engine to the right page is the canonical meta tag:
This is an example of what it would look like in xhtml. If you are using html then remove the trailing /.
By putting this code in the head tags of your page you will effectively be telling search engines ‘This page does not belong here. If you are reading this content, then please list it under this other url instead, as this is where it DOES belong.’
Summary
By redirecting pages to the same place you are building up the authority of that page. So instead of having “four” pages getting a trickle of authority each, you will have a single page getting a flood of authority.








