अलग-अलग भाषा और जगह के हिसाब से बनाए गए अपने पेज के वर्शन के बारे में Google को बताना

अगर अलग-अलग भाषा या क्षेत्र के लिए आपके पेज का अलग-अलग वर्शन है, तो Google को इन वर्शन के बारे में बताएं. इससे, Google Search इस्तेमाल करने वालों को भाषा या जगह के हिसाब से आपके पेज के सबसे सही वर्शन पर भेजना आसान हो जाएगा.

ध्यान दें कि ऐसा किए बिना भी Google आपके पेज के अलग-अलग भाषाओं वाले वर्शन ढूंढ लेगा. ज़्यादातर मामलों में, खास भाषा या इलाके के लिए बनाए गए पेज के बारे में Google को साफ़ तौर पर बताना ही सबसे अच्छा तरीका होता है.

यहां उदाहरण के तौर पर, कुछ ऐसे मामले बताए गए हैं जिनमें अपने पेज के अलग-अलग पेजों के बारे में बताना बेहतर होता है:

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

अगर पेज के मुख्य कॉन्टेंट का अनुवाद नहीं किया गया है, तो स्थानीय जगह के अनुसार बनाए गए पेज के वर्शन को डुप्लीकेट माना जाता है.

अपने पेज के अलग-अलग पेजों के बारे में जानकारी देने के तरीके

किसी पेज के एक से ज़्यादा भाषाओं/इलाकों के लिए बनाए गए वर्शन के बारे में Google को बताने के तीन तरीके हैं:

सभी तरीकों के लिए दिशा-निर्देश

  • हर भाषा के वर्शन में अपने साथ-साथ, दूसरी भाषाओं के वर्शन के बारे में भी जानकारी होनी चाहिए.
  • वेब सर्वर पर डालने के तरीके (http/https) के साथ, वैकल्पिक यूआरएल भी पूरी तरह सही होने चाहिए, जैसे:
    https://example.com/foo, न कि //example.com/foo या /foo
  • यह ज़रूरी नहीं है कि वैकल्पिक यूआरएल भी उसी डोमेन में हों.
  • अगर अलग-अलग स्थान-भाषा के लिए एक ही भाषा में आपके पेज के एक से ज़्यादा वर्शन हैं, तो अलग-अलग जगहों पर रहकर उसी भाषा का इस्तेमाल करने वाले उपयोगकर्ताओं के लिए, कैचऑल यूआरएल भी देना चाहिए. उदाहरण के लिए, आयरलैंड (en-ie), कनाडा (en-ca), और ऑस्ट्रेलिया (en-au) में अंग्रेज़ी बोलने वाले लोगों के लिए खास यूआरएल हो सकते हैं. हालांकि, आपको अमेरिका, यूनाइटेड किंगडम, और दूसरे देशों में अंग्रेज़ी बोलने वाले लोगों के लिए, अंग्रेज़ी (en) का एक सामान्य पेज भी देना चाहिए. अगर आप चाहें, तो इसे अपने पेज के अलग-अलग भाषाओं वाले कई वर्शन में से एक बना सकते हैं.
  • अगर ऐसे दो पेज हैं जिनमें एक-दूसरे का लिंक नहीं है, तो टैग होने के बावजूद उन्हें एक ही पेज के 2 वर्शन नहीं माना जाएगा. ऐसा इसलिए होता है ताकि किसी और साइट पर खुद को आपके किसी पेज का वैकल्पिक वर्शन बताते हुए मनमाने तरीके से कोई टैग न बना लिया जाए.
  • अगर हर भाषा के लिए दोतरफ़ा लिंक देना मुश्किल हो, तो आप कुछ पेजों पर कुछ भाषाओं के लिंक छोड़ सकते हैं. इसके बाद भी, Google उन वर्शन को प्रोसेस कर लेगा जिनमें एक-दूसरे के लिंक हैं. हालांकि, जोड़ी गई नई भाषाओं वाले पेज, मूल/मुख्य भाषा वाले पेज के साथ दोतरफ़ा लिंक किए जाने चाहिए. उदाहरण के लिए, अगर आपकी साइट .fr वाले यूआरएल के साथ, मूल तौर पर फ़्रेंच भाषा में बनाई गई थी, तो यह ज़रूरी है कि मैक्सिकन (.mx) और स्पैनिश (.es) भाषा के नए पेजों को पहले से जाने-माने .fr यूआरएल से दोतरफ़ा लिंक किया जाए. इसकी जगह, स्पैनिश भाषा के नए वैरिएंट वाले पेजों को एक-दूसरे (.mx और .es) से दोतरफ़ा लिंक करने की कोशिश न करें.
  • जिन भाषाओं में साइट उपलब्ध नहीं है उनके लिए फ़ॉलबैक पेज (डिफ़ॉल्ट भाषा में पेज) जोड़ना चाहिए. खास तौर पर, भाषा/देश चुनने वाले पेजों या अपने-आप रीडायरेक्ट करने वाले होम पेजों पर ऐसा किया जाना चाहिए. x-default वैल्यू इस्तेमाल करें:
    <link rel="alternate" href="http://example.com/" hreflang="x-default" />

एचटीएमएल टैग

किसी पेज के अलग-अलग भाषाओं और इलाकों के हिसाब से बनाए गए वर्शन के बारे में Google को जानकारी देने के लिए, अपने पेज के हेडर में <link rel="alternate" hreflang="lang_code"... > एलिमेंट जोड़ें. अगर आपकी साइट का कोई साइटमैप नहीं है या साइट के लिए एचटीटीपी रिस्पॉन्स हेडर तय नहीं किए जा सकते हैं, तो यह तरीका आपके काम का है.

पेज के हर वर्शन के लिए, <head> एलिमेंट में <link> एलिमेंट का एक सेट शामिल करें. साथ ही, पेज के साथ-साथ, उसके हर वैरिएंट के लिए एक लिंक दें. लिंक का यह सेट, पेज के हर वर्शन के लिए एक जैसा होता है. इससे जुड़े दूसरे दिशा-निर्देश देखें.

हर link एलिमेंट का सिंटैक्स यहां दिया गया है:

<link rel="alternate" hreflang="lang_code" href="url_of_page" />
सिंटैक्स
lang_code यह कोड उस भाषा/इलाके के लिए इस्तेमाल होता है जिसके लिए पेज का यह वर्शन बनाया गया है. इसके अलावा, x-default का इस्तेमाल किसी ऐसी भाषा के लिए करें जिसके बारे में पेज पर, hreflang टैग के ज़रिए साफ़ तौर पर न बताया गया हो.
url_of_page इस पेज के किसी खास भाषा/इलाके के लिए बनाए गए वर्शन का सही यूआरएल.

उदाहरण

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

अलग-अलग इलाकों के लिए अलग-अलग पेज वाले यूआरएल
http://en.example.com/page.html अंग्रेज़ी भाषा में सामान्य होम पेज, जिसमें अमेरिका से दुनिया भर में आइटम शिप करने के लिए, लिए जाने वाले शुल्क से जुड़ी जानकारी शामिल है.
http://en-gb.example.com/page.html यूनाइटेड किंगडम के लिए होम पेज, जिसमें कीमतें पाउंड स्टर्लिंग में दी गई हैं.
http://en-us.example.com/page.html अमेरिका के लिए होम पेज, जिसमें कीमतें डॉलर में दी गई हैं.
http://de.example.com/page.html जर्मन भाषा में होम पेज.
http://www.example.com/ डिफ़ॉल्ट पेज, जो किसी खास भाषा या इलाके के लिए नहीं बना होता है; ऐसे पेजों में उपयोगकर्ताओं के पास अपनी भाषा और इलाके चुनने का विकल्प होता है.

ध्यान दें कि Google, इन यूआरएल (en, en-gb, en-us, de) में मौजूद किसी खास भाषा के सबडोमेन का इस्तेमाल, पेज के टारगेट ऑडियंस का पता लगाने के लिए नहीं करता है. आपको अपनी टारगेट ऑडियंस के बारे में साफ़ तौर पर बताना होगा.

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

<head>
 <title>Widgets, Inc</title>
  <link rel="alternate" hreflang="en-gb"
       href="http://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
       href="http://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
       href="http://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
       href="http://de.example.com/page.html" />
 <link rel="alternate" hreflang="x-default"
       href="http://www.example.com/" />
</head>

एचटीटीपी हेडर

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

यहां हेडर का फ़ॉर्मैट दिया गया है:

Link: <url1>; rel="alternate"; hreflang="lang_code_1", <url2>; rel="alternate"; hreflang="lang_code_2", ...
सिंटैक्स
<url_x> hreflang एट्रिब्यूट से जुड़े स्थान-भाषा वाली स्ट्रिंग के लिए खास तौर पर बनाए गए वर्शन का पूरी तरह सही यूआरएल. यूआरएल में आस-पास के < और > मार्क शामिल होने चाहिए. उदाहरण<https://www.google.com>
lang_code_x पेज का यह वर्शन जिसे किसी खास भाषा या इलाके के लिए बनाया गया है. इसके अलावा, x-default का इस्तेमाल ऐसी किसी भाषा के लिए करें जिसके बारे में पेज पर hreflang टैग की मदद से साफ़ तौर पर नहीं बताया गया है.

आपको पेज के हर वर्शन के लिए <url>, rel="alternate", और hreflang की वैल्यू सेट करनी होंगी. इसमें अनुरोध किए गए वर्शन के लिए सेट की गई वैल्यू भी शामिल होंगी. इन वैल्यू को कॉमा का इस्तेमाल करके, अलग-अलग लिखा जाना चाहिए, जैसा कि यहां दिए गए उदाहरण में दिखाया गया है. पेज के हर वर्शन के लिए मिला Link: हेडर एक ही है. इससे जुड़े दूसरे दिशा-निर्देश देखें.

उदाहरण

उदाहरण के लिए, किसी साइट पर किसी पीडीएफ़ फ़ाइल के तीन वर्शन हैं: अंग्रेज़ी बोलने वालों के लिए, स्विट्ज़रलैंड के जर्मन बोलने वाले लोगों के लिए, और जर्मन बोलने वाले बाकी सभी लोगों के लिए. ऐसी साइट, इस तरह Link: हेडर दिखाती है:

Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

साइटमैप

Google को, हर यूआरएल के सभी भाषाओं और इलाकों के हिसाब से बनाए गए सभी वर्शन के बारे में बताने के लिए, आप साइटमैप का इस्तेमाल कर सकते हैं. ऐसा करने के लिए, सिंगल यूआरएल के बारे में बताने वाला <loc> एलिमेंट जोड़ें. साथ ही, चाइल्ड <xhtml:link> एंट्री की मदद से पेज के असल वर्शन के साथ-साथ, अलग-अलग भाषाओं/इलाकों के लिए बने वर्शन के बारे में बताया जाता है. इस तरह, अगर आपके पेज के तीन वर्शन हैं, तो आपके साइटमैप में तीनों के बारे में बताया जाएगा और हर एक में एक जैसी तीन चाइल्ड एंट्री होंगी.

साइटमैप से जुड़े नियम:

  • 'एक्सएचटीएमएल नेमस्पेस' इस तरह लिखें:
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • हर यूआरएल के लिए एक अलग <url> एलिमेंट बनाएं.
  • हर <url> एलिमेंट में <loc> चाइल्ड एंट्री शामिल होनी चाहिए, जिसमें पेज के यूआरएल के बारे में बताया गया हो.
  • हर <url> एलिमेंट में <xhtml:link rel="alternate" hreflang="supported_language-code"> चाइल्ड एलिमेंट होना चाहिए, जिसमें पेज के हर वैकल्पिक वर्शन के बारे में बताया गया हो. साथ ही, इसमें उस पेज का वर्शन भी शामिल है. इन चाइल्ड <xhtml:link> एलिमेंट का क्रम मायने नहीं रखता. हालांकि, अगर आप एक जैसा क्रम रखते हैं, तो आपको गलतियों का पता लगाने में आसानी होगी.
  • इससे जुड़े दूसरे दिशा-निर्देश देखें.

उदाहरण

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

  • अंग्रेज़ी बोलने वालों पर टारगेट किया गया www.example.com/english/page.html.
  • जर्मन बोलने वालों पर टारगेट किया गया www.example.com/deutsch/page.html.
  • स्विट्ज़रलैंड में जर्मन बोलने वालों पर टारगेट किया गया www.example.com/schweiz-deutsch/page.html.

उन तीन पेजों के लिए साइटमैप ऐसा होगा:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/english/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

भाषा/इलाके, जिनमें पेज के वर्शन उपलब्ध हैं

hreflang एट्रिब्यूट की वैल्यू किसी वैकल्पिक पेज की भाषा (ISO 639-1 फ़ॉर्मैट में) के बारे में बताती है. इसका इस्तेमाल करके, किसी वैकल्पिक यूआरएल के इलाके (ISO 3166-1 ऐल्फ़ा 2 फ़ॉर्मैट में) के बारे में भी बताया जा सकता है. अगर यहां सिर्फ़ एक कोड के बारे में बताया जाता है, तो Google उसे भाषा का कोड मान लेता है. ज़रूरी नहीं है कि भाषा उसी इलाके से जुड़ी हो. जैसे:

  • de: जर्मन भाषा में कॉन्टेंट, किसी भी इलाके के लिए
  • en-GB: ग्रेट ब्रिटेन के उपयोगकर्ताओं के लिए अंग्रेज़ी भाषा में कॉन्टेंट
  • de-ES: स्पेन के उपयोगकर्ताओं के लिए जर्मन भाषा में कॉन्टेंट

किसी भाषा की अलग-अलग लिपियों के लिए, देश के कोड का इस्तेमाल करके सही लिपि तय की जाती है. उदाहरण के लिए, ताइवान के उपयोगकर्ताओं के लिए zh-TW इस्तेमाल करने पर, भाषा की लिपि अपने-आप तय हो जाती है (उदाहरण के लिए: पारंपरिक चाइनीज़). यहां दिए गए तरीके से, आप ISO 15924 का इस्तेमाल करके, स्क्रिप्ट अपने-आप भी तय कर सकते हैं:

  • zh-Hant: चाइनीज़ (पारंपरिक)
  • zh-Hans: चाइनीज़ (आसान)

अगर आप चाहें, तो स्क्रिप्ट और इलाके को एक साथ भी तय कर सकते हैं. उदाहरण के लिए, ताइवान के उपयोगकर्ताओं के लिए चाइनीज़ (आसान) भाषा तय करने के लिए, zh-Hans-TW का इस्तेमाल करें.

x-default टैग का इस्तेमाल उन भाषाओं के लिए करना जो मेल नहीं खाती हैं

रिज़र्व hreflang="x-default" वैल्यू का इस्तेमाल तब किया जाता है, जब कोई दूसरी भाषा या इलाका, उपयोगकर्ता के ब्राउज़र की सेटिंग से मेल न खाता हो. अगर आप चाहें, तो यह वैल्यू इस्तेमाल कर सकते हैं. हालांकि, कोई मिलती-जुलती भाषा न होने पर पेज को कंट्रोल करने के लिए, इसे तय करने की सलाह दी जाती है. सबसे अच्छा तरीका यह है कि आपकी साइट के होम पेज पर ऐसा मैप हो जिस पर क्लिक करके उपयोगकर्ता अपना देश चुन सकें.

x-default वैल्यू के लिए, भाषा का कोड तय करना ज़रूरी नहीं है. यह पेज उन उपयोगकर्ताओं को टारगेट करता है जिनकी भाषा की सेटिंग, आपकी साइट की भाषा से मेल नहीं खाती. इसलिए, पेज की भाषा उनके काम की नहीं होती है.

समस्या का हल

आम गलतियां

hreflang के इस्तेमाल से जुड़ी सबसे आम गलतियों के बारे में यहां बताया गया है:

  • वापस जाने के लिंक मौजूद न होना: अगर X पेज पर Y पेज का लिंक है, तो Y पेज पर भी X पेज का लिंक होना चाहिए. अगर hreflang की जानकारी इस्तेमाल करने वाले सभी पेजों के लिए ऐसा नहीं किया गया है, तो शायद इससे जुड़ी जानकारी का इस्तेमाल नहीं किया जाएगा या सही तरीके से समझा नहीं जा सकेगा.
  • गलत भाषा कोड: ध्यान रखें कि आपने जो भी भाषा कोड इस्तेमाल किए हैं उन्होंने वैकल्पिक पेज के यूआरएल की भाषा (ISO 639-1 फ़ॉर्मैट में) को पहचान लिया है. वैकल्पिक तौर पर, इसे इलाके (ISO 3166-1 ऐल्फ़ा 2 फ़ॉर्मैट में) को भी पहचानना चाहिए. सिर्फ़ इलाका तय करना मान्य नहीं होगा.

डीबग करने में hreflang गड़बड़ियां

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

इसके लिए तीसरे पक्ष के कई टूल भी उपलब्ध हैं. यहां कुछ लोकप्रिय टूल के बारे में बताया गया है. Google इन टूल की जांच या रखरखाव नहीं करता है.