रीडायरेक्ट टाइप्स के बारे में बात यह है: वे लिंक पर क्लिक करने वाले यूजर को समान दिखते हैं। ब्राउजर आपको दोनों तरीकों से A से B तक ले जाता है। लेकिन सर्च इंजन के लिए, अंतर इतना महत्वपूर्ण है कि अगर आप इसे गलत करते हैं तो माइग्रेशन को खराब कर सकता है।
This is the thing about redirect types: they look identical to a user clicking a link. The browser takes you from A to B either way. But to search engines, the difference is significant enough to wreck a migration if you get it wrong.
What These Two Redirect Codes Actually Mean
At the HTTP protocol level, a 301 tells the client (browser, Googlebot, Bingbot, whatever) that the resource has permanently moved to a new location. A 302 says it's temporarily moved. That's it. That's the whole difference at the spec level.permanently moved to a new location. A 302 says it's temporarily moved. That's it. That's the whole difference at the spec level.
But the downstream SEO implications are where it gets interesting.
301 के साथ, Google पुरानी URL के सिग्नल्स (बैकलिंक्स, पेज अथॉरिटी, क्रॉल प्रायोरिटी) को नई URL पर मर्ज करता है। 302 के साथ, Google को मूल URL को इंडेक्स्ड रखना चाहिए, क्योंकि यह मूव अस्थायी है। व्यावहारिक रूप से, Google इन सालों में इस मामले में ज्यादा स्मार्ट हो गया है, और Google के अपने डॉक्यूमेंटेशन में स्वीकार किया गया है कि Googlebot 302s से भी सिग्नल्स ट्रांसफर कर "सकता है", अंततः। लेकिन "सकता है" और "अंततः" ऐसे शब्द नहीं हैं जिन पर मैं क्लाइंट की रेवेन्यू दांव लगाना चाहूंगा।Google's own documentation acknowledges that Googlebot "may" transfer signals from 302s too, eventually. But "may" and "eventually" are not words I want to bet a client's revenue on.
लिंक इक्विटी का सवाल
301s से लिंक इक्विटी ट्रांसफर तुरंत नहीं होता है। यह आमतौर पर कुछ क्रॉल साइकिलस लेता है, जो क्रॉल बजट और डोमेन साइज के आधार पर दिन या हफ्ते हो सकते हैं। एक बिल्कुल नई डेस्टिनेशन URL के लिए जिसके पास कोई मौजूदा अथॉरिटी नहीं है, यह कंसोलिडेशन बहुत महत्वपूर्ण है। मैंने साइट्स को देखा है जो गलत 302s को 301s में ठीक करने के बाद, सिर्फ सही किए गए .htaccess फाइल को चलाकर और Google Search Console के माध्यम से रीक्रॉल को फोर्स करके 6-8 हफ्तों में माइग्रेशन से पहले ट्रैफिक लेवल तक रिकवर हो गए हैं।.htaccess file and forcing a recrawl through Google Search Console.
301 रीडायरेक्ट कब यूज करें
301 यूज करें जब भी मूव सच में परमानेंट हो। कुछ ठोस परिस्थितियां:
- आप HTTP से HTTPS पर माइग्रेट कर रहे हैं (यहां हर एक रीडायरेक्ट 301 होना चाहिए)
- एक पेज डिलीट हो गया है और आप URL को इसके सबसे नज़दीकी रिलेवेंट रिप्लेसमेंट की ओर पॉइंट कर रहे हैं
- आपने WordPress में अपनी परमालिंक स्ट्रक्चर बदल दी है (यह लोगों को लगातार परेशानी देता है)
- आप एक मर्जर या रीब्रांड के बाद दो डोमेन्स को एक में कंसोलिडेट कर रहे हैं
- एक प्रोडक्ट डिसकंटिन्यूड हो गया है और आप कैटेगरी पेज पर रीडायरेक्ट कर रहे हैं
एक WooCommerce माइग्रेशन पर जो मैंने 2022 के अंत में एक फैशन रिटेलर के लिए किया था, उनके पास लगभग 800 पुराने प्रोडक्ट URLs थे जिन्हें उनकी नई URL स्ट्रक्चर की ओर रीडायरेक्ट करने की जरूरत थी। हर एक को Redirection प्लगइन के जरिए regex मैचिंग के साथ 301 मिला। सेटअप को साफ-सुथरा करने में लगभग दो घंटे लगे। विकल्प यह था कि इसे मैनुअली करते या "बस टेस्ट करने के लिए" 302s का इस्तेमाल करते, जिससे उन्हें महीनों का रिकवरी टाइम खर्च होता।Redirection plugin with regex matching for the pattern. Took about two hours to set up cleanly. The alternative, doing it manually or using 302s "just to test", would have cost them months of recovery time.
HTTPS माइग्रेशन ट्रैप
यह वाला खास तौर पर। मुझे अब भी डेवलपर्स दिखते हैं जो HTTP से HTTPS माइग्रेशन कर रहे हैं और 302s का इस्तेमाल कर रहे हैं क्योंकि वो "पहले SSL को टेस्ट करना चाहते हैं"। मत करो। अगर सर्टिफिकेट इंस्टॉल है और काम कर रहा है, तो सीधे 301s पर जाओ। HTTPS माइग्रेशन पर 302 अप्रोच "डुप्लिकेट कंटेंट" फ्लैग्स का सबसे आम कारण है जो Google Search Console में आता है, क्योंकि Googlebot एक समय के लिए दोनों वर्जन को इंडेक्स कर सकता है।
302 रीडायरेक्ट कब करें
ज्यादातर लोगों को लगता है उससे कहीं कम केस। 302 उपयुक्त है जब:
- आप एक पेज पर A/B टेस्टिंग कर रहे हों और टेस्ट के दौरान ओरिजनल URL को उसके रैंकिंग सिग्नल्स बनाए रखने चाहते हों
- आप एक अस्थायी प्रमोशनल कैम्पेन चला रहे हों (एक शॉर्ट-टर्म लैंडिंग पेज जो आपके होमपेज को Black Friday के लिए रिप्लेस करता है, उदाहरण के लिए)
- आप मेंटेनेंस कर रहे हों और कुछ घंटों के लिए यूजर्स को स्टेटस पेज की ओर रूट कर रहे हों
- आपको यूजर्स को किसी पेज के लोकलाइजड वर्जन की ओर जियो-रीडायरेक्ट करना हो बिना इसे परमानेंट बनाए
यह आखिरी वाला लंबे समय तक सोचने लायक है। अगर आप UK विजिटर्स को /en-gb/ की ओर और US विजिटर्स को /en-us/ की ओर रीडायरेक्ट कर रहे हो, तो वो 302s होने चाहिए, क्योंकि कोई भी यूजर ग्रुप कैनोनिकल URL को "ओन" नहीं करता। Google geo-targeting को वैसे भी hreflang के जरिए अलग से हैंडल करता है, लेकिन 302 सिग्नल देता है कि ओरिजनल URL अभी भी कैनोनिकल डेस्टिनेशन है।/en-gb/ and US visitors to /en-us/, those should be 302s, because no single user group "owns" the canonical URL. Google handles geo-targeting separately through hreflang anyway, but the 302 signals that the original URL is still the canonical destination.
Seahawk के पास पिछले साल एक SaaS क्लाइंट था जो 30 दिन का फ्री ट्रायल प्रमोशन चला रहा था, जहाँ होमपेज अस्थायी रूप से /free-trial/ लैंडिंग पेज पर रीडायरेक्ट हो रहा था। सही फैसला: 302। वे चाहते थे कि प्रमोशन खत्म होने के तुरंत बाद होमपेज अपनी रैंकिंग वापस पा ले। अगर उन्होंने 301 इस्तेमाल किया होता, तो होमपेज के सिग्नल /free-trial/ पर कंसोलिडेट होने लगते, जो कैंपेन के बाद पूरी तरह गायब होने वाला था।/free-trial/ landing page. Correct call: 302. They wanted the original homepage to reclaim its rankings the moment the promotion ended. If they'd used a 301, the homepage's signals would have started consolidating onto /free-trial/, which was going to disappear entirely after the campaign.
"Google 302s को 301s की तरह मानता है" यह मिथ है
आपने शायद यह कहीं पढ़ा होगा। और इसमें सच्चाई की एक बूँद है। Google कुछ परिस्थितियों में एक लंबे समय तक चलने वाले 302 को 301 की तरह मान सकता है, खासकर अगर डेस्टिनेशन URL लंबे समय तक लगातार एक जैसा रहे। John Mueller ने विभिन्न Google Search Central office hours सेशन में इसका जिक्र किया है।can in certain situations treat a long-standing 302 similarly to a 301, especially if the destination URL is consistently the same over a long time period. John Mueller has mentioned this in various Google Search Central office hours sessions.
लेकिन यहाँ मुद्दा है: यह Google डेवलपर की गलतियों को माफ करना है, न कि कोई ऐसी चीज जिसके लिए आप प्लान करें। Bing इसी तरह काम नहीं करता। और डोमेन माइग्रेशन जैसी महत्वपूर्ण चीज के लिए Google के विवेक पर निर्भर रहना सिर्फ खराब काम है। सही टूल इस्तेमाल करें।
कैसे जाँचें कि आपके पास किस तरह का रीडायरेक्ट है
अगर आप निश्चित नहीं हैं कि साइट पर अभी क्या चल रहा है, तो जाँचने के कुछ तेज़ तरीके हैं।
सबसे तेज़: अपना टर्मिनल खोलें और curl -I https://example.com/old-page चलाएँ। रिस्पांस हेडर में HTTP/1.1 301 या HTTP/1.1 302 देखें। पाँच सेकंड लगते हैं।curl -I https://example.com/old-page . Look for the HTTP/1.1 301 or HTTP/1.1 302 in the response headers. Takes five seconds.
सैकड़ों URLs के लिए ज़्यादा विस्तृत ऑडिट के लिए, मैं Screaming Frog SEO Spider इस्तेमाल करता हूँ। अपना crawl एक्सपोर्ट करें, response code 3xx से फ़िल्टर करें, और आप साइट के हर रीडायरेक्ट को और उसकी किस्म को देख सकते हैं। मैं Seahawk में हर साइट ऑडिट पर इसे स्टैंडर्ड के तौर पर चलाता हूँ। फ्री वर्ज़न 500 URLs तक हैंडल करता है, जो बहुत सारी छोटी साइट्स को कवर करता है।Screaming Frog SEO Spider is what I use. Export your crawl, filter by response code 3xx, and you can see every redirect on the site and what type it is. I run this as standard on every site audit at Seahawk before we touch anything. The free version handles up to 500 URLs which covers a lot of smaller sites.
WordPress के लिए विशेष रूप से, Redirection plugin के पास एक built-in लॉग है जो आपको हर रीडायरेक्ट रीयल टाइम में दिखाता है, response code के साथ। माइग्रेशन के बाद कुछ भी अजीब पकड़ने के लिए सच में उपयोगी है।
Redirect Chains: यह समस्या है जिस पर कोई पर्याप्त बात नहीं करता
एक 301 जो किसी और 301 की ओर इशारा करता है, और वह अंतिम URL की ओर। यह एक redirect chain है, और यह उन साइटों पर हर समय होता है जो कई migrations या CMS changes से गुजरी हों। chain में हर hop link equity transfer को थोड़ा कमजोर करता है और crawl budget को खर्च करता है।
जो नियम मैं follow करता हूँ: अगर Screaming Frog एक से ज्यादा redirects की कोई chain दिखाता है, तो उसे ठीक करो। पहले URL को सीधे अंतिम destination की ओर इशारा करो। यह 301 और 302 दोनों chains पर लागू होता है।
Redirects को सही तरीके से लागू करना
आपके stack पर निर्भर करता है, लेकिन सबसे आम scenarios ये हैं:
Apache (.htaccess): `` Redirect 301 /old-page https://www.example.com/new-page `` `` Redirect 301 /old-page https://www.example.com/new-page ``
Nginx: `` return 301 https://www.example.com/new-page; `` `` return 301 https://www.example.com/new-page; ``
WordPress (Redirection plugin के माध्यम से): HTTP code field को explicitly 301 पर सेट करो। plugin 301 को default मानता है, लेकिन मैंने देखा है कि दूसरे plugins या imports से यह बदल जाता है, इसलिए हमेशा double-check करो। Set the HTTP code field to 301 explicitly. The plugin defaults to 301 but I've seen it get changed by other plugins or imports, so always double-check.
Cloudflare Page Rules: आप CDN level पर redirect rules को explicit 301 या 302 status codes के साथ सेट कर सकते हो। यह domain-wide redirects के लिए उपयोगी है request के server तक पहुँचने से पहले। You can set redirect rules at the CDN level with explicit 301 or 302 status codes. Useful for domain-wide redirects before the request even hits your server.
एक बात मैं add करूँगा: किसी भी redirect को लागू करने के बाद, curl या HTTP Status Checker tool से verify करो। बस browser में link पर क्लिक मत करो। Browsers redirects को aggressively cache करते हैं, और तुम सोचोगे कि यह काम कर रहा है जबकि server actually पहली बार आने वाले visitors के लिए कुछ और return कर रहा है।curl or the HTTP Status Checker tool. Don't just click the link in a browser. Browsers cache redirects aggressively, and you'll think it's working when the server is actually returning something different for first-time visitors.
Backlinks की क्या होती है जो Redirected URLs की ओर इशारा करते हैं
संक्षिप्त उत्तर: एक 301 रीडायरेक्ट समय के साथ लिंकिंग वैल्यू को गंतव्य URL में समेकित कर देता है। लेकिन बैकलिंक्स ख़ुद गायब नहीं होते या अपने आप अपडेट नहीं होते। वे अभी भी पुराने URL की ओर इशारा करते हैं। रीडायरेक्ट Google को उन लिंक्स की वैल्यू को नए गंतव्य के साथ जोड़ने के लिए कहता है।
यही कारण है कि 301s सेट किए बिना अपनी परमालिंक स्ट्रक्चर बदलना विनाशकारी है। आपके द्वारा अर्जित हर बैकलिंक जो /blog/post-name/ की ओर इशारा करता है, बेकार हो जाता है यदि वह URL अब 404s करता है /articles/post-name/ को रीडायरेक्ट करने की जगह।/blog/post-name/ becomes worthless if that URL now 404s instead of redirecting to /articles/post-name/.
मैंने 2020 में एक कंटेंट साइट का ऑडिट किया था जिसने WordPress थीम बदली थी, और नई थीम में एक अलग URL स्ट्रक्चर बना हुआ था। कोई रीडायरेक्ट्स सेट नहीं किए गए थे। उन्होंने लगभग 200 लेखों पर लिंक इक्विटी खो दी थी। Ahrefs डेटा के अनुसार, यहां तक कि एक अच्छी तरह से लागू किया गया 301 रीडायरेक्ट लगभग 90-99% लिंक इक्विटी बनाए रखता है, हालांकि Google ने कोई आधिकारिक आंकड़ा प्रकाशित नहीं किया है। बात यह है: एक खराब 301 भी एक 404 को विशाल मार्जिन से हरा देता है।Ahrefs data, even a well-implemented 301 redirect retains somewhere around 90-99% of link equity, though Google hasn't published an official figure. The point is: even an imperfect 301 beats a 404 by an enormous margin.
FAQ
क्या 301 रीडायरेक्ट 100% लिंक इक्विटी पास करता है?
नहीं, और शायद कभी नहीं किया है। Google ने ऐतिहासिक रूप से सुझाव दिया है कि किसी भी रीडायरेक्ट के माध्यम से PageRank में थोड़ी सी हानि होती है। पहले उद्धृत आंकड़ा लगभग 15% हानि थी, हालांकि Google ने तब से इसे कुछ हद तक वापस ले लिया है। Ahrefs और Moz दोनों अनुमान लगाते हैं कि एक एकल साफ 301 के लिए हानि न्यूनतम है। जो आपको मारता है वह chains, loops, या गलत रीडायरेक्ट type का उपयोग करना है।
क्या मैं 301 रीडायरेक्ट को बाद में कहीं और इशारा करने के लिए बदल सकता हूँ?
हाँ। एक 301 एक server-side instruction है, न कि कुछ ऐसा जो Google के index में स्थायी रूप से बना हुआ है। आप किसी भी समय गंतव्य को अपडेट कर सकते हैं। Google अपनी अगली क्रॉल पर नया गंतव्य लेगा। 301 में "permanent" का अर्थ उस समय permanent intent है, न कि यह तकनीकी रूप से अपरिवर्तनीय है।
Google को 301 रीडायरेक्ट को प्रोसेस करने में कितना समय लगता है?
उच्च-प्राधिकार वाली साइट्स के लिए जिनकी बार-बार क्रॉलिंग होती है, कभी-कभी एक या दो दिन में। छोटी साइट्स के लिए, इसमें कई हफ़्ते लग सकते हैं। Google Search Console के URL Inspection tool के माध्यम से नए URLs को सबमिट करना और इंडेक्सिंग का अनुरोध करना इसे meaningfully तेज़ करता है। मैं इसे हर migration पर standard के रूप में करता हूँ।
क्या मुझे हर पुराने URL को रीडायरेक्ट करना चाहिए या सिर्फ महत्वपूर्ण वाले?
हर उस URL को जिसके पास कोई भी बैकलिंक हो, कोई इंडेक्स्ड ट्रैफिक हो, या कोई इंटरनल लिंक उस तक पॉइंट कर रहा हो, एक सही 301 मिलना चाहिए। जिन पेजों के पास जीरो लिंक्स और जीरो इंडेक्स्ड ट्रैफिक हो, उनके लिए 404 ठीक है। जेनुइनली डेड URLs को रीडायरेक्ट करके रीडायरेक्ट ब्लोट न बनाएं जिनके पास कभी कोई वैल्यू ही नहीं था।
JavaScript रीडायरेक्ट्स के बारे में क्या? क्या उन्हें एक जैसे ट्रीट किया जाता है?
नहीं। JavaScript रीडायरेक्ट्स (window.location का इस्तेमाल करके) को Googlebot बहुत धीमा प्रोसेस करता है क्योंकि उन्हें JavaScript रेंडरिंग की जरूरत होती है। ये दूसरे क्रॉलर्स में भी इनकंसिस्टेंट हैं। किसी भी SEO-सेंसिटिव चीज़ के लिए, सर्वर-साइड रीडायरेक्ट्स इस्तेमाल करें। हमेशा।window.location) are processed much more slowly by Googlebot because they require JavaScript rendering. They're also inconsistent across other crawlers. For anything SEO-sensitive, use server-side redirects. Always.
---
रीडायरेक्ट टाइप उन चीजों में से एक है जो ट्रिविअल दिखती है जब तक कि वो नहीं होती। मैंने कॉल्स पर घंटों बिताए हैं क्लाइंट्स को समझाते हुए कि उनका ट्रैफिक माइग्रेशन के छह महीने बाद क्यों गिरा, इसे एक डेवलपर के फैसले तक ट्रेस करके कि 302s इस्तेमाल करना "सेफर" था। ये सेफ नहीं है। टाइप को सही रखो, चेन्स को छोटा रखो, और अपने ब्राउजर के अलावा किसी और चीज़ से वेरीफाई करो।
