उदाहरण के लिए, भाषा कोड के फॉर्मेट में त्रुटि या लिंक पथ अधूरा होने जैसी छोटी गलतियाँ सर्च इंजन को पेज की भाषा या क्षेत्र को सही ढंग से पहचानने में असमर्थ बना सकती हैं, या यहाँ तक कि बहुभाषी पेजों के बीच ट्रैफिक के लिए प्रतिस्पर्धा उत्पन्न कर सकती हैं, जिससे लक्षित दर्शकों को खोना पड़ सकता है।
यह लेख तकनीकी प्रैक्टिकल दृष्टिकोण से 7 सबसे आम hreflang कॉन्फ़िगरेशन त्रुटियों का सारांश प्रस्तुत करता है, और सुझाव देता है कि उपकरणों का उपयोग करके नियमित सत्यापन किया जाए ताकि छोटी गलतियों से पूरे ऑप्टिमाइज़ेशन प्रभाव पर बुरा असर न पड़े।

भाषा या क्षेत्र कोड फॉर्मेट त्रुटि
उदाहरण के लिए, बड़े अक्षरों का उपयोग करना (जैसे EN-US
) या वर्तनी की गलतियाँ (जैसे zh-CN
को zh-CH
लिखना) सर्च इंजन को पेज के लक्ष्य क्षेत्र को सही से समझने में असमर्थ बना सकता है, या इसे अमान्य टैग के रूप में गलत समझ सकता है।
यहाँ तक कि यदि कोड सही दिखता है (जैसे es-ES
का उपयोग करना es
के बजाय), तो भी अतिरिक्त जानकारी मिलान तर्क को प्रभावित कर सकती है।
प्रभाव काफी बड़ा हो सकता है, उदाहरण के लिए स्पेनिश उपयोगकर्ताओं के खोज ट्रैफिक को गलती से पुर्तगाली पेज पर भेजा जा सकता है।
ISO मानक कोड नियम
- भाषा कोड: ISO 639-1 मानक के अनुसार केवल छोटे अक्षरों का उपयोग करें (जैसे
en
, es
, zh
), केवल 2-अक्षर संक्षिप्त रूप स्वीकार्य है। - क्षेत्र कोड: वैकल्पिक, ISO 3166-1 मानक के अनुसार बड़े अक्षरों का उपयोग करें (जैसे
US
, GB
, CN
), केवल देश/क्षेत्र संक्षिप्त रूप। - संयोजन स्वरूप: भाषा और क्षेत्र के बीच हाइफ़न का उपयोग करें, उदाहरण के लिए
en-US
(अमेरिकी अंग्रेज़ी), zh-CN
(सरलीकृत चीनी)।
अपवाद:
- केवल भाषा कोड होने पर (जैसे
fr
), इसका मतलब है सभी फ्रेंच भाषी उपयोगकर्ताओं के लिए है, बिना क्षेत्र के प्रतिबंध के। - पारंपरिक चीनी के लिए
zh-Hant
(पारंपरिक चीनी) या zh-Hant-TW
(ताइवान क्षेत्र के पारंपरिक चीनी) का उपयोग करें, न कि zh-TW
(जो ताइवान के सरल चीनी के रूप में गलत पढ़ा जा सकता है)।
प्रमुख त्रुटि परिदृश्य और परिणाम
त्रुटि 1: अक्षर केस में भ्रम
- गलत उदाहरण:
EN-us
(भाषा कोड बड़े अक्षरों में + क्षेत्र छोटे अक्षरों में), Zh-cn
(भाषा कोड की पहली अक्षर बड़ी)। - परिणाम: सर्च इंजन संभवतः इस टैग को पूरी तरह से नजरअंदाज कर देगा, जिससे पेज लक्षित उपयोगकर्ताओं से मेल नहीं खा पाएगा।
त्रुटि 2: वर्तनी या काल्पनिक कोड
- गलत उदाहरण:
pt-BZ
(ब्राजील का सही कोड BR
है), eu
(बास्क भाषा का कोड, लेकिन कुछ इंजन दुर्लभ भाषाओं का समर्थन नहीं करते)। - परिणाम: दुर्लभ भाषा या गलत क्षेत्र कोड के कारण पेज सही तरीके से इंडेक्स नहीं होगा और ट्रैफिक डिफॉल्ट भाषा पेज पर चला जाएगा।
त्रुटि 3: अनावश्यक कोड या गलत संयोजन
- गलत उदाहरण:
es-ES
(स्पेनिश + स्पेन क्षेत्र, असल में केवल es
पर्याप्त है), en-US-UK
(अमान्य बहु-क्षेत्र संयोजन)। - परिणाम: अनावश्यक जानकारी इंजन को भ्रमित कर सकती है, जिससे वे अधिक सरल प्रतिस्पर्धी पेज को प्राथमिकता देंगे।
सुझाई गई उपकरण और सत्यापन विधि
- Google hreflang परीक्षण उपकरण: URL डालकर जांचें कि कोड解析 हो रहा है या नहीं (Search Console के साथ उपयोग करें)।
- Screaming Frog: साइट को क्रॉल करते समय hreflang टैग्स फ़िल्टर करें और त्रुटिपूर्ण कोड्स का समूह में निर्यात करें (पेड संस्करण)।
- Hreflang Validator (तीसरा पक्ष उपकरण): मुफ्त ऑनलाइन जांच, फ़ॉर्मेट त्रुटियों और लिंक विरोधाभास को चिह्नित करता है।
व्यावहारिक सुधार कदम
मौजूदा कोड की जांच करें: WordPress साइट के उदाहरण के तौर पर, प्लगइन (जैसे Yoast SEO) या सीधे पेज के सोर्स कोड में जाकर <link rel="alternate" hreflang="..." />
टैग खोजें।
गलत कोड का थोक प्रतिस्थापन:
- यदि आप मल्टी-भाषा प्लगइन (जैसे WPML) का उपयोग कर रहे हैं, तो भाषा सेटिंग में सीधे “भाषा कोड” प्रारूप को संशोधित करें।
- मैन्युअल रूप से संशोधित करते समय, सुनिश्चित करें कि सभी पेज एक समान प्रारूप में हों (जैसे कि ग्लोबली
EN
को en
से बदलना)।
क्षेत्रीय कोड जोड़ना (वैकल्पिक):
- केवल तब जोड़ें जब क्षेत्रीय विभाजन आवश्यक हो (जैसे
en-GB
ब्रिटेन उपयोगकर्ताओं के लिए), अन्यथा केवल भाषा कोड रखें (जैसे fr
)।
पुनः सत्यापन:टूल का उपयोग करके दोबारा जांच करें, सुनिश्चित करें कि संशोधित पेज 200 स्टेटस कोड लौटाएं और कोई क्रॉल त्रुटि न हो।
पूर्ण सापेक्ष URL का उपयोग न करना
कई साइट मालिक सोचते हैं कि सापेक्ष पथ (जैसे /de/page
) या प्रोटोकॉल छोड़ना (जैसे example.com/de
) कॉन्फ़िगरेशन को सरल बनाता है, लेकिन वास्तव में यह गंभीर समस्याएँ पैदा कर सकता है।
उदाहरण के लिए, यदि पेज के दोनों http
और https
संस्करण मौजूद हैं, तो प्रोटोकॉल नहीं लिखने से इंजन इसे दो अलग पेज के रूप में समझ सकता है, जिससे पेज रैंक बंट जाता है।
इसके अलावा, सबडोमेन या सबडायरेक्टरी संरचना वाली साइटों में, पूर्ण URL का उपयोग न करने से पथ अस्पष्ट हो सकता है और टैग काम करना बंद कर सकते हैं (जैसे मोबाइल और पीसी संस्करण के URL मिलाने पर)।
पूर्ण URL की परिभाषा और आवश्यकता
पूर्ण URL में प्रोटोकॉल (जैसे http://
या https://
) होना चाहिए, साथ ही पूरा डोमेन और पथ भी शामिल होना चाहिए (जैसे https://www.example.com/de/page
)।
आवश्यकता:
- सर्च इंजन को अलग-अलग पेज स्पष्ट रूप से पहचानने की जरूरत होती है। सापेक्ष पथ (जैसे
/de/page
) को किसी भी डोमेन संस्करण (http या https) के रूप में पढ़ा जा सकता है, जिससे डुप्लीकेट कंटेंट बनता है। - सबडोमेन या सबडायरेक्टरी के मामले में, पूर्ण पथ न होने पर इंजन पेज की असली जगह गलत समझ सकता है (जैसे
de.example.com/page
और www.example.com/de/page
अलग पेज माने जा सकते हैं)।
सामान्य समस्या वाले परिदृश्य:
- पेज के दोनों http और https संस्करण मौजूद हैं, लेकिन hreflang में प्रोटोकॉल नहीं है, जिससे पेज रैंक बंटता है।
- मोबाइल और डेस्कटॉप पर साझा कंटेंट के URL अलग हैं (जैसे
m.example.com/de
और example.com/de
), पर पूर्ण URL से लिंक नहीं किया गया।
आम गलतियाँ और परिणाम
गलती 1: सापेक्ष पथ या प्रोटोकॉल का अभाव
गलत उदाहरण:
<link hreflang="de" href="/de/page" />
(सापेक्ष पथ)<link hreflang="es" href="www.example.com/es/page" />
(https://
के बिना)
परिणाम:
- इंजन
/de/page
को http://example.com/de/page
के रूप में पढ़ सकता है, जबकि पेज वास्तव में https पर है, जिससे टैग काम नहीं करता। - http और https के पेज अलग-अलग माने जाते हैं, जिससे डुप्लीकेट कंटेंट और रैंक बंटता है।
गलती 2: सबडोमेन का एकरूप न होना
- गलत उदाहरण: मुख्य साइट
https://example.com/fr/page
का उपयोग करती है, लेकिन फ्रेंच सबसाइट अलग URL का उपयोग करता है।
https://fr.example.com/page
और hreflang टैग आपस में पूर्ण URL की ओर इंगित नहीं करते हैं।परिणाम: सर्च इंजन सबडोमेन और मुख्य साइट पेज के बीच संबंध स्थापित नहीं कर पाते हैं, जिससे फ्रेंच उपयोगकर्ताओं को डिफ़ॉल्ट भाषा वाले पेज पर भेजा जा सकता है।त्रुटि 3: डायनामिक पैरामीटर मानकीकृत नहीं हैं
- त्रुटि का उदाहरण:
<link hreflang="ja" href="https://example.com/page?lang=ja" />
(ट्रैकिंग पैरामीटर सहित) - परिणाम: इंजन इन्हें अलग पेज समझ सकते हैं (जैसे
?lang=ja
और ?lang=ja&utm=ads
), जिससे hreflang टैग पूरी तरह से कवर नहीं हो पाते।
उपकरणों द्वारा जांच करने के तरीके
- Google Search Console:
“कवर रिपोर्ट” में “डुप्लिकेट पेज” या “hreflang नहीं चिह्नित” जैसी त्रुटियों को देखें और अधूरा URL ढूंढें। - Screaming Frog:
साइट क्रॉल करने के बाद, hreflang
टैग को फ़िल्टर करें और जांचें कि href
एट्रिब्यूट पूर्ण URL हैं या नहीं (फ़िल्टर: //example.com
या /path
)। - Sitebulb:
“इंटरनेशनल SEO ऑडिट” रिपोर्ट में सीधे “अधूरा hreflang URL” दिखाता है और सुधार सुझाव देता है।
सुधार योजना और व्यावहारिक कदम
CMS सिस्टम (जैसे WordPress):
प्लगइन कॉन्फ़िगरेशन:
यदि Yoast SEO जैसे प्लगइन का उपयोग करते हैं, तो “मल्टी-लैंग्वेज सेटिंग्स” में “पूर्ण URL जनरेट करें” को ज़ोर दें (आमतौर पर “सापेक्ष पथ” विकल्प को बंद करें)।
डेटाबेस में बैच रिप्लेसमेंट:
SQL कमांड या Better Search Replace जैसे प्लगइन के माध्यम से, href="/
को href="https://www.example.com/
से बदलें।
मैनुअल कोड सुधार:
HTML या सर्वर-साइड रेंडरिंग लॉजिक में सुनिश्चित करें कि सभी hreflang लिंक पूर्ण URL के रूप में बने हों, उदाहरण के लिए:
सर्वर कॉन्फ़िगरेशन:
- प्रोटोकॉल एकरूपता लागू करें:
.htaccess
या Nginx सेटिंग के जरिए, http
को स्वतः https
पर रीडायरेक्ट करें ताकि मिक्स्ड कंटेंट से बचा जा सके। - URL सामान्यीकरण: एक ही कंटेंट के लिए अलग-अलग पथों (जैसे
/de
और /de/
) के लिए 301 रीडायरेक्ट लगाएं, ताकि एकमात्र पूर्ण URL सुनिश्चित हो सके।
आत्म-संदर्भित hreflang टैग की कमी
उदाहरण के लिए, यदि कोई फ्रेंच पेज केवल अंग्रेजी, स्पेनिश आदि अन्य भाषा संस्करणों के लिंक को चिह्नित करता है, लेकिन hreflang="fr"
को अपनी ओर इंगित नहीं करता है,
सर्च इंजन पेज की भाषा पहचान नहीं कर पाएंगे, जिससे वह फ्रेंच उपयोगकर्ताओं के लिए सही ढंग से वर्गीकृत नहीं होगा।
आत्म-संदर्भित टैग का महत्व और आवश्यकता
आत्म-संदर्भित टैग पेज में अपना स्वयं का hreflang डिक्लेरेशन होता है (जैसे फ्रेंच पेज में <link rel="alternate" hreflang="fr" href="अपने पेज का URL"/>
शामिल होना चाहिए)।
मुख्य भूमिका:
- सर्च इंजन को स्पष्ट रूप से पेज की भाषा/क्षेत्र बताना, जिससे गलत वर्गीकरण से बचा जा सके।
- अन्य भाषा संस्करणों के साथ एक पूर्ण लूप बनाना, जिससे पेजों के बीच权重 सही तरीके से ट्रांसफर हो।
अनुपस्थिति के परिणाम:
- सर्च इंजन पेज को “भाषा घोषित नहीं” के रूप में मान सकते हैं और इसे डिफ़ॉल्ट रूप से मुख्य भाषा निर्देशिका में असाइन कर सकते हैं, जिससे लक्षित उपयोगकर्ता ट्रैफ़िक की हानि हो सकती है।
- बहुभाषी प्रतिस्पर्धा की स्थिति में (जैसे अंग्रेज़ी और स्पेनिश पेज दोनों में स्व-संदर्भ नहीं है), आंतरिक डुप्लिकेट कंटेंट की समस्या उत्पन्न हो सकती है।
सामान्य त्रुटि परिदृश्य और केस विश्लेषण
त्रुटि 1: एकल भाषा साइट में hreflang का गलत उपयोग
- परिदृश्य: केवल एक भाषा संस्करण वाला पेज है, लेकिन गैर-मौजूद अन्य भाषा पेजों की ओर hreflang जोड़ दिया गया है।
- परिणाम का उदाहरण: एक अंग्रेज़ी एकल भाषा साइट के पेज में
hreflang="en"
जोड़ते समय, वह खुद की ओर तो इशारा करता है लेकिन गलती से hreflang="es"
के लिए लिंक कर देता है जो मौजूद नहीं है, जिससे सर्च इंजन टैग को भ्रमित मानता है।
त्रुटि 2: बहुभाषी प्लगइन कॉन्फ़िगरेशन की चूक
- परिदृश्य उदाहरण: WPML प्लगइन का उपयोग करते समय “स्व-संदर्भ hreflang स्वचालित रूप से जेनरेट करें” विकल्प का चयन न करना।
- परिणाम: उत्पन्न टैग में केवल अन्य भाषा संस्करणों के लिंक शामिल होते हैं, वर्तमान पेज का घोषणा गायब रहता है।
त्रुटि 3: गतिशील पेज में पूर्ण टैग लोड न होना
- परिदृश्य उदाहरण: JavaScript आधारित पेज (जैसे React/Vue फ्रेमवर्क) में hreflang टैग सही तरीके से
<head>
में सम्मिलित नहीं होता। - परिणाम: सर्च इंजन क्रॉलर संभवतः गतिशील रूप से जनरेट किए गए स्व-संदर्भ टैग को पहचान नहीं पाते।
जांचने के उपकरण और विधियां
चरण 1: मैनुअल सोर्स कोड जांच
- पेज में
Ctrl+U
दबाएं, सोर्स कोड देखें, hreflang="xx"
खोजें और पुष्टि करें कि क्या वर्तमान URL के लिए टैग मौजूद है (ध्यान दें: xx
वर्तमान पेज भाषा कोड है)।
चरण 2: Google Search Console सत्यापन
- “URL निरीक्षण उपकरण” में पेज URL दर्ज करें, फिर “अंतरराष्ट्रीय लक्ष्यीकरण” रिपोर्ट देखें — यदि “स्व-संदर्भ hreflang टैग नहीं मिला” दिखता है तो समस्या है।
चरण 3: Hreflang Validator टूल
- पेज URL दर्ज करें, टूल संबंधित सभी hreflang लिंक सूचीबद्ध करेगा, और स्व-संदर्भ टैग की कमी को लाल चेतावनी से दिखाएगा।
समाधान और व्यावहारिक कदम
CMS सिस्टम सुधार (WordPress उदाहरण):
प्लगइन कॉन्फ़िगरेशन सुधार:
- यदि Yoast SEO उपयोग कर रहे हैं: “स्व-संदर्भ hreflang जोड़ें” विकल्प को “उन्नत सेटिंग्स” में सक्षम करें।
- यदि WPML उपयोग कर रहे हैं: “भाषा सेटिंग” → “SEO विकल्प” में जाकर “स्व लिंक शामिल करें” को चेक करें।
मैनुअल सुधार (स्थिर साइट या कस्टम कोड):
पेज के <head>
सेक्शन में निम्नलिखित कोड जोड़ें (फ्रेंच पेज के उदाहरण के लिए):
डायनेमिक रेंडर की गई पेजेज़ की मरम्मत (जैसे React):
सर्वर-साइड रेंडरिंग (SSR) लॉजिक में, वर्तमान पेज की भाषा के आधार पर सेल्फ-रिफरेंस लिंक टैग डायनामिकली जनरेट किया जाता है:
संपूर्ण लिंकिंग का सिद्धांत और आवश्यकता
hreflang का मूल नियम यह है कि सभी संबंधित पेज एक-दूसरे को लिंक करें, जिससे एक पूर्ण लूप बनता है। उदाहरण के लिए:
- जर्मन पेज (
de
) को अंग्रेजी (en
), फ्रेंच (fr
) और अन्य भाषाओं के पेज की ओर इशारा करना चाहिए; - अंग्रेजी और फ्रेंच पेज को भी जर्मन पेज की ओर रिवर्स लिंक करना चाहिए।
आवश्यकता:
- 权重传递 (वेट ट्रांसफर): पूर्ण लिंकिंग सर्च इंजन को मल्टी-लैंग्वेज पेजों की समानता समझने में मदद करता है, जिससे权重 बंटना नहीं होता।
- डुप्लिकेट कंटेंट से बचाव: अगर केवल एकतरफा लिंकिंग है (जैसे अंग्रेजी पेज जर्मन पेज को लिंक करता है, लेकिन जर्मन पेज अंग्रेजी पेज को नहीं), तो इंजन पेजों को अलग कंटेंट समझकर पेनल्टी लगा सकते हैं।
अपवाद:
- एक भाषा वाले पेज (जैसे केवल अंग्रेजी) को पूर्ण लूप की जरूरत नहीं होती, लेकिन सेल्फ-रिफरेंस जरूरी है।
- क्षेत्रीय वेरिएंट्स (जैसे
en-US
और en-GB
) को आपस में लिंक करना चाहिए, लेकिन अन्य भाषाओं से लिंक करना अनिवार्य नहीं।
सामान्य टूटे हुए लिंक के मामले और परिणाम
मामला 1: नई भाषा संस्करण जोड़ने पर पुराने पेज अपडेट न होना
- उदाहरण: एक न्यूज साइट ने जापानी पेज (
ja
) जोड़ा, लेकिन अंग्रेजी और चीनी पेज ने जापानी पेज के hreflang लिंक नहीं जोड़े। - परिणाम: जापानी पेज ‘अकेला’ रह जाता है, और सर्च इंजन केवल अन्य जुड़े पेजों को इंडेक्स करता है।
मामला 2: CMS प्लगइन लॉजिक में त्रुटि
- उदाहरण: वर्डप्रेस मल्टी-लैंग्वेज प्लगइन्स (जैसे Polylang) बड़े पैमाने पर पेज बनाते समय पुराने कंटेंट के लिए नए भाषा लिंक नहीं जोड़ते।
- परिणाम: कुछ पेजों के लिंक टूट जाते हैं और उपयोगकर्ता पुराने कंटेंट से नई भाषा संस्करण पर नहीं जा पाते।
मामला 3: डायनामिक पैरामीटर लिंकिंग को विफल बनाते हैं
- उदाहरण: स्पेनिश पेज की URL में पैरामीटर होते हैं (जैसे
?lang=es
), लेकिन अन्य भाषा पेज hreflang में इसे शामिल नहीं करते। - परिणाम: इंजन
es
पैरामीटर वाले पेज को अन्य भाषाओं से अलग कंटेंट मानते हैं।
डिटेक्शन टूल्स और जांच के तरीके
टूल 1: Screaming Frog
- क्रॉल रिजल्ट में “Hreflang” टैब पर जाएं और “Missing Reciprocal Links” फिल्टर करें।
- ऐक्शन: एरर लिस्ट एक्सपोर्ट करें और लूप न बने URLs की पहचान करें।
टूल 2: Sitebulb
- “International SEO Audit” रिपोर्ट में “Unreciprocated hreflang links” अलर्ट देखें, जो टूटे लिंक और मिसिंग भाषाएं दिखाता है।
टूल 3: DeepCrawl
- कस्टम नियम सेट करें ताकि मल्टी-लैंग्वेज पेज लिंकिंग मॉनिटर हो और हर हफ्ते टूटे लिंक की रिपोर्ट मिले।
फिक्स और व्यावहारिक कदम
फिक्स 1: CMS प्लगइन के जरिए मास बुक सुधार (Shopify उदाहरण)
मल्टी-लैंग्वेज प्लगइन (जैसे Langify) सेटिंग्स में जाकर “ऑटोमैटिकली एसोसिएट ऑल लैंग्वेज वर्जन्स” विकल्प चालू करें।
“टेम्पलेट सेटिंग्स” में, सुनिश्चित करें कि hreflang टैग की लॉजिक सभी भाषाओं के संस्करणों को लूप करती है:
समाधान 2: मैनुअल कोड फिक्स (स्थैतिक साइट)
प्रत्येक भाषा संस्करण के लिए एक एसोसिएशन सूची बनाएं (जैसे Excel शीट), जिसमें सभी URL समूह शामिल हों जिन्हें आपस में जोड़ा जाना है।
पृष्ठ में सूची के अनुसार टैग जोड़ें, उदाहरण के लिए:
जर्मन और फ्रेंच पेज के hreflang टैग को भी सिंक्रनाइज़ करें ताकि वे अंग्रेजी पेज के लिंक शामिल करें।
समाधान 3: सर्वर-साइड ऑटोमेशन (जैसे Nginx)
रिवर्स प्रॉक्सी और मैपिंग नियमों के माध्यम से hreflang टैग डायनेमिक रूप से जनरेट करें:
Canonical टैग के साथ संघर्ष
उदाहरण के लिए, यदि किसी जर्मन उत्पाद पेज का Canonical टैग अंग्रेजी मुख्य साइट पेज की ओर इशारा करता है, तो खोज इंजन जर्मन पेज को अंग्रेजी पेज की कॉपी समझेंगे और इसे जर्मन उपयोगकर्ताओं को नहीं दिखाएंगे।
अधिक सामान्य समस्या यह है कि कई CMS सिस्टम डिफ़ॉल्ट रूप से सभी भाषा संस्करणों का Canonical मुख्य भाषा पेज (जैसे x-default
) की ओर सेट करते हैं, जिससे अन्य भाषा पेज स्वतंत्र रूप से इंडेक्स नहीं हो पाते।
संघर्ष का सिद्धांत और प्राथमिकता नियम
खोज इंजन hreflang और Canonical टैग को संसाधित करते समय प्राथमिकता का क्रम:
Canonical प्राथमिकता: यदि पेज A का Canonical पेज B की ओर है, तो खोज इंजन पेज A को पेज B की कॉपी समझेंगे, भले ही पेज A में hreflang हो, इसे अनदेखा किया जाएगा।
hreflang निष्फल होने के परिदृश्य:
- फ्रेंच पेज का Canonical अंग्रेजी पेज की ओर → फ्रेंच पेज फ्रेंच उपयोगकर्ताओं को नहीं दिखेगा।
- बहुभाषी पेज का Canonical मुख्य साइट की ओर एकीकृत → सभी भाषा संस्करण डुप्लिकेट कंटेंट माने जाएंगे।
अपवाद नियम:
- यदि Canonical टैग स्वयं की ओर इशारा करता है (जैसे
<link rel="canonical" href="वर्तमान पेज URL"/>
), तो hreflang सही ढंग से काम करेगा।
प्रमुख त्रुटि परिदृश्य और परिणाम
त्रुटि 1: बहुभाषी प्लगइन्स की डिफ़ॉल्ट कॉन्फ़िगरेशन टकराव
- उदाहरण: WordPress का Yoast SEO प्लगइन डिफ़ॉल्ट रूप से बहुभाषी पेजों की Canonical टैग मुख्य भाषा पेज की ओर निर्देशित करता है। उदाहरण के लिए, जर्मन पेज का Canonical टैग होगा:
<link rel="canonical" href="https://example.com/en/page"/>
। - परिणाम: जर्मन पेज को अंग्रेज़ी पेज की कॉपी माना जाता है, जिससे यह जर्मन खोज परिणामों में नहीं दिखता और ट्रैफ़िक 50% से अधिक घट जाता है।
त्रुटि 2: डायनेमिक पैरामीटर का हस्तक्षेप
- उदाहरण: पैरामीटर वाली URL (जैसे
example.com/page?lang=de
) का Canonical बिना पैरामीटर वाले संस्करण (example.com/page
) की ओर होता है, लेकिन बाद वाले में hreflang कॉन्फ़िगर नहीं है। - परिणाम: पैरामीटर वाली जर्मन पेज इंडेक्स नहीं होती, खोज में उपयोगकर्ता केवल डिफ़ॉल्ट भाषा पेज देख पाते हैं।
त्रुटि 3: क्षेत्रीय वैरिएंट स्वतंत्र रूप से घोषित नहीं किए गए
- उदाहरण:
en-US
पेज का Canonical सामान्य अंग्रेज़ी पेज (en
) की ओर है, जिससे खोज इंजन मानते हैं कि अमेरिकी अंग्रेज़ी पेज का कोई स्वतंत्र मूल्य नहीं है। - परिणाम: अमेरिकी उपयोगकर्ताओं को
en
पेज (जैसे ब्रिटिश अंग्रेज़ी) पर भेजा जा सकता है, जिससे स्थानीय अनुभव घट जाता है।
जांच उपकरण और समस्या निवारण के तरीके
उपकरण 1: Google Search Console
- “कवरेज रिपोर्ट” में जाकर, “बहिष्कृत” टैब के अंतर्गत “डुप्लिकेट पेज” या “सबमिट किया गया पर इंडेक्स नहीं हुआ” को फिल्टर करें, और देखें कि Canonical टकराव के कारण hreflang विफल तो नहीं हुआ।
उपकरण 2: Screaming Frog
- साइट को क्रॉल करने के बाद, ऐसी पेजों को फिल्टर करें जिनमें hreflang और Canonical दोनों टैग हों, और जांचें कि Canonical अपनी ही URL की ओर है या किसी अन्य पेज की।
- डेटा एक्सपोर्ट करें और फिल्टर लगाएं:
Canonical != Self-URL
।
उपकरण 3: DeepCrawl
- कस्टम अलर्ट नियम सेट करें: जब hreflang और Canonical लक्ष्य मेल नहीं खाते हों, तो अलर्ट ट्रिगर करें।
समाधान योजना और व्यावहारिक कदम
योजना 1: CMS प्लगइन सुधार (Yoast SEO उदाहरण)
- बहुभाषी सेटिंग में जाकर, “मुख्य भाषा की ओर Canonical को एकीकृत करें” विकल्प बंद करें।
- “उन्नत सेटिंग” में, “प्रत्येक भाषा संस्करण के लिए अलग Canonical टैग बनाएं” सक्षम करें।
योजना 2: मैनुअल कोड सुधार
पेज के <head>
में, सुनिश्चित करें कि Canonical टैग अपनी ही URL की ओर इशारा करे, जैसे:
योजना 3: सर्वर-साइड कॉन्फ़िगरेशन (जैसे Nginx)
डायनामिकली Canonical टैग जनरेट करें, जो वर्तमान भाषा संस्करण के अनुरूप हो:
उदाहरण के लिए, डायनामिक पेज जो सर्वर टाइमआउट के कारण पूरा HTML लोड नहीं करते, जिससे <head>
में hreflang टैग गायब हो जाते हैं;
या मोबाइल पेज 200 की बजाय 302 अस्थायी रीडायरेक्ट लौटाते हैं, जिससे सर्च इंजन टैग क्रॉल करना बंद कर सकते हैं;
कुछ CDN या फ़ायरवॉल नियम क्रॉलर अनुरोधों को ब्लॉक करते हैं, जिससे विशिष्ट क्षेत्रीय भाषा पेज पढ़े नहीं जा पाते।
पैरामीटर वाले URL के लिए canonical टैग जोड़ें जो बिना पैरामीटर वाले संस्करण की ओर इशारा करता है: