What is the purpose of 301 redirection? If i do 301 redirection, Does it affect my current site ranking and traffic? Please Need Experts thoughts...
What would you need to 301 redirect? You'd have to give an example for someone to understand what you'd need it for.
purpose of 301 redirect is redirecting old pages to new pages like. www.yourdomain.com/yd.html to www.yourdomain.com/yd.php or www.yourdomain.com/yd/ it affects to ranking in initial stage but after some time your rankings will come.
As stated, the purpose of a 301 redirect is to signal to a web browser that a web page has permanently moved to a new location. These are very handy if you redesign a site or change CMS platforms. For example, if you changed your web site from a static HTML site to a dynamic CMS system with modrewrite turned on, you can signal to someone who has your old page bookmarked to the new page: www.yourdomain.com/contact.htm can be redirected to www.yourdomain.com/contact/ These 301 redirects are usually created in a .htaccess file in the root directory of your web server. Google obeys 301 redirects and transfers Pagerank to them.
Thanks u for your response guys. One more question. Let us have 2 urls, like http://domain.com and http://www.domain.com, both will open same site. Will back links and traffic split due to this url formation? Is it any possible way to convert non-www url into www url while searching?
Google considers these websites as separate websites so backlinks might be divided as per the domains they are pointing to, however, there would be no reflection in your traffic. Best solution of this problem is canonical optimization, by doing it, your non www uels will point to the respective www urls. You can do it by adding few lines in your htacces file in case if you are using Apache server. You can find further details at http://www.stepforth.com/resources/web-marketing-knowledgebase/non-www-redirect
if you want your site will be open with or without www. then use this code: Options +FollowSymlinks RewriteEngine on rewritecond %{http_host} ^yoursite.com[nc] rewriterule ^(.*)$ http://www.yoursite.com/$1 [r=301,nc] copy and paste this code in notepad and then save with .xml extension then paste into server or hosting where your site is then upload, you no need to add this link in your site. when you done this then your site will be open with www. if someone type without www. then automatically site will be open with www.
To your second question: As mentioned, the .htaccess file is best to make sure that two seperate URLs with the same content go to the same place. But you can also use the canonical meta tag. See info about that here: http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html