अगर अलग-अलग भाषा या क्षेत्र के लिए आपका पेज अलग-अलग वर्शन में दिखाई देता है तो, Google को इन वर्शन के बारे में बताएं. इससे, Google Search इस्तेमाल करने वालों को भाषा या जगह के हिसाब से आपके पेज के सबसे सही वर्शन पर भेजना आसान हो जाएगा.
ध्यान दें कि ऐसा किए बिना भी Google आपके पेज के अलग-अलग भाषाओं वाले वर्शन ढूंढ लेगा. ज़्यादातर मामलों में, खास भाषा या इलाके के लिए बनाए गए पेज के बारे में Google को साफ़ तौर पर बताना ही सबसे अच्छा तरीका होता है.
यहां उदाहरण के तौर पर कुछ ऐसे मामले बताए गए हैं जिनमें वैकल्पिक पेजों के बारे में बताना बेहतर होता है:
- अगर आप मुख्य कॉन्टेंट को एक ही भाषा में रखते हैं और सिर्फ़ टेंप्लेट का अनुवाद करते हैं, जैसे कि नेविगेशन और फ़ुटर. ऐसा ज़्यादातर उन पेजों के लिए किया जाता है जिनमें यूज़र जनरेटेड कॉन्टेंट होते है, जैसे कि फ़ोरम.
- अगर आपके पेज पर एक भाषा के समान कॉन्टेंट में, अलग-अलग इलाकों के हिसाब से थोड़ा फ़र्क़ होता है. उदाहरण के लिए, आपका कॉन्टेंट अमेरिका, ग्रेट ब्रिटेन, और आयरलैंड के उपयोगकर्ताओं के हिसाब से अंग्रेज़ी में हो सकता है.
- अगर आपकी साइट के कॉन्टेंट का एक से ज़्यादा भाषाओं में अनुवाद किया गया है. उदाहरण के लिए, आपके हर पेज के जर्मन और अंग्रेज़ी में वर्शन हैं.
अगर पेज के मुख्य कॉन्टेंट का अनुवाद नहीं किया गया है, तो स्थानीय जगह के अनुसार बनाए गए पेज के वर्शन को डुप्लीकेट माना जाता है.
अपने वैकल्पिक पेजों के बारे में जानकारी देने के तरीके
किसी पेज के एक से ज़्यादा भाषाओं/इलाकों के लिए बनाए गए वर्शन के बारे में Google को बताने के तीन तरीके हैं:
एचटीएमएल टैग
किसी पेज के अलग-अलग भाषाओं और इलाकों के हिसाब से बनाए गए वर्शन के बारे में Google को जानकारी देने के लिए, अपने पेज के हेडर में <link rel="alternate" hreflang="lang_code"... >
एलिमेंट जोड़ें. अगर आपकी साइट का कोई साइटमैप नहीं है या साइट के लिए एचटीटीपी रिस्पॉन्स हेडर तय नहीं किए जा सकते हैं, तो यह विकल्प आपके काम का है.
पेज के हर वर्शन के <head>
एलिमेंट में, <link>
एलिमेंट का एक सेट शामिल होना चाहिए. इस सेट में, पेज के हर वर्शन का लिंक होना चाहिए और इसमें उस वर्शन का भी लिंक शामिल है. लिंक का यह सेट, पेज के हर वर्शन के लिए एक जैसा होता है. इससे जुड़े दूसरे दिशा-निर्देश देखें.
हर लिंक एलिमेंट का सिंटैक्स यहां दिया गया है:
<link rel="alternate" hreflang="lang_code" href="url_of_page" />
- lang_code
- यह कोड उस भाषा/इलाके के लिए होता है जिसके लिए पेज का यह वर्शन बनाया गया है. इसके अलावा,
x-default
का इस्तेमाल ऐसी किसी भाषा के लिए करें जिसके बारे में पेज पर 'hreflang टैग' से साफ़ तौर पर पता नहीं चलता. - url_of_page
- इस पेज के किसी खास भाषा/इलाके के लिए बनाए गए वर्शन का सही यूआरएल.
<link>
टैग को <head>
एलिमेंट के ऊपरी हिस्से के पास रखें. <link>
टैग को हमेशा सही फ़ॉर्मैट में बनाए गए <head>
सेक्शन के अंदर होना चाहिए या फिर किसी ऐसे आइटम के पहले होना चाहिए जो <head>
को समय से पहले बंद कर सकता है, जैसे कि <p>
या ट्रैकिंग पिक्सल. अगर आपको दिया गया तरीका समझ नहीं आया है, तो रेंडर किए गए अपने पेज के कोड को एचटीएमएल वैलिडेटर में चिपकाएं, ताकि यह पक्का किया जा सके कि लिंक <head>
एलिमेंट के अंदर ही रहें.उदाहरण
उदाहरण के लिए, 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/ डिफ़ॉल्ट पेज, जो किसी खास भाषा या इलाके के लिए नहीं है. उपयोगकर्ता इसमें अपनी भाषा और इलाका चुन सकते हैं.
ध्यान दें कि इन यूआरएल (en, en-gb, en-us, de) में मौजूद किसी खास भाषा के सबडोमेन का इस्तेमाल, Google उस पेज के लिए सही दर्शक तय करने के लिए नहीं करता. आपको सही दर्शकों के बारे में साफ़ तौर पर बताना होगा.
यह एचटीएमएल, ऊपर दिए गए सभी पेजों के <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: <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 को बताने के लिए, आप साइटमैप का इस्तेमाल कर सकते हैं. ऐसा करने के लिए, <xhtml:link>
के साथ <loc>
जोड़ें, जिसमें एक यूआरएल के बारे में बताया गया हो. इसमें पेज के अलग-अलग भाषा/इलाके के हिसाब से बनाया गया हर वर्शन होता है और इसमें उस पेज का वर्शन भी शामिल है. इस तरह, अगर आपके पेज के तीन वर्शन हैं, तो आपके साइटमैप में तीनों के बारे में बताया जाएगा और हर एक में एक जैसे तीन लिंक होंगे.
साइटमैप से जुड़े नियम:
- एक्सएचटीएमएल नेमस्पेस इस तरह लिखें:
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 targeted.
उन तीन पेजों के लिए साइटमैप ऐसा होगा:
<?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>
सभी तरीकों के लिए दिशा-निर्देश
- हर भाषा के वर्शन में अपने साथ-साथ दूसरी भाषाओं के वर्शन के बारे में जानकारी होनी चाहिए.
- वेब सर्वर पर डालने के तरीके (http/https) के साथ, वैकल्पिक यूआरएल सही होने चाहिए, जैसे:
https://example.com/foo सही तरीका है, न कि //example.com/foo या /foo - यह ज़रूरी नहीं है कि वैकल्पिक यूआरएल उसी डोमेन में हों.
- अगर अलग-अलग स्थान-भाषा के लिए एक ही भाषा में आपके पेज के एक से ज़्यादा वर्शन हैं, तो अलग-अलग जगहों पर रहकर उसी भाषा का इस्तेमाल करने वाले उपयोगकर्ताओं के लिए, कैचऑल यूआरएल भी देना चाहिए. उदाहरण के लिए, आयरलैंड (
en-ie
), कनाडा (en-ca
), और ऑस्ट्रेलिया (en-au
) में अंग्रेज़ी बोलने वाले लोगों के लिए खास यूआरएल हो सकते हैं. हालांकि, आपको अमेरिका, यूनाइटेड किंगडम, और दूसरे देशों में अंग्रेज़ी बोलने वाले लोगों के लिए, अंग्रेज़ी (en
) का एक सामान्य पेज भी देना चाहिए. अगर आप चाहें, तो इसे अपने पेज के अलग-अलग भाषाओं वाले कई वर्शन में से एक बना सकते हैं. - अगर ऐसे दो पेज हैं जिनमें एक-दूसरे का लिंक नहीं है तो, टैग होने के बावजूद उन्हें एक ही पेज के 2 वर्शन नहीं माना जाएगा. ऐसा इसलिए होता है ताकि किसी और साइट पर खुद को आपके किसी पेज का वैकल्पिक वर्शन बताते हुए मनमाने तरीके से कोई टैग न बना लिया जाए.
- अगर हर भाषा के लिए दोतरफ़ा लिंक देना मुश्किल हो तो, आप कुछ पेजों पर कुछ भाषाओं के लिंक छोड़ सकते हैं. फिर भी Google उन वर्शन को प्रोसेस कर लेगा जिनमें एक-दूसरे के लिंक हैं. हालांकि, जोड़ी गई नई भाषाओं वाले पेजों के मूल/मुख्य भाषा वाले पेज के साथ दोतरफ़ा लिंक होने चाहिए. उदाहरण के लिए, अगर आपकी साइट .fr वाले यूआरएल के साथ मूल रूप से फ़्रेंच में बनाई गई थी, तो यह ज़रूरी है कि मेक्सिकन (.mx) और स्पैनिश (.es) भाषा के नए पेजों (.mx और .es) को एक-दूसरे से जोड़ने के बजाय पहले से जाने-माने .fr पेज से जोड़ा जाए.
- जिन भाषाओं में साइट उपलब्ध नहीं है उनके लिए फ़ॉलबैक पेज (डिफ़ॉल्ट भाषा में पेज) जोड़ना चाहिए. खास तौर पर, भाषा/देश चुनने पर या अपने-आप होम पेज पर रीडायरेक्ट करते समय. x-default मान का इस्तेमाल करें:
<link rel="alternate" href="http://example.com/" hreflang="x-default" />
उन भाषाओं/इलाकों के कोड जिनमें पेज के वर्शन उपलब्ध हैं
hreflang
एट्रिब्यूट का मान किसी वैकल्पिक पेज की भाषा (ISO 639-1 फ़ॉर्मैट में) के बारे में बताता है. इसका इस्तेमाल करके, इलाके (ISO 3166-1 ऐल्फ़ा 2 फ़ॉर्मैट में) के बारे में भी बताया जा सकता है. (यह ज़रूरी नहीं है कि भाषा उस इलाके की हो.) उदाहरण के लिए:
de
: जर्मन भाषा में कॉन्टेंट, किसी भी इलाके के लिएen-GB
: ग्रेट ब्रिटेन के उपयोगकर्ताओं के लिए अंग्रेज़ी भाषा में कॉन्टेंटde-ES
: स्पेन के उपयोगकर्ताओं के लिए जर्मन भाषा में कॉन्टेंट
सिर्फ़ किसी देश का कोड देना काफ़ी नहीं होता है. देश के कोड का इस्तेमाल करके, Google अपने-आप भाषा का पता नहीं लगा सकता. अगर आप अपने लेबल आसान बनाना चाहते हैं, तो सिर्फ़ भाषा का कोड दे सकते हैं. पेज किसी खास इलाके के लोगों के लिए ही है, यह तय करने के लिए भाषा के बाद देश का कोड जोड़ें. उदाहरण:
be
: बेलारूसियन भाषा में कॉन्टेंट, किसी भी इलाके के लिए (बेल्जियम के लिए फ़्रेंच नहीं)nl-be
: बेल्जियम के लिए डचfr-be
: बेल्जियम के लिए फ़्रेंच
किसी भाषा की अलग-अलग स्क्रिप्ट के लिए, देश के कोड का इस्तेमाल करके सही स्क्रिप्ट तय की जाती है. उदाहरण के लिए, ताइवान के उपयोगकर्ताओं के लिए zh-TW इस्तेमाल करने पर, भाषा की लिपि अपने आप तय हो जाती है (इस उदाहरण में: चाइनीज़ (पारंपरिक). यहां दिए गए तरीके से, आप ISO 15924 का इस्तेमाल करके, स्क्रिप्ट अपने-आप भी तय कर सकते हैं:
zh-Hant
: चाइनीज़ (पारंपरिक)zh-Hans
: चाइनीज़ (आसान)
अगर आप चाहें तो, स्क्रिप्ट और इलाके को एक साथ भी तय कर सकते हैं — उदाहरण के लिए, ताइवान के उपयोगकर्ताओं के लिए चाइनीज़ (आसान) भाषा तय करने के लिए, zh-Hans-TW
का इस्तेमाल करें.
जिन भाषाओं में साइट का कॉन्टेंट उपलब्ध नहीं है उनके लिए x-default टैग का इस्तेमाल करना
रिज़र्व मान hreflang="x-default"
का इस्तेमाल तब किया जाता है, जब उपयोगकर्ता के ब्राउज़र की सेटिंग से मिलती-जुलती कोई भाषा या इलाका न हो. अगर आप चाहें, तो यह मान इस्तेमाल कर सकते हैं. हालांकि, कोई मिलती-जुलती भाषा न होने पर पेज को कंट्रोल करने के लिए, इसे तय करने की सलाह दी जाती है. सबसे अच्छा तरीका यह है कि आपकी साइट के होम पेज पर ऐसा मैप हो जिस पर क्लिक करके उपयोगकर्ता अपना देश चुन सकें.
समस्याओं का हल
आम गलतियां
hreflang
के इस्तेमाल से जुड़ी सबसे आम गलतियों के बारे में यहां बताया गया है:
- वापस जाने के लिंक मौजूद न होना: अगर X पेज पर Y पेज का लिंक है, तो Y पेज पर भी X पेज का लिंक होना चाहिए. अगर hreflang की जानकारी इस्तेमाल करने वाले सभी पेजों के लिए ऐसा नहीं किया गया है, तो शायद इससे जुड़ी जानकारी का इस्तेमाल न किया जाए या सही तरीके से समझा न जा सके.
- भाषा का गलत कोड: पक्का करें कि आपने जो भी भाषा कोड इस्तेमाल किए हैं उन्होंने वैकल्पिक पेज के यूआरएल की भाषा (ISO 639-1 फ़ॉर्मैट में) को पहचान लिया है. वैकल्पिक तौर पर, इसे इलाके (ISO 3166-1 ऐल्फ़ा 2 फ़ॉर्मैट में) को भी पहचानना चाहिए. सिर्फ़ इलाका तय करना मान्य नहीं है.
hreflang से जुड़ी गड़बड़ियां डीबग करना
सबसे आम समस्याओं को डीबग करने के लिए आप अंतरराष्ट्रीय उपयोगकर्ताओं को टारगेट करने से जुड़ी रिपोर्ट का इस्तेमाल कर सकते हैं. यह पक्का करें कि Google ने आपके पेज को क्रॉल कर लिया हो, तब ही रिपोर्ट के भाषा टैब पर जाकर देखें कि कोई गड़बड़ी मिली है या नहीं.
इसके लिए तीसरे पक्ष के कई टूल भी उपलब्ध हैं. यहां कुछ लोकप्रिय टूल के बारे में बताया गया है. (Google इन टूल की जांच या रखरखाव नहीं करता है.)
- hreflang टैग जनरेट करने और उनमें बदलाव करने के लिए, Aleyda Solis का hreflang टैग बनाने वाला टूल.
- किसी लाइव पेज पर hreflang टैग की पुष्टि करने के लिए, Merkle SEO hreflang टैग की जांच करने वाला टूल.