We operate a site that lists service providers and serves as a lead generation platform for them, specifically via external links that point to our partners. (~90% of our pages contain 1-3 such external links, which we'll ultimately reduce to around ~15-30%.)

To track the clicks on these links, we currently use Google Analytics with custom Events (via JavaScript). But we want to build a custom solution in our backend so that we can easily generate performance reports for our clients.

Ideally, instead of linking to www.ourclient.domain directly, we'd have internal URLs like www.ourwebsite.domain/redirect?target=www.ourclient.domain, i.e. a redirect URL that takes the target as an HTTP GET parameter.

The question is: What is best practice for implementing redirects to external sites, specifically from an SEO perspective?

I've seen some sites implement this with a 307 Temporary Redirect, which seems in violation of the standard. Other sites to render a page (with a HTTP 200 status code) that contains a redirect via META tags or JavaScript.

So what is best practice? Has Google perhaps even given guidance on this?

  • "a 307 Temporary Redirect, which seems in violation of the standard" -- What standard would that be? I don't know of any standard that would prevent you from implementing temporary redirects. – Stephen Ostermiller Mar 15 at 16:03
  • What do you want to accomplish as far as SEO goes? Since these links are sponsored, I'd think that your SEO goal should be to no be penalized for selling links. – Stephen Ostermiller Mar 15 at 16:05
  • 1
    Regarding the standard: "The 307 (Temporary Redirect) status code indicates that the target resource resides temporarily under a different URI" (tools.ietf.org/html/rfc7231#section-6.4.7) - 307 isn't intended for redirects to external pages, or at least that's my understanding. Regarding our SEO goals: Yes, we want to avoid penalties for sold links. We also want to avoid penalties for a wrong implementation that might confuse Google & co. or, worst case, be interpreted as an attempt to deceive them. – gibihmruby Mar 15 at 16:10
  • "isn't for redirects to external pages" -- What gave you that impression? Is says that a URI can be used. It doesn't limit it to same-host URIs or relative URIs. Maybe you think "URI" refers to the path portion of the URL? That is a common misconception and it is not true. URI are a broader class of resource identifiers than URL. See What is the difference between a URI and a URL? – Stephen Ostermiller Mar 15 at 16:15
  • Assume that theirwebsite.domain is the one that uses 307 redirects. The target resource www.theirpayingclient.domain never resided under www.theirwebsite.domain/redirect?target=www.theirpayingclient.domain, and other than an affiliate relationship, both websites are independent of each other. So, no, I didn't misunderstand URL/URI, but it has been my understanding that the 3xx codes are supposed to be used when actual content was moved from one place to another place; and not to send users to other websites. – gibihmruby Mar 15 at 16:33

Your strategy for a redirect URL is a good one, and it will allow you to use custom GA code to report on the leads.

If your goal is to prevent link juice from passing to the advertiser's domains, here is some info:

  1. 301 redirects pass link juice.

  2. There is controversy as to how much link juice 302 redirects pass. Some sources say none, some sources say all, and some sources say some.

  3. 307 redirects also likely pass link juice similarly to a 302.

  4. Meta Refresh javascript likely passes some, but not all link juice.

  5. Javascript redirects probably pass a little link juice.

Google Webmaster Guidelines state that you shouldn't sell followed links. As a result, you really don't want Google to be following advertiser links regardless of how you redirect to them on your website. You should be adding "nofollow" tags to these links.

If your redirect url is www.ourwebsite.domain/redirect?target=www.ourclient.domain/page.html, because this URL clearly isn't temporary and will never redirect to a different page, I would use a 301 permanent. If you ever have plans of redirecting www.ourwebsite.domain/redirect?target=www.ourclient.domain/page.html to a different page like www.ourclient.domain/page-different.html then I would use a 302 temporary.

You can also tell Google not to crawl the ?redirect parameter at https://www.google.com/webmasters/tools/crawl-url-parameters?hl=en&siteUrl= Set the Which URLs with this parameter should Googlebot crawl? to No Urls

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.