• home
  • forum
  • my
  • kt
  • download
  • WWW vs. Non-WWW, The PageRank Effect and the Solution

    Author: 2007-06-20 15:57:24 From:

    Have you ever wondered if there is a difference between using http://www.anysite.com and http://anysite.com for your site links? Does this affect your PageRank?

    YES, there is a difference! Your domain name is simply yoursite.com. Any thing added to the beginning of the address is a sub domain, so www.yoursite.com is a sub domain just like mail.yoursite.com or forum.yoursite.com. It's just using www is so popular that most of the sites adjust their DNS and web server settings so that using www or not using it will lead to your home page, this is what your visitors expect and this is what you should do. Fortunately, this is done automatically for you when you buy a domain name and host your site in most cases.

    So can you use both www.yoursite.com and yoursite.com to link to your site? Yes you can, but I strongly recommend that you don't!
    Why? For SEO (Search Engines Optimization) reasons you should always use the same form for your links, pick one (with www or without www) and stick to it. This is called canonicalization and it means picking the best URL when you have a choice.

    Here is the explanation:
    Because www.yoursite.com is not the same as yoursite.com and if you have different inbound links to both URLs, this could cause two problems:

    First, some search engines might "think" that this is a duplicate content and penalize your site for this!

    Second, splitting your links will affect your PageRank as PageRank is all about links, so if you have 1000 inbound links to www.yoursite.com and 500 inbound links to yoursite.com then you will have different PageRank for both URLs and you will lose valuable inbound links because they will be split into links for both URLs.


    So what is the solution for this problem?
    First, choose one form and stick to it. I prefer www.yoursite.com because this is what most people use. Also most people press (CTRL + Enter) in Internet Explorer or Firefox to append http://www and .com to whatever they have typed in the address bar of both major browsers.

    Second, in Google's Webmaster Tools, click "Preferred domain" and choose the same URL that you chose in the previous step.

    Third, do something to redirect your traffic from one URL to the other (like from non-www to the www). That is what the major sites have done, try typing google.com, msn.com or yahoo.com and you will be redirected to www.google.com, www.msn.com and www.yahoo.com. The right method is to use "301 Moved Permanently" as this will make sure that search engines will combine the value of your inbound links.

    I will show you two methods to do that. The best and the most frequently used method to do that is in a file called .htaccess (HTTP Access). It's a text file used in most Linux based web servers. Just make a text file called .htaccess and upload it to the root directory of your site or append those lines to it if the file is already there:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^yoursite.com [NC]
    RewriteRule ^(.*)$ http://www.yoursite.com/$1 [L,R=301]

    This will redirect all the traffic from the non-www to the www of your site with the "301 Moved Permanently" server response.

    As I have told you this is the best and the fastest method, but what if you - for some reason - can not use the .htaccess method?

    You can use PHP, just add those lines to your home page, but make sure they are the first lines in the page or you will get an error "headers already sent".
    <?php
    if (substr($_SERVER['HTTP_HOST'],0,3) != 'www')
    {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://www.yoursite.com/');
    }
    ?>
    While you need to put one .htaccess file in the root directory of your site and all the pages in your site will work properly, this is not the case for the PHP method, that's why I have told you that the .htaccess method is better. The previous PHP code will work only for the home page so you need to add those lines to the top of every page you want to redirect from the non-www to the www URL:

    <?php
    if (substr($_SERVER['HTTP_HOST'],0,3) != 'www')
    {
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://www.'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
    }
    ?>
    You can put those lines in an external PHP file and use PHP Include function to include this file.


    Remember:
    Always use the .htaccess file method if you can.
    Do not forget to replace "yoursite.com" with your domain name.

    discuss this topic to forum

    relation tutorial

    No relevant information

    Category

      Choosing a Host (12)
      Control Panels (6)
      Domains (4)
      General Networking (1)
      Getting Traffic (1)
      Search Engine Optimization (1)
      Security Setups (3)
      Tutorials (14)
      Website Administration (4)

    New

    Hot