रीडायरेक्ट और Google Search

यूआरएल को रीडायरेक्ट करने का मतलब, किसी पेज के मौजूदा यूआरएल को दूसरे यूआरएल से बदलना है. ऐसा करके, वेबसाइट पर आने वाले लोगों और Google Search को बताया जाता है कि अब पेज का एक नया यूआरएल है. रीडायरेक्ट, खास तौर पर इन हालात में कारगर होते हैं:

  • आप अपनी साइट को किसी नए डोमेन पर ले गए हैं और लोगों को पुराने डोमेन से नए डोमेन पर भेजने की प्रक्रिया को जितना हो सके उतना आसान बनाना चाहते हैं.
  • लोग अलग-अलग यूआरएल से आपकी साइट पर आते हैं. उदाहरण के लिए, अगर आपके होम पेज पर कई तरीकों से पहुंचा जा सकता है (जैसे, http://example.com/home, http://home.example.com या http://www.example.com), तो इनमें से एक यूआरएल को अपना पसंदीदा (कैननिकल) यूआरएल बनाना और दूसरे यूआरएल के ट्रैफ़िक को अपने पसंदीदा यूआरएल पर भेजने के लिए, रीडायरेक्ट का इस्तेमाल करना अच्छा होता है.
  • आप दो वेबसाइटों को मर्ज कर रहे हैं और यह पक्का करना चाहते हैं कि पुराने यूआरएल के लिंक, उपयोगकर्ताओं को रीडायरेक्ट करके सही पेजों पर ले जाएं.
  • आपने किसी पेज को हटा दिया है और आप उपयोगकर्ताओं को एक नए पेज पर ले जाना चाहते हैं.

अलग-अलग तरह के रीडायरेक्ट के बारे में खास जानकारी

आम तौर पर, उपयोगकर्ताओं को अलग-अलग तरह के रीडायरेक्ट के बीच अंतर पता नहीं लगता. हालांकि, Google Search, रीडायरेक्ट का इस्तेमाल एक मज़बूत या कमज़ोर सिग्नल के तौर पर यह बताने के लिए करता है कि रीडायरेक्ट की मदद से उपयोगकर्ता जिस पेज पर पहुंचता है वह कैननिकल होना चाहिए. किस रीडायरेक्ट का इस्तेमाल किया जाना चाहिए, यह इस बात से तय होता है कि आप रीडायरेक्ट को कितने समय के लिए लागू करना चाहते हैं और आप Google Search के खोज नतीजों में किस पेज को दिखाना चाहते हैं:

  • स्थायी रीडायरेक्ट: यह रीडायरेक्ट नए टारगेट को खोज के नतीजों में दिखाता है.
  • अस्थायी रीडायरेक्ट: यह सोर्स पेज को खोज के नतीजों में दिखाता है.

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

अलग-अलग तरह के रीडायरेक्ट
स्थायी रीडायरेक्ट

Googlebot, रीडायरेक्ट को फ़ॉलो करता है. इंंडेक्स करने वाले सिस्टम, रीडायरेक्ट का इस्तेमाल एक मज़बूत सिग्नल के तौर पर यह बताने के लिए करते हैं कि रीडायरेक्ट की मदद से, उपयोगकर्ता जिस पेज पर पहुंचता है वह कैननिकल होना चाहिए.

HTTP 301 (moved permanently)

सर्वर साइड रीडायरेक्ट सेट अप करना.

HTTP 308 (moved permanently)
meta refresh (0 सेकंड)

meta refresh रीडायरेक्ट सेट अप करना.

एचटीटीपी रीफ़्रेश (0 सेकंड)
JavaScript location

JavaScript रीडायरेक्ट सेट अप करना.

Crypto रीडायरेक्ट

crypto रीडायरेक्ट के बारे में ज़्यादा जानें.

अस्थायी रीडायरेक्ट

Googlebot, रीडायरेक्ट को फ़ॉलो करता है. इंंडेक्स करने वाले सिस्टम, रीडायरेक्ट का इस्तेमाल एक कमज़ोर सिग्नल के तौर पर यह बताने के लिए करते हैं कि रीडायरेक्ट की मदद से, उपयोगकर्ता जिस पेज पर पहुंचता है वह कैननिकल होना चाहिए.

HTTP 302 (found)

सर्वर साइड रीडायरेक्ट सेट अप करना.

HTTP 303 (see other)
HTTP 307 (temporary redirect)
meta refresh (>0 सेकंड)

meta refresh रीडायरेक्ट सेट अप करना.

HTTP refresh (>0 सेकंड)

सर्वर साइड रीडायरेक्ट

सर्वर साइड रीडायरेक्ट को सेट अप करने के लिए, सर्वर की कॉन्फ़िगरेशन फ़ाइलों (जैसे, Apache पर .htaccess फ़ाइल) के ऐक्सेस की ज़रूरत होती है या सर्वर साइड स्क्रिप्ट (जैसे, PHP) की मदद से रीडायरेक्ट हेडर सेट करने की ज़रूरत होती है. आप सर्वर साइड पर स्थायी और अस्थायी, दोनों तरह के रीडायरेक्ट बना सकते हैं.

स्थायी सर्वर साइड रीडायरेक्ट

अगर आप किसी पेज के उस यूआरएल को बदलना चाहते हैं जो सर्च इंजन के नतीजों में दिख रहा है, तो हमारा सुझाव है कि जब भी मुमकिन हो, आप स्थायी सर्वर साइड रीडायरेक्ट का ही इस्तेमाल करें. इससे, आप यह पक्का कर सकते हैं कि Google Search और बाकी लोग सही पेज पर जा रहे हैं. 301 और 308 स्टेटस कोड का मतलब है कि पेज को हमेशा के लिए किसी नए यूआरएल पर ले जाया गया है.

अस्थायी सर्वर साइड रीडायरेक्ट

अगर आप कुछ समय के लिए उपयोगकर्ताओं को किसी दूसरे पेज पर भेजना चाहते हैं, तो अस्थायी रीडायरेक्ट का इस्तेमाल करें. इससे यह भी पक्का होता है कि Google अपने खोज के नतीजों में, पुराने यूआरएल को लंबे समय तक दिखाता रखेगा. जैसे, अगर आपकी साइट पर मिलने वाली कोई सेवा कुछ समय के लिए उपलब्ध नहीं है, तो आप अस्थायी रीडायरेक्ट सेट अप कर सकते हैं. इससे, आप उपयोगकर्ताओं को किसी ऐसे पेज पर भेज सकते हैं जहां सेवा के उपलब्ध न होने के बारे में बताया गया हो. इस तरह, खोज के नतीजों में मूल यूआरएल के दिखने पर कोई असर नहीं पड़ता है.

सर्वर साइड रीडायरेक्ट लागू करना

सर्वर साइड रीडायरेक्ट को लागू करना, आपके होस्टिंग और सर्वर एनवायरनमेंट या आपकी साइट के बैकएंड की स्क्रिप्टिंग भाषा पर निर्भर करता है.

PHP की मदद से स्थायी रीडायरेक्ट सेट अप करने के लिए, header() फ़ंक्शन का इस्तेमाल करें. स्क्रीन पर कुछ भी भेजने से पहले, हेडर सेट करना बहुत ज़रूरी है:

header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.example.com/newurl');
exit();

इसी तरह, यहां PHP की मदद से अस्थायी रीडायरेक्ट को सेट अप करने का उदाहरण दिया गया है:

header('HTTP/1.1 302 Found');
header('Location: http://www.example.com/newurl');
exit();

अगर आपके पास अपने वेब सर्वर की कॉन्फ़िगरेशन फ़ाइलों का ऐक्सेस है, तो आप खुद से रीडायरेक्ट के नियम लिख सकते हैं. अपने वेब सर्वर के दिशा-निर्देशों का पालन करें:

  • Apache: Apache .htaccess ट्यूटोरियल, Apache URL Rewriting Guide, और Apachemod_alias दस्तावेज़ देखें. जैसे, सबसे आसान तरह के रीडायरेक्ट को सेट अप करने के लिए, आप mod_alias का इस्तेमाल कर सकते हैं:

    # Permanent redirect:
    Redirect permanent "/old" "http://example.com/new"
    
    # Temporary redirect:
    Redirect temp "/two-old" "http://example.com/two-new"

    ज़्यादा जटिल रीडायरेक्ट के लिए, mod_rewrite का इस्तेमाल करें. जैसे:

    RewriteEngine on
    # redirect the service page to a new page with a permanent redirect
    RewriteRule   "^/service$"  "/about/service"  [R=301]
    
    # redirect the service page to a new page with a temporary redirect
    RewriteRule   "^/service$"  "/about/service"  [R]
  • NGINX: NGINX के ब्लॉग पर Creating NGINX Rewrite Rules पढ़ें. Apache की तरह ही, आपके पास रीडायरेक्ट बनाने के कई विकल्प हैं. जैसे:

    location = /service {
      # for a permanent redirect
      return 301 $scheme://example.com/about/service
    
      # for a temporary redirect
      return 302 $scheme://example.com/about/service
    }

    ज़्यादा जटिल रीडायरेक्ट के लिए, rewrite डायरेक्टिव का इस्तेमाल करें:

    location = /service {
      # for a permanent redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ permanent;
    
      # for a temporary redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ redirect;
    }
  • अन्य सभी वेब सर्वर के लिए, अपने सर्वर मैनेजर या सर्वर देने वाली संस्था से संपर्क करें या अपने पसंदीदा सर्च इंजन के लिए, इस विषय की गाइड खोजें (जैसे, "LiteSpeed रीडायरेक्ट" खोजें).

meta refresh और एचटीटीपी पर आधारित इसके जैसा तरीका

अगर आपके प्लैटफ़ॉर्म पर सर्वर साइड रीडायरेक्ट को लागू करना संभव नहीं है, तो meta refresh रीडायरेक्ट एक बेहतर विकल्प हो सकता है. Google, दो तरह के meta refresh रीडायरेक्ट के बीच अंतर करता है:

  • इंस्टैंट meta refresh रीडायरेक्ट: किसी ब्राउज़र में, पेज के लोड होते ही ट्रिगर होता है. Google Search, इंस्टैंट meta refresh रीडायरेक्ट को स्थायी रीडायरेक्ट के जैसा ही मानता है.
  • डिलेड meta refresh रीडायरेक्ट: साइट के/की मालिक के चुने गए सेकंड की संख्या के बाद ही ट्रिगर होता है. Google Search, इंस्टैंट meta refresh रीडायरेक्ट को अस्थायी रीडायरेक्ट के जैसा ही मानता है.

meta refresh रीडायरेक्ट को एचटीएमएल के हेड सेक्शन में या एचटीटीपी हेडर में सर्वर साइड कोड की मदद से सेट करें. उदाहरण के लिए, यहां एचटीएमएल के हेड सेक्शन में एक इंस्टैंट meta refresh रीडायरेक्ट दिया गया है:

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="0; url=https://example.com/newlocation" />
  <title>Example title</title>
  <!--...-->

यहां एचटीटीपी हेडर के जैसे एक एलिमेंट का उदाहरण दिया गया है, जिसे आप सर्वर साइड स्क्रिप्ट की मदद से इंजेक्ट कर सकते हैं:

HTTP/1.1 200 OK
Refresh: 0; url=http://www.example.com/newlocation
...

डिलेड रीडायरेक्ट को Google, अस्थायी रीडायरेक्ट मानता है. ऐसे रीडायरेक्ट को बनाने के लिए, content एट्रिब्यूट को उतने सेकंड के लिए सेट करें जितने सेकंड बाद रीडायरेक्ट को ट्रिगर होना है:

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="5; url=https://example.com/newlocation" />
  <title>Example title</title>
  <!--...-->

JavaScript location रीडायरेक्ट

JavaScript को समझने और लागू करने के लिए, Google Search वेब रेंडरिंग सेवा का इस्तेमाल करता है. यह प्रक्रिया, यूआरएल के क्रॉल किए जाने के बाद होती है.

JavaScript रीडायरेक्ट सेट करने के लिए, एचटीएमएल हेड के स्क्रिप्ट ब्लॉक में, location प्रॉपर्टी को पेज के नए यूआरएल पर सेट करें. जैसे:

<!doctype html>
<html>
  <head>
    <script>
      window.location.href('http://www.example.com/newlocation')
    </script>
    <title>Example title</title>
    <!--...-->

Crypto रीडायरेक्ट

अगर आप पहले से इस्तेमाल हो रहे किसी भी रीडायरेक्ट के तरीके को लागू नहीं कर सकते हैं, तो भी आपको अपने उपयोगकर्ताओं को यह बताने की कोशिश करनी चाहिए कि पेज या उसके कॉन्टेंट को एक नए यूआरएल या पेज पर ले जाया गया है. नए पेज पर ले जाने वाले लिंक को पुराने पेज पर शामिल करना, इसका सबसे आसान तरीका होता है. लिंक के साथ-साथ, आपको इस बारे में कुछ जानकारी भी जोड़नी चाहिए. उदाहरण के लिए:

<a href="https://newsite.example.com/newpage.html">We moved! Find the content on our new site!</a>

इससे, उपयोगकर्ताओं को आपकी नई साइट के बारे में पता चलता है और Google इसे crypto रीडायरेक्ट मान सकता है.

किसी यूआरएल के वैकल्पिक वर्शन

जब आप किसी यूआरएल को रीडायरेक्ट करते हैं, तो जिस यूआरएल से रीडायरेक्ट किया गया है (पुराना यूआरएल) और जिस यूआरएल पर रीडायरेक्ट किया गया है (नया यूआरएल), Google इन दोनों पर नज़र रखता है. इनमें से कोई एक यूआरएल कैननिकल होता है. कैननिकल होना, कुछ सिग्नल पर निर्भर करता है, जैसे कि रीडायरेक्ट अस्थायी था या स्थायी. ऐसे में, दूसरा यूआरएल, कैननिकल यूआरएल का वैकल्पिक नाम बन जाता है. जब उपयोगकर्ता की क्वेरी से पता चलता है कि वह पुराने यूआरएल पर ज़्यादा भरोसा कर सकता है, तो खोज के नतीजों में वैकल्पिक नाम दिख सकते हैं.

जैसे, अगर आप अपनी वेबसाइट को किसी नए डोमेन नाम पर ले गए हैं, तो इस बात की काफ़ी संभावना होगी कि Google कभी-कभी खोज के नतीजों में पुराने यूआरएल दिखाता रहेगा, भले ही नए यूआरएल इंडेक्स हो चुके हों. यह एक सामान्य बात है. जैसे-जैसे उपयोगकर्ताओं को नए डोमेन नाम की आदत होती जाएगी, वैकल्पिक नाम अपने-आप ही खोज के नतीजों में दिखना बंद हो जाएंगे. इसके लिए, आपको कुछ भी करने की ज़रूरत नहीं है.