homepage Welcome to WebmasterWorld Guest from
register, free tools, login, search, pro membership, help, library, announcements, recent posts, open posts,
Become a Pro Member

Home / Forums Index / Google / Google SEO News and Discussion
Forum Library, Charter, Moderators: Robert Charlton & aakk9999 & brotherhood of lan & goodroi

Google SEO News and Discussion Forum

Best Way To Redirect Home Page Without Forwarding Penalty / Penguin

 8:04 pm on Aug 31, 2013 (gmt 0)

What is the best way to redirect the homepage of one site that has been Penguinized without forwarding the Penguin (or penalties)?

I assume that 301 redirects would transfer the penalty / Penguin demotion automatically as well.

Their former SEO appears to have built links ONLY to the home page of a site.

Would it be best to:

1) Create a NEW page on the site, such as example.com/home.html and redirect the index.html page to this home.html page?


2) Move the whole site to a different domain name and redirect internal pages via 301 and the home page via some other method?

Because they have a lot of business cards / brochures, etc with their current domain name on it, they DO need to be able to redirect visitors to the new site. She just doesn't want to redirect the bad karma with it.



 8:32 am on Sep 1, 2013 (gmt 0)

I can only give you my experience.

Just last week we dropped my .co.uk and moved to the .com version.

My problem was losing all the current valid traffic to my site (I'm a photographer) - my site is over 2gb with over 100 blog posts...galleries...etc.

So as 301 redirects appear to pass penalties (I had a manual, penguin and panda hit) I asked me web guy to run a Jquery redirect instead.

This takes the original URL on landing at the .co.uk and redresses it to the .com and sends the user across.

Apparently this is something Google doesn't see. In a single week my traffic levels are back to pre move numbers with Google dropping the .co.uk pretty quickly.


 11:02 am on Sep 1, 2013 (gmt 0)

javascript was my first thought as well.

another way to redirect without passing any penalty (or PR for that matter) is to send the redirect through a script that is excluded from crawling by a robots.txt Disallow directive.
it requires 2 hops so it's a little slower for the visitor but it's a sustainable solution.

the javascript solution works from a penalty perspective until googlebot gets smart enough to follow these redirects.

here's a discussion of meta-refresh and JS redirects:
http://www.webmasterworld.com/google/4160708.htm [webmasterworld.com]


 11:02 am on Sep 1, 2013 (gmt 0)

welcome to WebmasterWorld, wockawocka!


 11:17 am on Sep 1, 2013 (gmt 0)

Thanks Phranque.

Interesting point, I'll ask to see if Robots.txt has a disallow.

I'm thinking of using this as a temporary measure, I'll be monitoring the referral traffic to the new .com, once that falls below a certain level I'm feeling inclined to remove it.

Like you say, it's only a matter of time until Google learns to spot this.


 3:51 pm on Sep 1, 2013 (gmt 0)

Thank you phranque for the input and the link to the other thread:

"...another way to redirect without passing any penalty (or PR for that matter) is to send the redirect through a script that is excluded from crawling by a robots.txt Disallow directive."

Yes, I see that has been suggested for linking to affiliate sites so as to avoid flowing page rank, so that might be the best solution in this case, too.

Question: Does the page on which the redirection script resides need to have meta noindex and meta nofollow tags, too? Or are they usually just a .js file instead of in a .html file?

Now I will have to find some examples of the type of script I need.

(Can you tell that javascript is not my strong suit?)


 12:49 am on Sep 2, 2013 (gmt 0)

...the page on which the redirection script resides...

the redirection script does not "reside" on the page and is not javascript.

you want to be able to handle all requests whether direct("business cards / brochures, etc"), internally referred or whatever.

you would use mod_rewrite to redirect incoming requests to a cgi or php script, passing the requested url to the script.
make sure this RewriteRule is preceded by a RewriteCond that prevents it from firing if the request is for the redirect script so you avoid a recursive redirect loop.
this script would be disallowed in robots.txt so the bot stops here.
the script would examine the requested url and respond with a 301 status code and a Location: header with the fully qualified canonical url of the equivalent resource on the new domain.


 9:18 am on Sep 2, 2013 (gmt 0)

@ Planet13, I think phranque means something like this:

1) The client sends request for homepage or some other page on your old domain
2) In your .haccess you respond with 301 to RedirectScript which is on the same (old) domain, something like RedirectScript.php?requestURL=requested URL
3) The client re-requests RedirectScript.php?requestURL=requested URL
4) The RedirectScript.php issues 301 to appropriate page on the new domain depending on requestURL parameter

If the RedirectScript is disallowed in robots.txt then Googlebot should not be requesting it (not executing step 3), hence not seeing further redirect. But browsers (visitors) will be redirected to an appropriate page of the new domain


 3:02 am on Sep 3, 2013 (gmt 0)

Thanks for the explanation, guys.

In the meantime, would this "poor man's" version work?

- put a redirect in the head of index.html page pointing to /blocked_folder/index.html (on same domain)

- block the /blcocked_folder/ in robots.txt

- put redirect in /blocked_folder/index.html to .ca/ domain

Or does it specifically have to be a cgi / php script instead of a meta redirect / php redirect in head of page?

Thanks in advance.


 3:19 am on Sep 3, 2013 (gmt 0)

User-Agent: *
Disallow: /blocked-page.php

RewriteEngine on
RewriteRule !^(:?robots\.txt|blocked-page\.php)$ http://www.example.com/blocked-page.php?goto=%{REQUEST_URI} [R=301,L]

Added Note on the Preceding RewriteRule: I had one host (years ago) where I had to code the left-side of the rule as: (:?robots\.txt)|(:?blocked-page\.php) to get it to work on a full file location match for some reason. It's definitely non-standard to the best of my knowledge, but after hours of head scratching and even posting to see if anyone could find a flaw with the initial rule I finally changed the pattern to parenthesis on both side of the | and got it to work. Go figure.


if(filter_var('http://www.new-site.com'.$_GET['goto'],FILTER_VALIDATE_URL)!==FALSE)) {
header('Location: http://www.new-site.com'.$_GET['goto'],TRUE,301);

else {
echo 'Sorry, the URL you have requested appears to be invalid. Please double check the URL and try again.';



 4:14 am on Sep 3, 2013 (gmt 0)

One Additional Note: If query_strings are present in the original requests made to a site being redirected this way it my be necessary to modify my code to ensure they are included and passed to the new domain correctly, but if they are not present the preceding [although untested] should be very close to working even if it's not quite copy/paste ready to go.


 10:34 pm on Sep 4, 2013 (gmt 0)

Thank you so much, JD!

Global Options:
 top home search open messages active posts  

Home / Forums Index / Google / Google SEO News and Discussion
rss feed

All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
© Webmaster World 1996-2014 all rights reserved