घरसैंडबॉक्सशोकेसएप्पडॉकब्लॉग
    • Englishअंग्रेज़ी
      EN
    • Русскийरूसी
      RU
    • 日本語जापानी
      JA
    • françaisफ़्रेंच
      FR
    • 한국어कोरियाई
      KO
    • 中文चीनी
      ZH
    • Españolस्पेनिश
      ES
    • Deutschजर्मन
      DE
    • العربيةअरबी
      AR
    • Italianoइतालवी
      IT
    • British Englishब्रिटिश अंग्रेज़ी
      EN-GB
    • Portuguêsपुर्तगाली
      PT
    • हिन्दीहिन्दी
      HI
    • Türkçeतुर्की
      TR
    • polskiपोलिश
      PL
    • Indonesiaइंडोनेशियाई
      ID
    • Tiếng Việtवियतनामी
      VI
    • Українськаयूक्रेनियाई
      UK
    /
    Alt+←
    अंतर्राष्ट्रीयकरण (i18n) क्या है?
    SEO और अंतर्राष्ट्रीयकरण
    मार्गदर्शिका
    • next-i18next के साथ i18n
    • next-intl के साथ i18n
    अपनी समाधान में Intlayer का उपयोग करें
    • next-i18next को स्वचालित करें
    • react-i18next को स्वचालित करें
    • next-intl को स्वचालित करें
    • react-intl को स्वचालित करें
    • vue-i18n को स्वचालित करें
    तुलना
    • next-i18next vs next-intl vs Intlayer
    • react-i18next vs react-intl vs Intlayer
    दस्तावेज़
    1. Blog
    2. SEO और अंतर्राष्ट्रीयकरण
    Creation:2024-12-24Last update:2025-06-29
    इस दस्तावेज़ को अपने पसंदीदा AI एसिस्टेंट के साथ संदर्भित करें
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके

    इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।

    अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखें
    Edit this doc

    If you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.

    GitHub link to the documentation
    Copy

    Copy doc Markdown to clipboard

    SEO & I18n: आपकी वेबसाइट को बहुभाषी बनाने के लिए अंतिम गाइड

    क्या आप दुनिया भर में अधिक उपयोगकर्ताओं तक पहुँचने के इच्छुक हैं? आपकी वेबसाइट को बहुभाषी बनाना आपके दर्शकों को विस्तारित करने और आपके SEO (सर्च इंजन ऑप्टिमाइजेशन) में सुधार करने के सबसे अच्छे तरीकों में से एक है। इस ब्लॉग पोस्ट में, हम अंतरराष्ट्रीय SEO के मूल आधारों को स्पष्ट और समझने योग्य तरीके से समझाएँगे, जिसे अक्सर i18n (अंतरराष्ट्रीयकरण के लिए संक्षिप्त रूप) कहा जाता है। आप उन प्रमुख निर्णयों के बारे में जानेंगे, जिन्हें आपको लेना है, तकनीकी तत्वों जैसे कि hreflang का उपयोग कैसे करें, और क्यों Intlayer जैसे उपकरण आपके बहुभाषी Next.js प्रोजेक्ट्स को सरल बना सकते हैं।


    1. आपकी वेबसाइट को बहुभाषी बनाने का क्या अर्थ है?

    एक बहुभाषी वेबसाइट का सामग्री एक से अधिक भाषाओं में उपलब्ध होती है। उदाहरण के लिए, आपके पास एक अंग्रेजी संस्करण (example.com/en/), एक फ्रेंच संस्करण (example.com/fr/), और एक स्पेनिश संस्करण (example.com/es/) हो सकता है। यह दृष्टिकोण खोज इंजनों को उपयोगकर्ताओं की प्राथमिकताओं या भौगोलिक स्थान के आधार पर सही भाषा संस्करण प्रदर्शित करने की अनुमति देता है।

    जब आप इसे ठीक से करते हैं, तो आप गैर-अंग्रेजी बोलने वालों के लिए एक बहुत अधिक उपयोगकर्ता-अनुकूल अनुभव बनाते हैं, जो बेहतर संबंध, उच्च रूपांतरण दर, और विभिन्न क्षेत्रों में सुधारित SEO की ओर ले जाता है।


    2. सही URL संरचना चुनना

    यदि आप कई भाषा संस्करण रखने का निर्णय लेते हैं, तो आपको अपनी साइट के URLs को व्यवस्थित करने का एक स्पष्ट, सुसंगत तरीका चाहिए। प्रत्येक भाषा (या क्षेत्र) का इंटरनेट पर अपना अनूठा "पता" होना चाहिए। बहुभाषी वेबसाइटों की संरचना के लिए तीन सामान्य तरीके नीचे दिए गए हैं:

    1. देश-कोड शीर्ष स्तर डोमेन (ccTLDs)

      • उदाहरण: example.fr, example.de
      • लाभ: खोज इंजनों को यह स्पष्ट संकेत भेजता है कि सामग्री किस देश को लक्षित करती है (जैसे, .fr = फ्रांस)।
      • हानि: कई डोमेन प्रबंधित करना महंगा और जटिल हो सकता है।
    2. सबडोमेन

      • उदाहरण: fr.example.com, de.example.com
      • लाभ: प्रत्येक भाषा का "जीवन" अपने उपडोमेन पर होता है, जिससे भाषाएँ जोड़ना या हटाना अपेक्षाकृत आसान होता है।
      • हानि: कभी-कभी खोज इंजन उपडोमेन को अलग साइटों के रूप में मानते हैं, इसलिए यह आपके मुख्य डोमेन की प्राधिकरण को कमजोर कर सकता है।
    3. सबडायरेक्टरी (सबफोल्डर)

      • उदाहरण: example.com/fr/, example.com/de/
      • लाभ: प्रबंधित करने में सीधा और सभी ट्रैफ़िक एक मुख्य डोमेन की ओर इंगित करता है।
      • हानि: ccTLDs की तुलना में स्थानीय SEO संकेत का उतना मजबूत नहीं होता (हालांकि इसे ठीक से लागू करने पर यह अभी भी बहुत प्रभावी है)।
    टीप: यदि आपके पास एक वैश्विक ब्रांड है और आप चीजों को सरल रखना चाहते हैं, तो सबडायरेक्टरीज अक्सर सबसे अच्छा काम करती हैं। यदि आप केवल एक या दो मुख्य देशों को लक्षित कर रहे हैं और प्रत्येक पर वास्तव में जोर देना चाहते हैं, तो ccTLDs सबसे अच्छा विकल्प हो सकता है।

    3. Hreflang के साथ भाषा लक्ष्यीकरण में महारत हासिल करना

    3.1. Hreflang क्या है?

    जब आपके पास कई भाषाओं में समान या बहुत समान सामग्री होती है, तो खोज इंजनों जैसे Google को यह भ्रमित हो सकता है कि किस संस्करण को प्रदर्शित करना है। Hreflang एक HTML विशेषता है जो खोज इंजनों को बताती है कि एक विशेष पृष्ठ के लिए कौन सी भाषा (और क्षेत्र) लक्षित है, और वैकल्पिक भाषा/क्षेत्र पृष्ठ क्या हैं।

    3.2. यह महत्वपूर्ण क्यों है?

    1. यह डुप्लिकेट सामग्री की समस्याओं से रोकता है (जब खोज इंजन सोचते हैं कि आप एक ही सामग्री को कई बार प्रकाशित कर रहे हैं)।
    2. यह सुनिश्चित करता है कि फ्रेंच उपयोगकर्ता फ्रेंच संस्करण देखें, स्पेनिश उपयोगकर्ता स्पेनिश संस्करण देखें, और इसी तरह।
    3. यह समग्र उपयोगकर्ता अनुभव में सुधार करता है, जिसका अर्थ है बेहतर जुड़ाव और उच्च SEO रैंकिंग।

    3.3. <head> टैग में Hreflang का उपयोग कैसे करें

    अपने HTML में, आप कुछ इस तरह जोड़ेंगे:

    html
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    <link  rel="alternate"  hreflang="en"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/en"/><link  rel="alternate"  hreflang="fr"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/fr"/><link  rel="alternate"  hreflang="es"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/es"/><link  rel="alternate"  hreflang="x-default"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/en"/>
    • hreflang="en": इस पृष्ठ के अंग्रेजी संस्करण को इंगित करता है।
    • hreflang="fr": इस पृष्ठ के फ्रेंच संस्करण को इंगित करता है।
    • hreflang="es": इस पृष्ठ के स्पेनिश संस्करण को इंगित करता है।
    • hreflang="x-default": एक "फॉलबैक" भाषा या डिफ़ॉल्ट URL जब अन्य भाषा उपयोगकर्ता की प्राथमिकताओं से मेल नहीं खाती हैं।
    त्वरित नोट: सुनिश्चित करें कि इन टैग में URLs सीधे अंतिम पृष्ठ की ओर इंगित करते हैं, बिना किसी अतिरिक्त रीडायरेक्ट के।

    4. सामग्री को वास्तव में "स्थानीय" बनाना (केवल अनुवादित नहीं)

    4.1. स्थानीयकरण बनाम अनुवाद

    • अनुवाद का अर्थ होता है एक भाषा से दूसरी भाषा में शब्द दर शब्द पाठ का परिवर्तित करना।
    • स्थानीयकरण का अर्थ है सामग्री के प्रारूप, मुद्रा, माप और सांस्कृतिक संदर्भों को स्थानीय दर्शकों के लिए अनुकूलित करना। उदाहरण के लिए, यदि आप फ्रांस को लक्षित कर रहे हैं, तो आप € का उपयोग करेंगे।

    4.2. डुप्लिकेट सामग्री से बचना

    अच्छे अनुवादों के साथ भी, यदि इसकी संरचना बहुत समान लगती है तो खोज इंजन आपकी साइट को डुप्लिकेट सामग्री के लिए चिह्नित कर सकते हैं। Hreflang यह स्पष्ट करने में मदद करता है कि ये पृष्ठ डुप्लिकेट नहीं हैं बल्कि भाषा वैरिएशन हैं।


    5. तकनीकी SEO आवश्यकताएँ

    5.1. भाषा घोषणाएँ (lang और dir)

    अपने HTML टैग में, आप भाषा को इस तरह घोषित कर सकते हैं:

    html
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    <html lang="en"></html>
    • lang="en" ब्राउज़र और सहायक तकनीकों को भाषा समझने में मदद करता है।

    दाएं से बाएं भाषाओं (जैसे अरबी या हिब्रू) के लिए, जोड़ें:

    html
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    <html dir="rtl" lang="ar"></html>
    • dir="rtl" यह सुनिश्चित करता है कि पाठ की दिशा दाएं से बाएं हो।

    5.2. कैनोनिकल टैग्स

    कैनोनिकल टैग्स खोज इंजनों को बताते हैं कि जब आपके पास लगभग समान पृष्ठ हों, तो कौन सा पृष्ठ “मूल” या प्राथमिक संस्करण है। आमतौर पर, आपके पास बहुभाषी साइट के लिए एक स्वयं संदर्भित कैनोनिकल होगा।

    html
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    <link  rel="canonical"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/fr/produits"/>

    6. कई भाषाओं में ऑन-पेज SEO

    6.1. शीर्षक और मेटा वर्णन

    • प्रत्येक भाषा के लिए अनुवादित और अनुकूलित।
    • प्रत्येक मार्केट के लिए कीवर्ड अनुसंधान करें क्योंकि लोग अंग्रेजी में जो ढूंढते हैं वह फ्रेंच या स्पेनिश में भिन्न हो सकता है।

    6.2. हेडर्स (H1, H2, H3)

    आपके शीर्षक प्रत्येक क्षेत्र के स्थानीय वाक्यांशों या कीवर्ड्स को दर्शाने चाहिए। बस अपने मूल अंग्रेजी शीर्षक को Google Translate के माध्यम से डालकर इसे खत्म न करें।

    6.3. चित्र और मीडिया

    • आवश्यकता होने पर आल्ट टेक्स्ट, कैप्शन और फ़ाइल नाम स्थानीयकृत करें।
    • ऐसे दृश्य का उपयोग करें जो लक्षित संस्कृति के साथ गूंजता हो।

    7. भाषा स्विचिंग और उपयोगकर्ता अनुभव

    7.1. ऑटो-रीडायरेक्ट या एक भाषा चयनकर्ता?

    • ऑटो-रीडायरेक्ट (IP या ब्राउज़र सेटिंग्स के आधार पर) सुविधाजनक हो सकता है लेकिन यह यात्रा करने वालों या VPN उपयोगकर्ताओं को गलत संस्करण पर भेज सकता है।
    • एक भाषा चयनकर्ता अक्सर अधिक पारदर्शी होता है, उपयोगकर्ता यदि स्वचालित रूप से निर्धारित भाषा गलत है तो स्वयं अपनी भाषा चुन सकते हैं।

    यहाँ एक सरल Next.js + Intlayer उदाहरण है:

    tsx
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { useLocation, useNavigate } from "react-router-dom";import {  Locales,  getHTMLTextDir,  getLocaleName,  getLocalizedUrl,} from "intlayer";import { useLocale } from "react-intlayer";import { type FC } from "react";const LocaleSwitcher: FC = () => {  const location = useLocation(); // वर्तमान URL पथ प्राप्त करें। उदाहरण: /fr/about  const navigate = useNavigate();  const changeUrl = (locale: Locales) => {    // अपडेटेड लोकेल के साथ URL का निर्माण करें    // उदाहरण: /es/about स्पेनिश की सेटिंग में स्थायी    const pathWithLocale = getLocalizedUrl(location.pathname, locale);    // URL पथ को अपडेट करें    navigate(pathWithLocale);  };  const { locale, availableLocales, setLocale } = useLocale({    onLocaleChange: changeUrl,  });  return (    <ol>      {availableLocales.map((localeItem) => (        <li key={localeItem}>          <a            href={getLocalizedUrl(location.pathname, localeItem)}            hrefLang={locale === localeItem ? "x-default" : localeItem}            aria-current={locale === localeItem ? "page" : undefined}            onClick={(e) => {              e.preventDefault();              setLocale(localeItem);            }}          >            <span>              {/* अपनी भाषा में - जैसे कि Français */}              {getLocaleName(localeItem, locale)}            </span>            <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>              {/* वर्तमान भाषा में - जैसे कि Francés वर्तमान लोकेल सेट करने पर Locales.SPANISH */}              {getLocaleName(localeItem)}            </span>            <span dir="ltr" lang={Locales.ENGLISH}>              {/* अंग्रेजी में - जैसे कि French */}              {getLocaleName(localeItem, Locales.ENGLISH)}            </span>            <span>              {/* अपनी भाषा में - जैसे कि FR */}              {localeItem}            </span>          </a>        </li>      ))}    </ol>  );};

    7.2. प्राथमिकताएँ स्टोर करना

    • अपने उपयोगकर्ता की भाषा पसंद को कुकी या सत्र में सहेजें।
    • अगली बार जब वे आपकी साइट पर जाएँगे, तो आप स्वचालित रूप से उनके पसंदीदा भाषा को लोड कर सकते हैं।

    8. स्थानीय बैकलिंक्स बनाना

    बैकलिंक्स (बाहरी साइटों से आपकी साइट की ओर लिंक) एक महत्वपूर्ण SEO कारक बने रहते हैं। जब आप एक बहुभाषी साइट चला रहे हों, तो विचार करें:

    • स्थानीय समाचार साइटों, ब्लॉगों, या फोरम से संपर्क करना। उदाहरण के लिए, एक .fr डोमेन आपके फ्रेंच सबडायरेक्टरी की ओर इंगित करना आपके स्थानीय फ्रेंच SEO को बढ़ा सकता है।
    • देखें कि प्रत्येक भाषा के लिए बैकलिंक्स की निगरानी करें कि कौनसे क्षेत्रों को अधिक PR/मार्केटिंग प्रयासों की आवश्यकता है।

    9. अपने बहुभाषी साइट की निगरानी और रखरखाव

    9.1. Google Analytics और Search Console

    • प्रत्येक भाषा निर्देशिका के लिए अपने डेटा को विभाजित करें (/en/, /fr/, /es/)।
    • क्रॉल एरर्स, डुप्लिकेट सामग्री फ्लैग्स, और इंडेक्सिंग मुद्दों पर हर भाषा के आधार पर ध्यान दें।

    9.2. नियमित सामग्री अपडेट

    • अनुवादों को ताजा रखें। यदि आप अंग्रेजी में उत्पाद विवरण बदलते हैं, तो इसे फ्रेंच, स्पेनिश, आदि में अपडेट करें।
    • पुराना अनुवाद ग्राहकों के लिए भ्रमित कर सकता है और उपयोगकर्ता के विश्वास को कम कर सकता है।

    10. आम गलतियों से बचना

    1. मशीन-अनुवादित सामग्री मानव समीक्षा के बिना स्वचालित अनुवाद कई त्रुटियों से भरा हो सकता है।

    2. असामान्य या गायब hreflang टैग यदि आपके टैग अधूरे हैं या गलत कोड हैं तो खोज इंजन स्वयं भाषा संस्करणों का निर्धारण नहीं कर सकते हैं।

    3. केवल JavaScript के माध्यम से भाषा स्विच करना यदि Google प्रत्येक भाषा के लिए अद्वितीय URLs को क्रॉल नहीं कर सकता, तो आपके पृष्ठ सही स्थानीय खोज परिणामों में नहीं दिख सकते हैं।

    4. सांस्कृतिक बारीकियों की अनदेखी करना एक मजाक या वाक्यांश जो एक देश में काम करता है, वह दूसरे में अपमानजनक या निरर्थक हो सकता है।


    समापन

    आपकी वेबसाइट को बहुभाषी बनाना केवल पाठ का अनुवाद करने से अधिक है। यह URLs को प्रभावी ढंग से संरचना करना, hreflang टैग का उपयोग करना ताकि खोज इंजनों को सही संस्करण प्रदान किया जा सके, और एक शानदार उपयोगकर्ता अनुभव प्रदान करना है, स्थानीयकृत दृश्यों, भाषा चयनकर्ताओं, और सुसंगत नेविगेशन के साथ। इन श्रेष्ठ प्रथाओं का पालन करने से आप वैश्विक बाजारों में सफलता के लिए तैयार हो जाएंगे, उपयोगकर्ता संतोष को बढ़ाएंगे, और अंततः, विभिन्न क्षेत्रों में बेहतर SEO परिणाम प्राप्त करेंगे।

    यदि आप Next.js का उपयोग कर रहे हैं (विशेष रूप से Next.js 13+ में ऐप राउटर), Intlayer जैसे उपकरण इस पूरी प्रक्रिया को सरल बना सकते हैं। यह स्थानीयकृत साइटमैप उत्पन्न करने से लेकर स्वचालित रूप से hreflang लिंक, भाषा पहचान, और बहुत कुछ संभालने में मदद करता है, ताकि आप गुणवत्ता बहुभाषी सामग्री बनाने पर ध्यान केंद्रित कर सकें।

    क्या आप वैश्विक स्तर पर जाने के लिए तैयार हैं? अब इन SEO और i18n रणनीतियों को लागू करना शुरू करें, और देखें कि दुनिया भर से नए आगंतुक आपकी साइट खोजने और उससे जुड़ने लगते हैं!

    अंतर्राष्ट्रीयकरण (i18n) क्या है?
    next-i18next के साथ i18n
    Alt+→

    इस पृष्ठ में

      चर्चाएं गुमनाम हैं और सामान्य मुद्दों को संबोधित करने के लिए नियमित रूप से समीक्षा की जाती हैं। फीचर आइडिया, डॉक्यूमेंटेशन पर फीडबैक, या Intlayer से संबंधित कुछ भी साझा करने में संकोच न करें, हम इस इनपुट का उपयोग अपने रोडमैप को आकार देने और उत्पाद को बेहतर बनाने के लिए करते हैं।

      <link  rel="alternate"  hreflang="en"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/en"/><link  rel="alternate"  hreflang="fr"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/fr"/><link  rel="alternate"  hreflang="es"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/es"/><link  rel="alternate"  hreflang="x-default"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/en"/>
      <html lang="en"></html>
      <html dir="rtl" lang="ar"></html>
      <link  rel="canonical"  href="https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/fr/produits"/>
      import { useLocation, useNavigate } from "react-router-dom";import {  Locales,  getHTMLTextDir,  getLocaleName,  getLocalizedUrl,} from "intlayer";import { useLocale } from "react-intlayer";import { type FC } from "react";const LocaleSwitcher: FC = () => {  const location = useLocation(); // वर्तमान URL पथ प्राप्त करें। उदाहरण: /fr/about  const navigate = useNavigate();  const changeUrl = (locale: Locales) => {    // अपडेटेड लोकेल के साथ URL का निर्माण करें    // उदाहरण: /es/about स्पेनिश की सेटिंग में स्थायी    const pathWithLocale = getLocalizedUrl(location.pathname, locale);    // URL पथ को अपडेट करें    navigate(pathWithLocale);  };  const { locale, availableLocales, setLocale } = useLocale({    onLocaleChange: changeUrl,  });  return (    <ol>      {availableLocales.map((localeItem) => (        <li key={localeItem}>          <a            href={getLocalizedUrl(location.pathname, localeItem)}            hrefLang={locale === localeItem ? "x-default" : localeItem}            aria-current={locale === localeItem ? "page" : undefined}            onClick={(e) => {              e.preventDefault();              setLocale(localeItem);            }}          >            <span>              {/* अपनी भाषा में - जैसे कि Français */}              {getLocaleName(localeItem, locale)}            </span>            <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>              {/* वर्तमान भाषा में - जैसे कि Francés वर्तमान लोकेल सेट करने पर Locales.SPANISH */}              {getLocaleName(localeItem)}            </span>            <span dir="ltr" lang={Locales.ENGLISH}>              {/* अंग्रेजी में - जैसे कि French */}              {getLocaleName(localeItem, Locales.ENGLISH)}            </span>            <span>              {/* अपनी भाषा में - जैसे कि FR */}              {localeItem}            </span>          </a>        </li>      ))}    </ol>  );};