Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
Redirection chain and Javascript Redirect
-
Hi,
A redirection chain is usually defined as a page redirecting to another page which itself is another redirection.
URL1 ---(301/302)---> URL2 ---(301/302)---> URL3
But what about Javascript redirect? They seem to be a different beast:
URL1 ---(301/302)---> URL2 ---(200 then Javascript redirect)---> URL3
From what I know if the javascript redirect is instant Google counts it as a 301 permanent redirection, but I'm still not sure about if this counts as a redirection chain.
Most of the tools (such as moz) only see the first redirection.
So is that scenario a redirection chain or no?
-
It's a delicate balance between efficient routing and ensuring seamless transitions, where every decision shapes the user's path and perception. myvirtualworkplace
-
@LouisPortier said in Redirection chain and Javascript Redirect:
Hi,
A redirection chain is usually defined as a page redirecting to another page which itself is another redirection.
URL1 ---(301/302)---> URL2 ---(301/302)---> URL3
But what about Javascript redirect? They seem to be a different beast:
URL1 ---(301/302)---> URL2 ---(200 then Javascript redirect)---> URL3
From what I know if the javascript redirect is instant Google counts it as a 301 permanent redirection, but I'm still not sure about if this counts as a redirection chain.
Most of the tools (such as moz) only see the first redirection.
So is that scenario a redirection chain or no?
A JavaScript redirect, on the other hand, is a redirect that occurs using JavaScript code embedded in a webpage. Instead of relying on server-side redirects, JavaScript redirects are triggered when the page loads or when certain conditions are met, and they instruct the browser to navigate to a different URL. They can be used for various purposes, such as redirecting users after a certain amount of time, after a form submission, or based on user interactions.
-
Understanding the intricacies of redirection chains and JavaScript redirects is crucial for optimizing website performance and user experience. Proper implementation ensures smooth navigation and avoids unnecessary delays. Visit more
-
Understanding the intricacies of redirection chains and JavaScript redirects is crucial for optimizing website performance and user experience. Proper implementation ensures smooth navigation and avoids unnecessary delays. Visit more
-
Understanding the intricacies of redirection chains and JavaScript redirects is crucial for optimizing website performance and user experience. Proper implementation ensures smooth navigation and avoids unnecessary delays. Visit more
-
Understanding the intricacies of redirection chains and JavaScript redirects is crucial for optimizing website performance and user experience. Proper implementation ensures smooth navigation and avoids unnecessary delays. Visit more
-
Understanding the intricacies of redirection chains and JavaScript redirects is crucial for optimizing website performance and user experience. Proper implementation ensures smooth navigation and avoids unnecessary delays. Visit more
-
Understanding the intricacies of redirection chains and JavaScript redirects is crucial for optimizing website performance and user experience. Proper implementation ensures smooth navigation and avoids unnecessary delays. Visit more
-
I appreciate your detailed explanation. To enhance accuracy in tracing redirects, ensure a cohesive sequence. Consider using a unified approach for hash numbers, perhaps generating a unique identifier for each transition. Additionally, refine the code logic to account for different redirection techniques, ensuring a seamless and connected mapping of the entire journey from A to D. If possible, share snippets of your code for more targeted guidance. shopify website design servicee austin
-
Thank you for the valuable feedback. While the current code successfully executes, it lacks accuracy in tracing the redirect sequence. The issue stems from the disjointed nature of the captured redirects, as seen in the isolated transitions from A to B, B to C, and C to D, where randomly generated hash numbers (channel_1 and channel_2) are utilized. This disrupts the continuity of the redirect chain, resulting in an inaccurate representation of the actual progression from A through D.
The objective is to effectively track the entire journey, encompassing transitions from A to B to C to D, across various redirection techniques such as meta-refresh, JavaScript, and HTTP redirects. I would greatly appreciate your guidance on refining the code to maintain the integrity of the redirect sequence, ensuring a connected and sequential mapping of the redirection process. Liteblue
-
Thank you for the valuable feedback. While the current code successfully executes, it lacks accuracy in tracing the redirect sequence. The issue stems from the disjointed nature of the captured redirects, as seen in the isolated transitions from A to B, B to C, and C to D, where randomly generated hash numbers (channel_1 and channel_2) are utilized. This disrupts the continuity of the redirect chain, resulting in an inaccurate representation of the actual progression from A through D.
The objective is to effectively track the entire journey, encompassing transitions from A to B to C to D, across various redirection techniques such as meta-refresh, JavaScript, and HTTP redirects. I would greatly appreciate your guidance on refining the code to maintain the integrity of the redirect sequence, ensuring a connected and sequential mapping of the redirection process. Liteblue
-
In the scenario you described, where there is a sequence of redirects involving both HTTP redirects (301/302) and a JavaScript redirect, it can be considered a redirection chain. The key point is that each step in the sequence contributes to the final destination of the URL.
In your example:
- URL1 redirects to URL2 using an HTTP 301/302 status code.
- URL2, after an HTTP 200 response, triggers a JavaScript redirect to URL3.
From Google's perspective, if the JavaScript redirect is instantaneous and does not introduce a delay, it might treat it similarly to a traditional 301 permanent redirect. However, it's important to note that search engines may interpret JavaScript redirects differently, and their behavior may evolve over time.
Tools like Moz may sometimes focus on the initial HTTP redirect and not delve into subsequent steps, potentially overlooking the complete redirection chain. Therefore, discrepancies in what different tools report could occur.
For a more comprehensive understanding, you might consider using tools or methods that specifically analyze JavaScript-based redirects or inspect the network requests in a browser's developer tools to see the entire redirection sequence. This way, you can get a clearer picture of how search engines and various tools interpret the entire redirection chain, including both HTTP and JavaScript redirects.
-
Thank you for the insightful feedback. While the current code executes successfully, it falls short in accurately tracing the redirect sequence. The issue lies in the disjoint nature of the captured redirects, exemplified by the isolated transitions A->B, B->C, and C->D, where the hash numbers (channel_1 and channel_2) are generated randomly. This disrupts the continuity of the redirect chain, failing to reflect the actual progression from A through D. The goal is to effectively track the entire journey, A->B->C->D, across different redirection techniques such as meta-refresh, JavaScript, and HTTP redirects. Could you provide guidance on how to refine the code to maintain the integrity of the redirect sequence, ensuring a connected and sequential mapping of the redirection process?
-
Thank you for the insightful feedback. While the current code executes successfully, it falls short in accurately tracing the redirect sequence. The issue lies in the disjoint nature of the captured redirects, exemplified by the isolated transitions A->B, B->C, and C->D, where the hash numbers (channel_1 and channel_2) are generated randomly. This disrupts the continuity of the redirect chain, failing to reflect the actual progression from A through D. The goal is to effectively track the entire journey, A->B->C->D, across different redirection techniques such as meta-refresh, JavaScript, and HTTP redirects. Could you provide guidance on how to refine the code to maintain the integrity of the redirect sequence, ensuring a connected and sequential mapping of the redirection process? Liteblue
-
Thank you for your feedback. While the code is currently functional, it doesn't yield the expected outcome. The recorded redirect chain appears disjointed, capturing transitions like A->B (channel_1 -> channel_2), B->C (channel_1 -> channel_2), and C->D (channel_1 -> channel_2). The issue lies in the randomly generated hash numbers (channel_1 and channel_2), preventing the proper linkage of the redirect chain. The goal is to accurately capture sequential events such as A->B->C->D, considering various redirection methods like meta-refresh, JavaScript, and HTTP. How can I modify the code to implement this strategy and ensure the redirection chain is connected as intended?
-
Thank you for your feedback. Although the code is functional, it does not produce the expected result. Currently, the recorded redirect chain is disjointed, capturing transitions like A->B (channel_1 -> channel_2), B->C (channel_1 -> channel_2), and C->D (channel_1 -> channel_2). In this case, the hash numbers (channel_1 and channel_2) are randomly generated, preventing the proper linking of the redirect chain. The objective is to accurately capture the sequential events of A->B->C->D, considering various redirection methods such as meta-refresh, JavaScript, and HTTP. How can I modify the code to achieve this strategy and ensure the redirection chain is connected as intended? Liteblue
-
thx, the code works, but not as expected: A->B->C->D (channel_1 -> channel_2 -> channel_3 -> channel_4).
In my case it will record a redirect chain of A->B->C->D like:
A->B (channel_1 -> channel_2), than B->C (channel_1 -> channel_2), C->D (channel_1 -> channel_2); where channel_1 & channel_2 are random hash numbers.
So I can not link the chain together. that would be the strategy to capture the chain of events (while the pages redirect using, meta-refresh, javascript, http...)? Liteblue USPS
-
window.location.replace('http://example.com');
It's better than using window.location.href = 'http://example.com';
Using replace() is better because it does not keep the originating page in the session history, meaning the user won't get stuck in a never-ending back-button fiasco.
If you want to simulate someone clicking on a link, use window.location.href
If you want to simulate an HTTP redirect, use window.location.replace
You can use assign() and replace methods also to javascript redirect to other pages like the following:
location.assign("http://example.com");
The difference between replace() method and assign() method(), is that replace() removes the URL of the current document from the document history, means it is not possible to use the "back" button to navigate back to the original document. So Use the assign() method if you want to load a new document, andwant to give the option to navigate back to the original document.
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Http to https redirection issue
Hi, i have a website with http but now i moved to https. when i apply 301 redirection from http to https & check in semrush it shows unable to connect with https & similar other tool shows & when i remove redirection all other tools working fine but my https version doesn't get indexed in google. can anybosy help what could be the issue?
Technical SEO | | dhananjay.kumar10 -
WPEngine Causing Redirect Chain
Hi guys, Had a quick question that I wanted to verify here. After reviewing a Moz report we received some redirect chain error on all of our sites hosted with WPEngine. We noticed that the redirect chain appears to be coming from how the domains are configured in their control panel. Essentially, there is a redirect: from staging/temp -> to live from non-www -> to www SSL redirect from http -> https The issue here is that the non-www is redirecting to www and then redirected again to https://www According to support the only way to get rid of this error is to drop the www version of the domain and to host everything under https://domain.com. To me it seems very odd that you cannot just go from http://non-www to https://www in just 1 301 redirect. Has anyone else experienced this or am I just not looking at the situation correctly?
Technical SEO | | AaronHenry0 -
Robots txt. in page with 301 redirect
We currently have a a series of help pages that we would like to disallow from our robots txt. The thing is that these help pages are located in our old website, which now has a 301 redirect to current site. Which is the proper way to go around? 1- Add the pages we want to disallow to the robots.txt of the new website? 2- Break the redirect momentarily and add the pages to the robots.txt of the old one? Thanks
Technical SEO | | Kilgray0 -
CNAME vs 301 redirect
Hi all, Recently I created a website for a new client and my next job is trying to get them higher in Google. I added them in OSE and noticed some strange backlinks. To my surprise the client has about 20 domain names. All automatically poiting to (showing) the same new mainsite now. www.maindomain.nl www.maindomain.be
Technical SEO | | Houdoe
www.maindomain.eu
www.maindomain.com
www.otherdomain.nl
www.otherdomain.com
... Some of these domains have backlinks too (but not so much). I suggested to 301 redirect them all to the main site. Just to avoid duplicate content. But now the webhoster comes into play: "It's a problem, client has only 1 hosting account, blablabla...". They told me they could CNAME the 20 domains to the main domain. Or A-record them to an IP address. This is too technical stuff for me. So my concrete questions are: Is it smart to do anything at all or am I just harming my client? The main site is ranking pretty well now. And some backlinks are from their copy sites (probably because everywhere the logo links to the full mainsite url). Does the CNAME or A-record solution has the same effect as a 301 redirect, from SEO perspective? Many thanks,
Hans0 -
301 redirect not working
Hi there! I have recently moved a domain that has been indexed by google and setup redirects so that it forwards to the new domain. It seems like the only redirect that actually is working is the canonical and main domain but every other page and or page nested within a folder are not working. Here is an example of some of the redirects. Am I doing this wrong? It seems to be going to the new domain but can't find the actual pages.... RewriteEngine On
Technical SEO | | twotd
RewriteBase /
RewriteCond %{HTTP_HOST} !agoodsweep.com$ [NC]
RewriteRule ^(.*)$ http://agoodsweep.com/$1 [L,R=301]
redirect 301 woodstoveservicerepair.html http://agoodsweep.com/woodstoveservicerepair/
redirect 301 /westchesterchimney.html http://agoodsweep.com/west-chester-chimney/ Thanks in advance for any help!!0 -
What to do with 302 redirects being indexed
Hi there, Our site's forums include permalinks that for some reason uses an intermediary URL that 302 redirects to the URL with the permalink anchor. For example: http://en.tradimo.com/learn/chart-analysis/time-frames/ In the comments, there is a permalink to the following URL; en.tradimo.com/co/50c450005f2b949e3200001b/ (there is no content here, and never has been). This URL 302 redirects to the following final URL: http://en.tradimo.com/learn/chart-analysis/time-frames/?offset=0&limit=20#50c450005f2b949e3200001b The problem is, Google is indexing the redirect URL (en.tradimo.com/co/50c450005f2b949e3200001b/) and showing duplicate content even though we are using the nofollow tag on these links. Ideally, we would directly use the last link rather than redirecting. Alternatively, I'd say a 301 redirect would be preferable. But if both aren't available, is there a way to get these pages out of the index? Is the canonical tag the best way? I really wish I could just add /co/ to the robots.txt file, but I think they would still be in the index, right? Thanks for your help!
Technical SEO | | etruvian0 -
Where does Wordpress store the 301 redirects?
Hi, I've just created a campaign for my new wordpress blog and found 11 301 redirects which I was not aware of. It looks like wordpress has created them automatically. Does any one know how wordpress handles this issues or where are they stored so I can delete them? They are of no use for me. 9 of these redirects point to the same url with an added '/' and are in pages 1 is on a post. I've been changing the permalink and some urls several times and maybe one of these times the Wordpress has automatically created the 301 redirect. But why? I do not want to keep the old url. the last redirect is very strange it goes from http://www.mydomain.com/folder to http://www.mydomain.com where folder is the folder where I installed wordpress. But again, I want no one to type the url with the folder name or even know this folder exists. Any comment on this would be greatly appreciated. Thanks a lot, David
Technical SEO | | dballari0 -
Old URL redirect to New URL
Alright I did something dumb a year a go and I'm still paying for it. I changed my hyphenated URL to the non-hyphenated version when I redesigned my website. I say it was dumb because I lost most of my link juice even though I did 301 redirects (via the htaccess file) for almost all of the pages I could find in Google's index. Here's my problem. My new site took a huge hit in traffic (down 60%) when I made the change and even though I've done thousands of redirects my old site is still showing up in the SERPS and send much if not most of my traffic. I don't want to take the old site down in fear it will kill all of my traffic. What should I do? Is there a better method I should explore then 301 redirects? Could the other site be affecting my current rank since it's still there? (FYI...both sites are built on the WP platform). Any help or ideas are greatly appreciated. Thank you! Joe
Technical SEO | | kaje0