Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are 301 redirects possible using javascript or jQuery?

I'm running Apache 2.0 and I'm just wondering if it is possible to make a 301 redirect using JavaScript or jQuery.

I have an <a></a> tag with href to a specified location and I'm asked to make a 301 redirect when I click that link.

This is for SEO and I'm trying to find a way to do the 301 redirect to the same page in the link without having to create a new page or create a form/submit.

like image 438
Caleb Doucet Avatar asked Dec 12 '12 19:12

Caleb Doucet


People also ask

How can you perform 301 redirects in JS?

Are 301 redirects possible using JavaScript? Unfortunately not. That's not possible to do on the client-side. The 301 HTTP response code must be sent from the server, well before the JavaScript is executed by the browser.

Can you redirect in JavaScript?

The redirection can be done in the web browsers using JavaScript redirection API. It's important to note that JavaScript redirection runs entirely on web browsers. Therefore it doesn't return the status code 301 (move permanently) like a server redirection.

Is it possible for Google to treat a 302 redirect is 301?

Only if Google thinks you used a 302 redirect by mistake for a permanent move does this not happen. In that case, it treats the redirect as a 301. This means it indexes the new URL instead and consolidates link signals there.


1 Answers

I know this is an old question but the answers don't really address the primary issue that was presented in the question which is a 301 redirect for SEO purposes (and the answer today may very well be different than it was when the question was originally asked and answered).

The answer that no, you can't 301 redirect from the client is technically correct, however (and more importantly) you don't necessarily need to. While a true 301 would be preferred, in cases like this one where it's not possible (or transitioning away from hashbang URLs back to traditional URLs for example), the question is really whether or not there's a viable alternative that accomplishes the goal.

Search Engine Land did a detailed test of Google's capabilities regarding JavaScript and this is the related excerpt from that article:

  1. JavaScript Redirects

We first tested common JavaScript redirects, varying how the URL was represented in different ways. The method we chose was the window.location function. Two tests were performed: Test A included the absolute URL attributed in the window.location function. Test B used a relative URL.

Result: The redirects were quickly followed by Google. From an indexing standpoint, they were interpreted as 301s — the end-state URLs replaced the redirected URLs in Google’s index.

In a subsequent test, we utilized an authoritative page and implemented a JavaScript redirect to a new page on the site with exactly the same content. The original URL ranked on the first page of Google for popular queries.

Result: As expected, the redirect was followed by Google and the original page dropped from the index. The new URL was indexed and immediately ranked in the same position for the same queries. This surprised us, and seems to indicate that JavaScript redirects can (at times) behave exactly like permanent 301 redirects from a ranking standpoint.

The next time your client wants to implement JavaScript redirects for their site move, your answer might not need to be, “please don’t.” It appears there is a transfer of ranking signals in this relationship. Supporting this finding is a quote from Google’s guidelines:

"Using JavaScript to redirect users can be a legitimate practice. For example, if you redirect users to an internal page once they’re logged in, you can use JavaScript to do so. When examining JavaScript or other redirect methods to ensure your site adheres to our guidelines, consider the intent. Keep in mind that 301 redirects are best when moving your site, but you could use a JavaScript redirect for this purpose if you don’t have access to your website’s server."

like image 93
Chris Searles Avatar answered Sep 29 '22 13:09

Chris Searles