301 redirects
-
Hello.
Our site was recently rebuilt, and we switched from using index.php in all the urls to not using it at all. We also changed the names of many of our pages. So the urls have been renamed from "example.com/index.php/old_page_name/" to "example.com/new-page-name/". While we were at it, we changed from "_" to "-" as our word separators in the urls.
In the .htaccess file, we have a small block of code that strips out "index.php/" from all requests. This code redirects a request for "example.com/index.php/old_page_name/" to "example.com/old_page_name/"
For your information, the code that strips out "index.php/" is:
RewriteCond %{THE_REQUEST} ^GET.index.php [NC]
RewriteCond %{THE_REQUEST} !/uSZWTLna/.
RewriteRule (.?)index.php/(.*) /$1$2 [R=301,L]Then we have 301 redirects from "example.com/old_page_name/" to "example.com/new-page-name/"
QUESTION 1: Is this two-step redirect approach okay, or would it be better to skip the separate index.php stripping code and simply have 301 redirects that include "index.php" in the urls?
QUESTION 2: Will we lose some of the benefit of the links that have to pass through a 301 redirect?
QUESTION 3: We have 50 or so redirects. Will this affect performance of the site? How many redirects does it take to start affecting performance?
Thank you!
-
If you only have 50 or do redirects that you have a list for, I would advise a 1 to 1 redirect. Ie.
domain.com/index.php/red_widgets/ is changing to domain.com/red-widgets/
There's no point in redirecting /index.php/red_widgets/ to domain.com/red_widgets/ which you know does not exist.
It would be wiser to just setup redirects directly from /index.php/red_widgets/ to /red-widgets/ without another step in between. I know that might mean you might not be able to do regular expression, but since you are dealing with 50 redirects only, it's not a big deal.
Regarding the number of redirects, I won't worry about 50 redirects.
-
Thank you, Nakul!