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
-
301 Redirects, Sitemaps and Indexing - How to hide redirected urls from search engines?
We have several pages in our site like this one, http://www.spectralink.com/solutions, which redirect to deeper page, http://www.spectralink.com/solutions/work-smarter-not-harder. Both urls are listed in the sitemap and both pages are being indexed. Should we remove those redirecting pages from the site map? Should we prevent the redirecting url from being indexed? If so, what's the best way to do that?
Technical SEO | | HeroDesignStudio0 -
301 Redirect non existant pages
Hi I have 100's of URL's appearing in Search Console for example: ?p=1_1 These go to on to 5_200 etc.. I have tried to do htaccess and the mod rewrite is on as I can redirect directories to the root i.e RewriteRule ^web_example(.*)$ /$1 [R=301,N,L] However I have tried all kinds of variations to redirect ?p= and either it doesn't work at all or it crashes the website. Can anyone point me in the right direction to fix this.
Technical SEO | | Cocoonfxmedia0 -
Max Number of 301 Redirections?
Hi, We currently made a re-design of a website and we changed all our urls to make them shorter. I made more than 300 permanent redirections but plenty more are needed since WMT is showing some more 404s from old urls that I hadn't seen because they were dynamic. The question is, please, is there a limit? I think we have more than 600 already. We don't want to create a php commando to redirect all the old ones to our home, we are redirecting them to their correspondent url. By the way, Im doing them with the 301 method in .htaccess. Thanks in advance.
Technical SEO | | Tintanus0 -
301 Redirects Relating to Your XML Sitemap
Lets say you've got a website and it had quite a few pages that for lack of a better term were like an infomercial, 6-8 pages of slightly different topics all essentially saying the same thing. You could all but call it spam. www.site.com/page-1 www.site.com/page-2 www.site.com/page-3 www.site.com/page-4 www.site.com/page-5 www.site.com/page-6 Now you decided to consolidate all of that information into one well written page, and while the previous pages may have been a bit spammy they did indeed have SOME juice to pass through. Your new page is: www.site.com/not-spammy-page You then 301 redirect the previous 'spammy' pages to the new page. Now the question, do I immediately re-submit an updated xml sitemap to Google, which would NOT contain all of the old URL's, thus making me assume Google would miss the 301 redirect/seo juice. Or do I wait a week or two, allow Google to re-crawl the site and see the existing 301's and once they've taken notice of the changes submit an updated sitemap? Probably a stupid question I understand, but I want to ensure I'm following the best practices given the situation, thanks guys and girls!
Technical SEO | | Emory_Peterson0 -
301 redirect relative or absolute path?
Hello everyone, Recently we've changed the URL structure on our website, and of course we had to 301 redirect the old urls to the coresponding new ones. The way the technical guys did this is: "http://www.domain.com/old-url.html" 301 redirect to "/new-url.html"
Technical SEO | | Silviu
meaning as a relative redirect path, not an absolute one like this:
"http://www.domain.com/old-url.html" 301 redirect to "http://www.domain.com/new-url.html" This happened for few thousands urls, and the fact is the organic traffic dropped for those pages after this change. (no other changes were made on these pages and the new urls are as seo friendly as possible, A grade on On-Page Grader). The question is: does the relative redirect negatively affects seo, or it counts the same as an absolute path redirect? Thanks,
S.0 -
How do I fix a 301 Redirect Loop?
Saturday I waas doing some correcting of some duplicate titles, including nofollowing tags, etc. (my main problem was duplicate titles due to tags and categories being indexed). Now this morning I see that one of my pages refuses to load, citing a 301 redirect loop. http://www.incredibleinfant.com/feeding/switching-baby-formula/ Originally, the page was posted under the wrong category. http://www.incredibleinfant.com/uncategorized/switching-baby-formula I resaved it under the correct category (feeding) and now it won't load. Can someone help me figure out how to correct this mess? Thanks so much Heather
Technical SEO | | Gotmoxie0 -
Index.php and 301 redirect with Joomla
Hi, I'm running Joomla 1.7 with SEF on and I'm trying to do a htaccess redirect which fails. I have approximately 100 in effect so far and all working fine, but I have one snag. Index.php is not working as I need it to when it's redirected to www.myurl.com/ If I turn on index.php redirect to root using this code #index.php to root
Technical SEO | | NaescentAdam
RewriteCond %{HTTP_HOST} ^myurl.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.myurl.com$
RewriteRule ^index.php$ "http://www.myurl.com/" [R=301,L] And then go to www.myurl.com/test.html I'm redirected to the homepage. I think this is because all pages are index.php in joomla. SEOMOZ and Google both think that index.php and root are duplicate pages. Does anyone have any advice for overcoming this? Thanks, Adam0 -
200 Redirects for SEO instead of 301
We are working with a company on re-platforming our website. On a call yesterday they outlined a strategy to use 200 redirects for our top keywords instead of 301s. I am not familiar with this type of redirect and was wondering if anyone could provide some more insight.
Technical SEO | | EvergladesDirect0