Link to home
Start Free TrialLog in
Avatar of proteam4
proteam4

asked on

How to put SEO Friendly Redirection on same script?

I am having a single script "index.php" which reacts differently as per querystrings. Lets say: If some one browse my site with this url:

http://www.mysite.com/  or http://www.mysite.com/index.php  It opens the home page of website.

and

When someone put url like this: http://www.mysite.com/?category=sports It open different section of the same page. (It usually show a list of items , which matched with this category instead of actual home page)

So the same script index.php reacts differnetly depend upon the query string passed to it.

Now the problem is, I want to separate this fe=uncinality of this script to a new script because the index.php is become too heavy to load and take lot of time to even show the home page.

I have already lot of traffic on my site and I dont want to loose any single incoming link to my site. My site is already crawled by google.

I want to put such re-direction on the script so that it will be a SEO friendly. I know if it will be the case of shifting script, I can put 301 redirect and do the job. But the problem is I also want the index.php will react as it is and will show home page always. So I made two scripts. One is index.php itself and other one I created to show the list of categories like this: http://www.mysite.com/browse/?category=sports.

So I want to redirect the part of the index script; this url: http://www.mysite.com/?category=sports  to http://www.mysite.com/browse/?category=sports

How can I do it, so that it will be SEO friendly and wont effect index.php anyway.

Thanks
Avatar of proteam4
proteam4

ASKER

In index.php to redirect old urls to new urls, I am doing like this in code below. Please let me know if it is the correct way of doing this?


    $urlQueryString = $_SERVER['QUERY_STRING'];
    
    if ($urlQueryString){
        header( "HTTP/1.1 301 Moved Permanently" );
        header( "Location: http://" . $_SERVER['HTTP_HOST'] . '/browse/' . $urlQueryString ); 
    }  

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of namol
namol

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for the solution. I can do this but I want to know the following queris though : before implementing the solution:

1) Which one will be the faster? Code or htaccess ?

2) Will it be SEO Friendly? So the existing index.ph wont get affected with this redirection and works normally on google or any other search engine?

Thanks
It is SEO friendly, you can even add a [r=301] to the last line of the rewrite rule to permanently update the search engine links. As to what is faster, i'd say the htaccess is because it gets interpreted before the code is actually processed. If pages are loading rather slowly etc, you might want to enable gzip compression on the server side to speed up deliver of the content.