What is website canonical issue in seo and how to resolve it.

A canonical issue arises when 301 redirects are not properly in place. This means that your website can be accessed by search engines from several different URLs. This means that search engines can then potentially index your site under different URLs, meaning that it will look like a site of duplicated content.

For example if you have the website http://www.abc.com then the index page can be accessed from all of the following URLs:





caonical issue resolve

What can be done to resolve the canonical issue?

The best and most effective way to resolve the canonical issue is with a permanent 301 redirect. This can be implemented in a number of ways, as detailed below. Depending on what server your website is hosted on will determine the method which you use to implement a redirect.

In addition to this it is worth also logging into Google Webmaster Tools and set-up two profiles for your domain; one with the www. prefix and one without. Then go to Site “Configuration> Settings> Preferred Domain” and choose which domain you would like Google to use.

How to implement a 301 redirect with a .htaccess file

If you have your website hosted on any of the below server types then you will be able to use a .htaccess file:

  • Linux
  • Apache
    • Zeus
    • Sun Java

These are the most common hosting servers and are also the easiest to implement a permanent 301 redirect. Simply copy the code into your existing .htaccess file if you can one or open a blank notepad document and save it as .htaccess

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^ example.com [NC]

RewriteRule ^(.*)$ http://www.abc.com/$1 [L,R=301]


RewriteCond %{REQUEST_URI} ^(.*)//(.*)$

RewriteRule . http://www.abc.com%1/%2 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(([^/]+/)*)index\.html\ HTTP/

RewriteRule index\.html$ http://www.abc.com/%1 [R=301,L]\

You will need to change the abc.com domain name to your domain name (all bits highlighted in yellow) and you may also need to change the text highlighted in green. Depending on your site you have a .php index page or it may not be called index, either way check this on your website and change accordingly.


Once the code has been edited and copied into the .htaccess file, save it and upload it to the root of the domain (the same location as the index page). These two pieces of code will redirect anyone who accesses the site to a URL which includes the www. prefix and from the /index.html to the root domain.


Setting up a 301 redirect using Windows server

If you host your website on a Windows server you will need to have administrative access to the hosting server and will need to set-up the 301 redirect through IIS.

Go to “All Programs>Administrative Tools>Internet Information Services”

Navigate to the domain and right click on it, then select “Properties”

Click on the “Home Directory” tab

Select the radial button “A redirection to a URL”

Then enter the URL you want to redirect to (e.g. http://www.abc.com)

Click “OK”

This will redirect the domain.


Word of warning!

Double check that the domain names are correct when implementing a permanent 301 redirect, and then double check them again. Once implemented test that the redirect is working properly, make sure that you refresh the page several times to ensure you are not viewing a cached page. The reason this is vital is because using a .htaccess file or IIS incorrectly could result in your website being brought down.

One Comment

Leave a Reply

Your email address will not be published.