अपनी वेबसाइट को दूसरे देश से कैसे देखें
विषय सूची

संक्षेप में: साइट आम तौर पर आपका देश आपके IP पते से तय करती है, फिर ब्राउज़र की भाषा, टाइम ज़ोन, कुकीज़ और साइन-इन किए हुए किसी भी अकाउंट के हिसाब से वह बदलती है जो वह दिखाती है। अपनी वेबसाइट को दूसरे देश से देखने के लिए इनमें से हर एक को उस बाज़ार से मेल खाना होगा। यानी पते के लिए उस देश का प्रॉक्सी, और एक अलग Chrome प्रोफ़ाइल जिसमें बाज़ार की भाषा और टाइम ज़ोन हो और आपकी कोई कुकी न हो।
अपनी वेबसाइट को दूसरे देश से देखने के लिए अनुरोध को वैसे पहुँचना होगा जैसे किसी विज़िटर का पहुँचता: उस देश के पते से, उस बाज़ार की ब्राउज़र भाषा और टाइम ज़ोन के साथ, और आपकी अपनी विज़िट से छूटी कुकीज़ के बिना। पते का काम प्रॉक्सी संभालता है, और बाकी सब ब्राउज़र की सेटिंग्स हैं। यह गाइड अपनी साइट जाँचने के बारे में है, यानी वह काम जिसका वर्णन हमारे क्षेत्रीय टेस्टिंग पेज पर है: Chrome में इसे कैसे सेट करें, हर बार क्या लिखें, और कब VPN से भी काम उतना ही अच्छा हो जाता है।
साइट आपका देश किस आधार पर तय करती है?
आम तौर पर IP पते से, अक्सर दूसरे संकेतों के साथ मिलाकर। संकेत पाँच हैं, और वे अलग-अलग जगहों से आते हैं।
- IP पता। सर्वर, या उसके आगे खड़ा CDN, पते को किसी जियोलोकेशन डेटाबेस में देखता है। उदाहरण के लिए, Cloudflare विज़िटर का देश दो अक्षरों के कोड के रूप में
CF-IPCountryहेडर में ओरिजिन तक भेज सकता है (Cloudflare का हेडर रेफ़रेंस)। - ब्राउज़र की भाषा। Chrome अपनी सेटिंग्स की पसंदीदा भाषाओं से बना
Accept-Languageहेडर भेजता है, और पेज की स्क्रिप्ट वही सूचीnavigator.languagesसे पढ़ती हैं (MDN)। - टाइम ज़ोन। कोई स्क्रिप्ट
Intl.DateTimeFormatAPI के ज़रिए, उसकेresolvedOptions()केtimeZoneफ़ील्ड में, कंप्यूटर का टाइम ज़ोनEurope/Berlinजैसे नाम के रूप में पढ़ सकती है (MDN)। - सटीक लोकेशन। Geolocation API निर्देशांक तभी बताता है जब विज़िटर अनुमति दे (MDN), इसलिए ज़्यादातर साइटों को यह कभी मिलता ही नहीं।
- साइट को जो पहले से पता है। पिछली बार आपके चुने क्षेत्र या मुद्रा को सहेजने वाली कुकी, या साइन-इन किए हुए अकाउंट का देश, पते से ज़्यादा अहम हो सकता है।
तालिका «कौन-सा संकेत कहाँ से आता है, और जाँच के लिए उसे कैसे सेट करें» हर संकेत को उस Chrome सेटिंग से जोड़ती है जो उसे नियंत्रित करती है।
सिर्फ़ प्रॉक्सी काफ़ी क्यों नहीं है?
संकेत आपस में मेल न खाएँ, ऐसा हो सकता है, और साइट इस बेमेल को कैसे संभालती है, यह भी उसी का हिस्सा है जिसे आप जाँच रहे हैं। Chrome को किसी जर्मन पते से भेजिए पर भाषा सूची English (US) पर छोड़ दीजिए, तो जो साइट भाषा Accept-Language से और कीमत पते से लेती है, वह अंग्रेज़ी में यूरो वाली कीमतें दिखाएगी। जर्मनी का कोई असली विज़िटर, जर्मन ब्राउज़र के साथ, वह पेज नहीं देखता। अपनी सामान्य कुकीज़ रहने दीजिए, तो साइट अपना देश वाला लॉजिक छोड़कर वह क्षेत्र दिखा सकती है जो आपने पिछले महीने चुना था।
इसलिए पहली बार से पहले हर संकेत को उस बाज़ार के मुताबिक सेट कीजिए, और आगे की हर जाँच में उसे वैसा ही रखिए।
हर बाज़ार के लिए एक Chrome प्रोफ़ाइल कैसे सेट करें?
हर बाज़ार के लिए एक अलग Chrome प्रोफ़ाइल बनाइए और उसे उसका अपना प्रॉक्सी दीजिए। हर प्रोफ़ाइल अपनी हिस्ट्री, पासवर्ड और सेटिंग्स अलग रखती है (Chrome Help), और अपनी कुकीज़ भी (यूज़र डेटा डायरेक्टरी पर Chromium के नोट्स)। जर्मन प्रोफ़ाइल की कुकीज़ कभी फ़्रेंच प्रोफ़ाइल तक नहीं पहुँचतीं, और दोनों में से कोई आपकी रोज़मर्रा की ब्राउज़िंग को नहीं छूती।
- प्रोफ़ाइल बनाइए। ऊपर दाईं ओर अपनी प्रोफ़ाइल तस्वीर चुनिए, फिर Add Chrome profile (Chrome प्रोफ़ाइल जोड़ें), और उसे बाज़ार के नाम पर रखिए, जैसे «Test DE»। इसे अपने Google अकाउंट से साइन-आउट ही रहने दीजिए, ताकि आपकी मुख्य प्रोफ़ाइल से कुछ भी इसमें सिंक न हो।
- उस प्रोफ़ाइल में एक प्रॉक्सी एक्सटेंशन इंस्टॉल कीजिए। एक्सटेंशन उसी प्रोफ़ाइल का प्रॉक्सी सेट करता है जिसमें वह इंस्टॉल है (chrome.proxy API)। उसमें बाज़ार का प्रॉक्सी जोड़िए। हमारा मुफ़्त ProxyJam Connector ऐसा ही एक एक्सटेंशन है।
- सिर्फ़ जाँचे जा रहे डोमेन प्रॉक्सी से भेजिए। अपनी साइट के डोमेन और उसके सबडोमेन के लिए एक नियम जोड़िए, और फ़ॉलबैक को Direct (सीधा कनेक्शन) पर रहने दीजिए। Chrome का अपना ट्रैफ़िक और हर दूसरी साइट आपके कनेक्शन पर ही रहते हैं, और प्रॉक्सी सिर्फ़ जाँच का ट्रैफ़िक ले जाता है। नियम PAC स्क्रिप्ट कैसे बनते हैं, और HTTPS पर वे होस्ट नामों से ही क्यों मेल खाते हैं, पाथ से कभी नहीं, यह Chrome में सिर्फ़ कुछ साइटों के लिए प्रॉक्सी का इस्तेमाल में बताया गया है।
- वे होस्ट जोड़िए जिन्हें पेज बुलाता है। DevTools खोलिए, पेज रीलोड कीजिए और Network पैनल का Domain कॉलम पढ़िए (अगर वह छिपा है, तो उसे दिखाने के लिए कॉलम हेडर पर राइट-क्लिक कीजिए)। कीमतें अक्सर किसी दूसरे होस्ट के API से आती हैं, और सहमति बैनर अपने वेंडर के सर्वर से पूछ सकता है कि कौन-सा संस्करण दिखाए। नियम से छूटा होस्ट आपका अपना पता देखता है, और पेज दो बाज़ारों का मिश्रण बन जाता है। हर एक को जोड़िए।
- भाषा सेट कीजिए। Settings, Languages (सेटिंग्स, भाषाएँ) में Preferred languages (पसंदीदा भाषाएँ) के नीचे बाज़ार की भाषा जोड़िए और उसे सबसे ऊपर ले जाइए (Chrome Help)।
Accept-Languageयही क्रम भेजता है। - टाइम ज़ोन सेट कीजिए। Chrome टाइम ज़ोन ऑपरेटिंग सिस्टम से लेता है और उसकी अपनी कोई सेटिंग नहीं है। जाँच के लिए DevTools इसे दे सकता है: DevTools Settings, Locations में बाज़ार के Timezone ID और Locale के साथ एक लोकेशन जोड़िए, फिर उसे Sensors पैनल में चुनिए (DevTools दस्तावेज़)। यह ओवरराइड उसी टैब पर लागू होता है जिस पर DevTools खुला है, इसलिए पेज लोड करने से पहले DevTools खोलिए। सिस्टम का टाइम ज़ोन बदलना भी काम करता है, पर कंप्यूटर के हर प्रोग्राम के लिए एक साथ।
- प्रोफ़ाइल जाँचिए। एक मिनट के लिए proxyjam.com को नियम में जोड़िए और What Is My IP खोलिए। उसे प्रॉक्सी का पता दिखाना चाहिए, बाज़ार वाले देश में स्थित। इसके बाद जाँच वाले पेज को नियम से हटा दीजिए।
अगर प्रॉक्सी को यूज़रनेम और पासवर्ड चाहिए और Chrome उन्हें बार-बार माँगता है, तो प्रॉक्सी साइन-इन प्रॉम्प्ट बताता है कि ऐसा क्यों होता है और क्या करें।
क्षेत्रीय जाँच में क्या दर्ज करना चाहिए?
हर बार वही फ़ील्ड, ताकि दो जाँचों की पंक्ति-दर-पंक्ति तुलना हो सके। सूची «हर बार वही फ़ील्ड लिखिए» शुरुआती सेट है: रीडायरेक्ट चेन, कीमत और मुद्रा, स्टॉक, सहमति बैनर और भाषा, और साथ में वह पता जो प्रोफ़ाइल इस्तेमाल कर रही थी।
रीडायरेक्ट चेन के लिए Network पैनल में Preserve log चालू कीजिए, जो रीडायरेक्ट से पहले के अनुरोधों को सूची में बनाए रखता है (DevTools Network रेफ़रेंस)। टर्मिनल से, -I और -L देने पर curl हर हॉप के हेडर दिखाता है, -x से अनुरोध प्रॉक्सी के ज़रिए भेजता है, और -H से भाषा का हेडर जोड़ता है (curl manual)। प्रॉक्सी का पता दस्तावेज़ों के लिए आरक्षित रेंज से लिया गया है (RFC 5737); उसकी जगह अपना पता डालिए।
curl -sIL -x http://203.0.113.10:8080 -H "Accept-Language: de-DE,de;q=0.9" https://example.com/
हर स्टेटस लाइन जिसके बाद location: हेडर आता है, एक हॉप है। इस जैसा सादा अनुरोध रीडायरेक्ट, हेडर और HTML में लिखी कीमतें देखता है। चूँकि -I HEAD अनुरोध भेजता है, जो सर्वर HEAD का जवाब GET से अलग देता है, वह अलग चेन दिखा सकता है; सामान्य अनुरोध के हेडर देखने के लिए -I हटाइए और -o /dev/null -D - जोड़िए। यह कोई स्क्रिप्ट नहीं चलाता, इसलिए सहमति बैनर या पेज लोड होने के बाद भरी जाने वाली कीमत के लिए ब्राउज़र प्रोफ़ाइल चाहिए।
हर जाँच के लिए एक पंक्ति और हर बाज़ार के लिए एक शीट रखिए। दो जाँचों के बीच का फ़र्क तभी खोजबीन लायक है जब दोनों बार पता, भाषा और टाइम ज़ोन एक जैसे थे; अगर इनमें से कोई भी बदला, तो आप दो अलग सेटअप की तुलना कर रहे हैं।
रीडायरेक्ट चेन QA से आगे भी मायने रखती है। Google कहता है कि उसके क्रॉलर के डिफ़ॉल्ट पते अमेरिका में स्थित दिखते हैं और वह कोई Accept-Language हेडर नहीं भेजता (Google Search Central), इसलिए किसी बाज़ार का ऐसा संस्करण जो सिर्फ़ पहचान के ज़रिए पहुँच में आता है, उसे Google शायद क्रॉल या इंडेक्स न करे। अपने URL वाला संस्करण इससे बच जाता है।
बार-बार की जाँच में स्टैटिक पता रोटेटिंग पते से बेहतर क्यों है?
तुलना में एक समय पर एक ही चीज़ बदलनी चाहिए। रोटेटिंग पूल हर अनुरोध या हर सेशन पर अलग पता देता है, और हर पते का अपना जियोलोकेशन रिकॉर्ड और अपना नेटवर्क होता है। जब सोमवार और गुरुवार के बीच कीमत बदलती है, तो आप नहीं बता सकते कि साइट बदली या पता। स्टैटिक पता नज़रिए को तय रखता है, इसलिए वह तुलना से बाहर हो जाता है। एक पता रखने और पूल से पता लेने की ज़्यादा गहराई से तुलना ISP बनाम रेज़िडेंशियल प्रॉक्सी में है।
स्टैटिक पता भी खिसक सकता है: जियोलोकेशन डेटाबेस अपडेट होते हैं, और कोई पता किसी दूसरे देश के नाम दर्ज हो सकता है। इसलिए What Is My IP की जाँच हर बार से पहले आती है, पहली बार भी। जब आपको एक ही बाज़ार में एक साथ बहुत से अलग पते चाहिए, तब रोटेटिंग पूल बेहतर औज़ार है।
VPN कब काफ़ी है, और कब नहीं?
एक बार की नज़र के लिए VPN काफ़ी है: क्या जर्मन होम पेज लोड होता है, क्या बैनर दिखता है। यह जल्दी हो जाता है, और बहुत से लोगों के पास यह पहले से इंस्टॉल है।
जब जाँच दोहरानी हो, तब VPN तीन तरह से कम पड़ता है:
- VPN ऐप आम तौर पर डिवाइस का पूरा ट्रैफ़िक ले जाता है, इसलिए हर प्रोग्राम और टैब एक साथ जाँच वाले देश में होता है, और दो बाज़ार अगल-बगल नहीं रखे जा सकते।
- इसके एग्ज़िट पते बहुत से उपयोगकर्ता साझा करते हैं और IP डेटा में एक जानी-पहचानी श्रेणी बनाते हैं: व्यावसायिक डेटाबेस में गुमनाम VPN प्रोवाइडरों के नाम पंजीकृत पतों के लिए एक फ़ील्ड होता है (MaxMind का दस्तावेज़)। जो साइट इसे पढ़ती है, वह VPN विज़िटर के साथ अलग बर्ताव कर सकती है, और तब जाँच वही बर्ताव दर्ज करती है।
- एग्ज़िट पता एक कनेक्शन से दूसरे तक बदल सकता है, जिससे रोटेटिंग पूल वाली समस्या लौट आती है।
ProxyJam इसमें कहाँ आता है?
ProxyJam स्टैटिक रेज़िडेंशियल (ISP) प्रॉक्सी बेचता है: आपके चुने देश में एक पता, किसी इंटरनेट प्रोवाइडर के नाम पंजीकृत, जो आपकी भुगतान की हुई अवधि तक आपका रहता है। इस काम के लिए इसका मतलब है हर बाज़ार के लिए एक पता। देश प्रॉक्सी लोकेशन पेज पर सूचीबद्ध हैं, आज 77, और प्रति IP प्रति अवधि कीमतें कीमतों के पेज पर हैं। अगर कोई पता आपके खरीदे देश के बाहर का माना जाने लगे, तो सेवा की शर्तों की धारा 2.5 में तय मासिक सीमा के भीतर यह मुफ़्त बदलाव का आधार है।
उत्पाद देश के हिसाब से बिकता है, इसलिए दो शहरों के बीच का फ़र्क दिखाना उसके बस में नहीं है। साथ ही, यह आपकी अपनी साइट जाँचने के लिए है: किसी साइट की आपके देश से रोकी गई सामग्री तक पहुँचने के लिए पते का इस्तेमाल हमारी स्वीकार्य उपयोग नीति की धारा 5 के तहत निषिद्ध है। कैटलॉग ISP प्रॉक्सी पेज पर है, और ISP प्रॉक्सी असल में क्या है, यह ISP प्रॉक्सी क्या हैं में समझाया गया है।
