TrueURL
TrueURL

मेन्यू

मुफ़्त रीडायरेक्ट टूल

मेटा रिफ़्रेश चेकर

हर रीडायरेक्ट HTTP स्टेटस कोड नहीं होता। TrueURL चेन के हर पेज का HTML पढ़ता है और मेटा रिफ़्रेश टैग और JavaScript रीडायरेक्ट को उनके टारगेट URL और देरी के साथ ढूंढता है।

मेटा रिफ़्रेश रीडायरेक्ट क्या है?

मेटा रिफ़्रेश एक HTML टैग है, जो ब्राउज़र को कुछ सेकंड की देरी के बाद कोई दूसरा URL लोड करने को कहता है:

<meta http-equiv="refresh" content="0; url=https://example.com/new-page">

0 की देरी पर यह सामान्य रीडायरेक्ट की तरह काम करता है। लंबी देरी होने पर विज़िटर को पहले पेज दिखता है, जैसा पुराने “आपको रीडायरेक्ट किया जा रहा है” वाले पेजों पर होता था। JavaScript रीडायरेक्ट यही काम location.href = '...' या location.replace('...') जैसे कोड से करते हैं। दोनों क्लाइंट-साइड रीडायरेक्ट हैं: सर्वर 200 OK जवाब देता है और रीडायरेक्ट ब्राउज़र करता है।

TrueURL क्लाइंट-साइड रीडायरेक्ट कैसे पकड़ता है

2xx स्टेटस वाले हर HTML रिस्पॉन्स के लिए TrueURL पेज के शुरुआती 256 KB में मेटा रिफ़्रेश टैग और सामान्य, बिना शर्त वाले JavaScript रीडायरेक्ट ढूंढता है। Refresh HTTP हेडर भी पकड़ा जाता है, जो मेटा रिफ़्रेश की तरह ही काम करता है। ऐसा कुछ मिलने पर यह टैग या स्क्रिप्ट का हिस्सा, पूरा (रिज़ॉल्व किया हुआ) टारगेट URL और देरी दिखाता है, हॉप पर मेटा रिफ़्रेश या JavaScript का लेबल लगाता है, और टारगेट से चेन आगे बढ़ाता है। जो रिफ़्रेश सिर्फ़ उसी पेज को दोबारा लोड करता है, वह रीडायरेक्ट नहीं है और उसे अनदेखा किया जाता है।

पेज को खुद देखने के लिए आप एडवांस सेटिंग्स में दोनों में से किसी भी तरह के रीडायरेक्ट को फ़ॉलो करना बंद कर सकते हैं। TrueURL JavaScript चलाता नहीं है: यह पेज की स्क्रिप्ट पढ़ता है और ऐसे रीडायरेक्ट पहचानता है जो किसी तय URL पर जाते हैं और पेज लोड होते ही हमेशा चलते हैं, चाहे तुरंत या किसी टॉप-लेवल setTimeout में। जो रीडायरेक्ट किसी शर्त पर निर्भर करते हैं, जैसे क्लिक, कंसेंट का चुनाव या स्क्रीन साइज़, या जो टारगेट URL कोड में बनाते हैं, वे नहीं पकड़े जाते। HEAD के बजाय GET इस्तेमाल करें, क्योंकि HEAD रिस्पॉन्स में स्कैन करने के लिए कोई बॉडी नहीं होती।

सर्च इंजन क्लाइंट-साइड रीडायरेक्ट को कैसे लेते हैं

  • तुरंत होने वाला मेटा रिफ़्रेश (देरी 0): Google इसे 301 की तरह स्थायी रीडायरेक्ट मानता है।
  • देरी वाला मेटा रिफ़्रेश: इसे अस्थायी रीडायरेक्ट माना जाता है, इसलिए मूल URL अक्सर इंडेक्स में बना रहता है।
  • JavaScript रीडायरेक्ट: Google इन्हें पेज रेंडर करने के बाद ही देखता है, जो क्रॉलिंग के काफ़ी बाद भी हो सकता है। कई दूसरे क्रॉलर और ज़्यादातर लिंक प्रीव्यू बॉट JavaScript चलाते ही नहीं।

Google सलाह देता है कि जहां भी आप सर्वर-साइड रीडायरेक्ट कॉन्फ़िगर कर सकें, वहां वही इस्तेमाल करें, और मेटा रिफ़्रेश को सिर्फ़ बैकअप (fallback) के तौर पर रखें, जैसे ऐसी स्टैटिक होस्टिंग पर जो 301 नहीं भेज सकती।

ऐक्सेसिबिलिटी और यूज़र एक्सपीरियंस

टाइमर वाले रीडायरेक्ट ऐक्सेसिबिलिटी की समस्या हैं: स्क्रीन रीडर इस्तेमाल करने वाले या धीरे पढ़ने वाले लोग पेज के अचानक बदलने पर भूल जाते हैं कि वे कहां तक पढ़ चुके थे। WCAG टाइमर वाले मेटा रिफ़्रेश को एक विफलता (F40) के रूप में दर्ज करता है, जबकि 0 देरी वाला तुरंत रीडायरेक्ट एक मान्य तकनीक (H76) है।

अगर आपको HTML में ही रीडायरेक्ट करना है, तो 0 की देरी रखें, नए URL की ओर इशारा करने वाला कैननिकल टैग जोड़ें, और पेज में उसका एक साफ़ दिखने वाला लिंक भी दें, उन विज़िटर के लिए जिनका ब्राउज़र रिफ़्रेश को फ़ॉलो नहीं करता।

गाइड

अक्सर पूछे जाने वाले सवाल

क्या मेटा रिफ़्रेश 301 की तरह SEO वैल्यू आगे भेजता है?

Google तुरंत होने वाले मेटा रिफ़्रेश (देरी 0) को स्थायी रीडायरेक्ट मानता है, इसलिए व्यवहार में यह काफ़ी हद तक 301 जैसा काम करता है। देरी वाला रिफ़्रेश अस्थायी गिना जाता है। दूसरे क्रॉलर मेटा रिफ़्रेश को उतने भरोसेमंद तरीके से शायद न संभालें, इसलिए जब भी आपकी होस्टिंग अनुमति दे, सर्वर-साइड 301 इस्तेमाल करें।

पेज मेरे ब्राउज़र में रीडायरेक्ट होता है, फिर भी रीडायरेक्ट चेकर 200 क्यों दिखाता है?

रीडायरेक्ट HTTP रिस्पॉन्स में नहीं, बल्कि पेज के HTML या JavaScript में होता है। सिर्फ़ स्टेटस कोड फ़ॉलो करने वाले टूल, जैसे curl -L, 200 वाले पेज पर ही रुक जाते हैं। TrueURL पेज का कॉन्टेंट स्कैन करता है और क्लाइंट-साइड रीडायरेक्ट को एक अलग हॉप के रूप में दिखाता है।

मेटा रिफ़्रेश में कितनी देरी रखनी चाहिए?

अगर मकसद रीडायरेक्ट करना है, तो 0। कोई भी देरी Google के लिए इसे अस्थायी रीडायरेक्ट बना देती है, विज़िटर को इंतज़ार कराती है और ऐक्सेसिबिलिटी की समस्याएं पैदा करती है। देरी सिर्फ़ ऐसे पेज पर समझ में आती है जिसे पहले कोई मैसेज दिखाना हो, और उस पेज पर आगे बढ़ने का एक साफ़ लिंक भी होना चाहिए।

क्या TrueURL हर JavaScript रीडायरेक्ट पकड़ सकता है?

नहीं, सिर्फ़ ऐसे सामान्य, बिना शर्त वाले रीडायरेक्ट जिनका टारगेट URL पेज के HTML में तय हो, जैसे location.href = '...', window.location = '...' या location.replace('...'), किसी टॉप-लेवल setTimeout के अंदर भी। बाहरी स्क्रिप्ट फ़ाइलों में मौजूद, किसी शर्त पर टिके, यूज़र के किसी एक्शन से चलने वाले या कोड में बनाए गए URL वाले रीडायरेक्ट को चलाने के लिए असली ब्राउज़र चाहिए। अगर चेन किसी ऐसे पेज पर रुक जाती है जिसके बारे में आप जानते हैं कि वह रीडायरेक्ट करता है, तो शायद यही वजह है।

कोई साइट 301 के बजाय मेटा रिफ़्रेश क्यों इस्तेमाल करेगी?

आम तौर पर इसलिए कि वह HTTP रीडायरेक्ट भेज ही नहीं सकती: रीडायरेक्ट नियमों के बिना स्टैटिक होस्टिंग, कोई पेज बिल्डर या पुराना CMS। कुछ लिंक शॉर्टनर और क्लिक ट्रैकर भी HTML रीडायरेक्ट इस्तेमाल करते हैं, ताकि पहले एनालिटिक्स स्क्रिप्ट चला सकें या यह तय कर सकें कि डेस्टिनेशन को कौन-सा रेफ़रर दिखे।

क्या HEAD रिक्वेस्ट से मेटा रिफ़्रेश पकड़ा जाता है?

नहीं। HEAD रिस्पॉन्स में हेडर होते हैं, बॉडी नहीं, इसलिए स्कैन करने के लिए कोई HTML ही नहीं होता। HEAD से जांच करने पर TrueURL आपको चेतावनी देता है; इस टूल के लिए GET इस्तेमाल करें।