एक बेहतर हेल्प डॉक
यह उन ब्रांड्स और एजेंसियों के लिए लिखा और मेंटेन किया जाता है जो साइट माइग्रेशन कर रहे हैं। खासकर तब, जब आप एक छोटी टीम हों जिसे हर घंटे का हिसाब रखना है। यह गाइड आपको Shopify पर माइग्रेट करते समय 301 रीडायरेक्ट सटीक ढंग से पूरे करने की रणनीति बनाने में मदद करती है। खास तौर पर यह दस्तावेज़ आपके काम आएगा अगर आप:
- Wordpress से माइग्रेट कर रहे हैं
- Magento से माइग्रेट कर रहे हैं
- Salesforce से माइग्रेट कर रहे हैं
- Sitecore से माइग्रेट कर रहे हैं
- BigCommerce से माइग्रेट कर रहे हैं
- Webflow से माइग्रेट कर रहे हैं
- खुद बनाई गई किसी PHP साइट से माइग्रेट कर रहे हैं
अगर आपके प्रोजेक्ट में जटिल 301 रीडायरेक्ट मैपिंग शामिल है और आपको ऐसी टीम चाहिए जो इसी काम में रमी हो, तो हमसे संपर्क करें।
Shopify का URL रीडायरेक्ट लॉजिक: एक नज़र में
URL रीडायरेक्ट का आधिकारिक Shopify हेल्प डॉक यहाँ मिलेगा। यह एक सुव्यवस्थित दस्तावेज़ है जिसमें सामान्य दिशानिर्देश हैं और कोई भी Shopify स्टोर मैनेजर उसे देखकर अलग-अलग या बल्क 301 रीडायरेक्ट जोड़ सकता है। उसमें इसका ब्यौरा नहीं है कि Shopify स्टोर नेटिव रूप से किस तरह के URL संभाल सकता है, और यह रिपोर्ट उन्हीं खाली जगहों को भरने के लिए है।
Shopify की URL रीडायरेक्ट कार्यक्षमता पर निष्कर्षों का सार
- Shopify का URL रीडायरेक्ट लॉजिक बहुत मज़बूत है।
- 100 अलग-अलग URL स्ट्रिंग फ़ॉर्मैट के हमारे परीक्षण में Shopify ने 100 में से 99 प्रकारों को व्यावहारिक रूप से संभाला।
- असली स्टोरफ़्रंट रूट हमेशा रीडायरेक्ट पर भारी पड़ता है, चुपचाप।
- नेटिव सिस्टम URL रीडायरेक्ट के लिए वाइल्डकार्ड का समर्थन नहीं करता।
- मौजूदा URL रीडायरेक्ट पाथ अपडेट करना इम्पोर्ट टूल से आसान रहा, बशर्ते आप Shopify के अलिखित नियमों का पालन करें।
- Shopify और ShopifyPlus स्टोर कुल कितने रीडायरेक्ट संभालेंगे, इसकी सीमाएँ हैं।
- URL रीडायरेक्ट स्ट्रिंग में कुल कितने कैरेक्टर हो सकते हैं, इसकी भी सीमा है।
- चेन से बचाव अधूरा है। Shopify एक दिशा रोकता है, और बनाने का क्रम फिर भी जीवित चेन छोड़ सकता है।
- पैरामीटर वाले URL के लिए कई अपवाद और नियम मौजूद हैं।
- URL रीडायरेक्ट प्रबंधन का इंटरफ़ेस उपयोग में आसान है, पर उसमें और जानकारी होनी चाहिए।
- परीक्षणों में Hydrogen और Oxygen के लिए उपलब्ध रीडायरेक्ट विकल्प नहीं देखे गए।
- हम Shopify के मौजूदा URL रीडायरेक्ट सिस्टम को 85% उपयोगिता स्कोर देते हैं।
वाइल्डकार्ड समर्थन न होने पर रेटिंग 5% घटाई गई, जिस एक URL स्ट्रिंग प्रकार को यह नहीं संभालता उसके लिए 1%, URL कैरेक्टर लंबाई की सीमाओं के लिए 2%, पैरामीटर वाले URL के अजीब व्यवहार के लिए 3%, और रीडायरेक्ट UX में ज़रूरी सूचना प्रबंधन की कमी के लिए 4%।
पहली बार 19 जून 2024 को परखा गया। 27 जुलाई 2026 को एक लाइव Shopify स्टैंडर्ड प्लान स्टोर पर, Admin GraphQL API और लाइव स्टोरफ़्रंट रिक्वेस्ट, दोनों के ज़रिए दोबारा परखा गया। इन दोनों के बीच जो बदला, वह चेंजलॉग में दर्ज है।
रीडायरेक्ट परीक्षण की हमारी पद्धति
Shopify के 301 रीडायरेक्ट नियमों की मुश्किलों से बचने में मदद के लिए हम अपने परीक्षणों से कुछ सवालों के जवाब चाहते थे:
- URL रीडायरेक्ट सिस्टम किन कैरेक्टर या स्ट्रिंग संयोजनों को नहीं संभालता?
- क्या URL स्ट्रिंग की लंबाई पर कोई सीमा है?
- बल्क इम्पोर्ट के लिए रिकॉर्ड की कोई अधिकतम संख्या है?
- क्या सिस्टम वाइल्डकार्ड रीडायरेक्ट का समर्थन करता है?
- क्या इम्पोर्ट के बाद स्ट्रिंग में कोई ऑटो फ़ॉर्मैटिंग या रूपांतरण होता है जो मूल डेटा बदल देता है?
संदर्भ के लिए, इन अलग-अलग स्थितियों को परखने में इस्तेमाल की गई URL की पूरी सूची यहाँ है। परीक्षण Shopify स्टैंडर्ड प्लान पर किए गए (ShopifyPlus पर नहीं)।
Shopify रीडायरेक्ट में मदद करने वाले 11 निष्कर्ष
इन URL स्ट्रिंग प्रकारों के साथ Shopify ठीक से नहीं चलता
हमने जिन सौ फ़ॉर्मैट को परखा, उनमें से एक स्ट्रिंग फ़ॉर्मैट को भरोसे के साथ रीडायरेक्ट नहीं किया जा सकता। Shopify रिकॉर्ड स्वीकार करके सहेज लेता है, पर उसे माँगने वाले ब्राउज़र को 404 मिलता है। यह वह स्ट्रिंग है जिसमें equals ऑपरेटर के बाद सेमीकोलन आता है, जैसे:
/page?param=;semicolon
इस स्ट्रिंग की खास बात यह है कि Shopify का सिस्टम रीडायरेक्ट टेबल में सेमीकोलन विशेष कैरेक्टर को URL एन्कोडेड मान में बदल देता है, इस तरह:
/page?param=%3Bsemicolon
जब आप बिना एन्कोड की गई URL स्ट्रिंग ब्राउज़र के एड्रेस बार में डालते हैं, तो 404 एरर मिलता है।
/page?param=;semicolon
/page?param=%3Bsemicolon
यह व्यवहार बाकी विशेष कैरेक्टर के साथ होने वाले बर्ताव से अलग है। अगर एड्रेस बार में बिना एन्कोड किए कैरेक्टर वाली URL स्ट्रिंग डाली जाए, जैसे दायाँ ब्रेस कैरेक्टर:
/page?param=}
तो URL रिक्वेस्ट मिलते ही Shopify उसे अपने आप एन्कोड कर देगा और कोई 404 एरर नहीं आएगा।
/page%7Drightbrace
एक और ध्यान देने लायक बात: बिना एन्कोड किए सेमीकोलन वाली URL स्ट्रिंग के दूसरे रूप Shopify के रीडायरेक्ट सिस्टम में मान्य होते हैं, जैसे:
/page;semicolon
404 सिर्फ़ तब आता है जब बिना एन्कोड किया गया सेमीकोलन equals ऑपरेटर के बाद आए, और विफलता इम्पोर्ट पर नहीं बल्कि रिक्वेस्ट के समय होती है। Shopify रिकॉर्ड को सेमीकोलन परसेंट एन्कोड करके %3b के रूप में सहेजता है, और कच्चा सेमीकोलन लेकर आने वाला URL उस एन्कोडेड रिकॉर्ड से कभी मेल नहीं खाता। एन्कोडेड रूप माँगने पर सामान्य रूप से 301 मिलता है, इसलिए जहाँ आने वाले लिंक आपके नियंत्रण में हों, वहाँ सेमीकोलन को परसेंट एन्कोड करने से बात बन जाती है। जहाँ कच्चा सेमीकोलन ऐसे बाहरी लिंक से आ रहा हो जो आपके नियंत्रण में नहीं, वहाँ इस फ़ॉर्मैट को भरोसे के साथ रीडायरेक्ट नहीं किया जा सकता।
Shopify की तरफ़ से वाइल्डकार्ड रीडायरेक्ट का कोई समर्थन नहीं
वाइल्डकार्ड रीडायरेक्ट आज भी कई Shopify उपयोगकर्ताओं की इच्छा सूची में हैं। उनके सपोर्ट फ़ोरम इस फ़ीचर की माँगों से भरे पड़े हैं। अब तक Shopify ने यह नहीं बताया कि यह प्रोडक्ट रोडमैप में कहाँ आता है।
फ़िलहाल Shopify पर जाने की योजना बना रहे वेबसाइट मालिकों को समझ लेना चाहिए कि नेटिव Shopify और ShopifyPlus यह विकल्प नहीं देते।
वाइल्डकार्ड रीडायरेक्ट क्या होते हैं?
वाइल्डकार्ड रीडायरेक्ट URL रीडायरेक्शन का ऐसा प्रकार है जिससे आप किसी खास पैटर्न से मेल खाने वाले कई URL को एक ही गंतव्य पर भेज सकते हैं। यह खास तौर पर तब काम आता है जब आप वेबसाइट माइग्रेट कर रहे हों, कंटेंट को दोबारा व्यवस्थित कर रहे हों, या बहुत सारे मिलते-जुलते URL संभाल रहे हों। हर URL के लिए अलग रीडायरेक्ट बनाने के बजाय आप किसी भी कैरेक्टर क्रम को दर्शाने के लिए एक वाइल्डकार्ड कैरेक्टर (आमतौर पर *) इस्तेमाल करते हैं।
मान लीजिए आप अपना ब्लॉग नए ढाँचे में ला रहे हैं और सभी पोस्ट /blog/ डायरेक्टरी से /articles/ में ले जा रहे हैं। हर ब्लॉग पोस्ट के लिए अलग रीडायरेक्ट बनाने के बजाय आप एक वाइल्डकार्ड रीडायरेक्ट इस्तेमाल कर सकते हैं:
From: /blog/*
To: /articles/*
This wildcard redirect will automatically map:
/blog/post1 to /articles/post1
/blog/post2 to /articles/post2
/blog/post3 to /articles/post3
इससे रीडायरेक्शन की प्रक्रिया आसान हो जाती है और /blog/ के नीचे आने वाले सभी URL बिना अटके अपनी नई जगह /articles/ पर पहुँच जाते हैं। Shopify और ShopifyPlus के डिफ़ॉल्ट स्टोर में किसी ऐप के बिना यह क्षमता नहीं होती।
जो हिस्सा लोगों का ट्रैफ़िक खा जाता है वह यह है कि Shopify वाइल्डकार्ड सिंटैक्स बिना कोई शिकायत किए स्वीकार कर लेता है। /old-blog/* के रूप में बनाया गया रिकॉर्ड सेव हो जाता है, रीडायरेक्ट टेबल में दिखता है, और कोई एरर नहीं बताता। तारांकन एक शाब्दिक कैरेक्टर के रूप में सहेजा जाता है, इसलिए यह सिर्फ़ उसी URL से मेल खाएगा जिसमें सचमुच तारांकन मौजूद हो। यह सीधे अस्वीकार कर दिए जाने से भी बुरा है, क्योंकि जब तक असली ट्रैफ़िक 404 लौटाना शुरू नहीं करता, तब तक कोई संकेत नहीं मिलता। इम्पोर्ट से पहले अपनी रीडायरेक्ट फ़ाइल के सभी वाइल्डकार्ड को साफ़ पाथ में खोल लें।
Shopify रीडायरेक्ट चेन बनने से रोकने की पूरी कोशिश करता है
Shopify के पास चेन के खिलाफ़ एक बचाव है, और उस पर भरोसा करने से पहले उसकी सीमा समझ लेना ठीक रहेगा। यह ऐसा रीडायरेक्ट अस्वीकार कर देता है जिसका गंतव्य पहले से किसी दूसरे रीडायरेक्ट का स्रोत हो, संदेश के साथ: Target can't redirect to another redirect। यह खुद अपनी ओर इशारा करने वाला रीडायरेक्ट भी अस्वीकार करता है, संदेश Target can't be the same as path के साथ, और सीधे दोतरफ़ा लूप भी रोकता है।
इस परीक्षण में हमने जो URL रिकॉर्ड बनाने की कोशिश की, वे ये थे, और इनकी अनुमति नहीं मिली:
/BOTH redirects to /SHORT/SHORT redirects to /homepage
यह बचाव जो नहीं करता, वह है उल्टी दिशा की जाँच। /b पर कुछ न होते हुए /a से /b बनाएँ, फिर बाद में /b से /c बनाएँ, तो दोनों स्वीकार हो जाते हैं। Shopify पहले रिकॉर्ड को दोबारा नहीं देखता, और आपके पास एक जीवित चेन रह जाती है:
GET /a
301 to /b
301 to /
final: 200, 2 hops
चेन बनेगी या नहीं, यह अकेले बनाने का क्रम तय करता है। बल्क इम्पोर्ट पंक्तियों को फ़ाइल के क्रम में लागू करते हैं, और माइग्रेशन फ़ाइलें इससे बचने के लिए शायद ही कभी छाँटी जाती हैं, इसलिए इस बचाव के भरोसे योजना नहीं बनानी चाहिए। किसी भी बड़े इम्पोर्ट के बाद अपने रीडायरेक्ट का नमूना लें और हॉप गिनें:
curl -sIL https://yourstore.com/old-path -o /dev/null -w "hops: %{num_redirects}
"
1 से ज़्यादा कुछ भी चेन है।
रीडायरेक्ट चेन क्या होती हैं?
रीडायरेक्ट चेन तब बनती है जब एक URL दूसरे URL पर भेजा जाता है, और वह आगे किसी तीसरे URL पर, जिससे रीडायरेक्ट का एक क्रम या “चेन” बन जाती है। समय के साथ बिना सही प्रबंधन के कई रीडायरेक्ट बनाते रहने पर यह अनजाने में हो जाता है।
रीडायरेक्ट चेन इसलिए परेशानी की वजह हैं क्योंकि वे पेज लोड धीमा कर सकती हैं, SEO पर बुरा असर डाल सकती हैं, और उपयोगकर्ता का अनुभव बिगाड़ सकती हैं। हर अतिरिक्त रीडायरेक्ट देरी बढ़ाता है, क्योंकि ब्राउज़र को अंतिम गंतव्य तक पहुँचने से पहले चेन का हर कदम पार करना पड़ता है।
उदाहरण के लिए, अगर आपने ये रीडायरेक्ट बनाए हैं:
/old-page redirects to /new-page
/new-page redirects to /latest-page
तो जब कोई उपयोगकर्ता /old-page पर जाता है, उसे पहले /new-page पर भेजा जाता है और फिर तुरंत /latest-page पर, जिससे रीडायरेक्ट चेन बन जाती है।
Shopify पर रीडायरेक्ट बनाते समय पालन करने लायक नए नियम
हमारे परीक्षणों की सबसे बड़ी खोज यह है कि Shopify का दस्तावेज़ीकरण पुराना पड़ चुका है, और उसके नीचे का असली नियम आरक्षित प्रीफ़िक्स की उस दर्ज सूची से कहीं सरल है।
असली स्टोरफ़्रंट रूट हमेशा रीडायरेक्ट पर भारी पड़ता है। जहाँ किसी URL पर सचमुच कोई पेज मौजूद है, Shopify वही पेज परोसता है और रीडायरेक्ट को अनदेखा कर देता है। रिकॉर्ड स्वीकार होता है, आपकी रीडायरेक्ट टेबल में बैठा रहता है, और कुछ नहीं करता। न एरर, न चेतावनी। प्रीफ़िक्स कारक नहीं है। रूट का अस्तित्व कारक है:
/products/ai-skillset-package-001 -> 200, the product page
/products/zz20260727 -> 301, the redirect fires
एक ही प्रीफ़िक्स, उल्टा नतीजा। यह आपके स्टोर के हर जीवित प्रोडक्ट, कलेक्शन, पेज और ब्लॉग आर्टिकल पर लागू होता है, न कि सिर्फ़ उन चार पाथ पर जिनका Shopify ज़िक्र करता है। प्रकाशित प्रोडक्ट URL पर लगा रीडायरेक्ट तब तक निष्क्रिय रहता है जब तक वह प्रोडक्ट खुलना बंद न कर दे, इसलिए माइग्रेशन में क्रम मायने रखता है: पहले पुराना संसाधन अनपब्लिश या डिलीट करें, फिर पुष्टि करें कि रीडायरेक्ट चल रहा है।
Shopify के अनुसार, अगर आप इन आरक्षित प्रीफ़िक्स से शुरू होने वाली किसी चीज़ को रीडायरेक्ट करना चाहते हैं, तो आपके रीडायरेक्ट नियम बनेंगे ही नहीं:
/apps
/application
/cart
/carts
/orders
/services
/products
/collections
/collections/all
हमने पाया कि यह सही नहीं है।
/apps/application/carts/orders/services/cart/people
Cart अपवाद रहा। यह अपने आप में आरक्षित है, और इसके बाद कोई सबडायरेक्टरी आते ही काम करने लगता है।
/cart/products/collections/collections/all
/cart/people/carts/people/products/people/collections/people
/cart/products/collections/collections/all
इस समूह में /services अपवाद है, और यह बाकी सबसे उल्टा बर्ताव करता है। खुद /services पर लगा रीडायरेक्ट 301 लौटाता है। उसके नीचे किसी भी चीज़ पर लगा रीडायरेक्ट, जैसे /services/consulting, 404 लौटाता है, हालाँकि रिकॉर्ड बिना किसी शिकायत के सेव हो जाता है। प्रोपेगेशन की देरी को बाहर करने के लिए हमने यह लगभग 45 सेकंड में चार बार दोबारा परखा, और पूरे समय रिकॉर्ड टेबल में मौजूद था। इस समूह का हर दूसरा प्रीफ़िक्स सबडायरेक्टरी के साथ काम करता रहा।
संभावित वजह यह है कि Shopify ऐप प्रॉक्सी और सिस्टम एंडपॉइंट के लिए /services/* को भीतर ही रूट कर देता है, इसलिए वे रिक्वेस्ट रीडायरेक्ट टेबल तक पहुँचती ही नहीं, हालाँकि हमने यह तंत्र सीधे सत्यापित नहीं किया। अगर आप /services/ वाले सेक्शन वाली साइट माइग्रेट कर रहे हैं, तो उनमें से कोई रीडायरेक्ट नहीं चलेगा। उन्हें किसी दूसरे पाथ ढाँचे पर ले जाएँ, या अपने DNS या प्रॉक्सी लेयर पर संभालें।
Shopify पर URL रीडायरेक्ट बनाना और अपडेट करना आसान है
Shopify पर नया रीडायरेक्ट बनाना सरल है। वे उपयोगकर्ताओं को दो विकल्प देते हैं:
- एक-एक करके अलग URL रीडायरेक्ट बनाना
- CSV फ़ाइल से बल्क रीडायरेक्ट बनाना, उस इम्पोर्ट का नवीनतम टेम्पलेट यहाँ है।
Shopify के सिस्टम में URL जोड़ते समय उपयोगकर्ता स्रोत (from) के लिए रिलेटिव URL पाथ डाल सकते हैं, बिना टॉप लेवल डोमेन के, और गंतव्य (to) के लिए एब्सोल्यूट या रिलेटिव, दोनों तरह के पाथ। उदाहरण:
/example_product.php
अलग-अलग URL रीडायरेक्ट बनाना
Shopify के रीडायरेक्ट नियम आपको एकल रीडायरेक्ट इंटरफ़ेस से एक ही URL रीडायरेक्ट दो बार नहीं बनाने देंगे।
एक बार कोई URL ‘Redirect from’ टेबल में आ जाए, तो उसे दोबारा जोड़ने पर आपको एरर मिलेगा।
अगर आपको वह एकल URL रिकॉर्ड अपडेट करना है, तो उसे रीडायरेक्ट टेबल में खोजना होगा, या बल्क इम्पोर्ट का तरीका अपनाना होगा। अगर पहले से मौजूद कोई URL बल्क इम्पोर्ट फ़ाइल में शामिल है, तो उस रिकॉर्ड का ‘Redirect to’ फ़ील्ड CSV फ़ाइल के मान से अपडेट हो जाएगा।
हमारी सलाह है कि रीडायरेक्ट हमेशा संभालने लायक, कारगर बैच में इम्पोर्ट करें। उदाहरण के लिए, अगर आपके पास 10,000 URL रीडायरेक्ट हैं, तो एक बार में 1,000 इम्पोर्ट करें और समय हो तो उन्हें जाँच लें। बड़े डेटासेट में गलतियाँ खोजते रहने से बेहतर है कि उन्हें छोटे डेटासेट में ही पकड़ लिया जाए।
Shopify में बल्क URL रीडायरेक्ट सोच-समझकर करें
बल्क रीडायरेक्ट बनाने के लिए CSV फ़ाइल में Shopify द्वारा माँगे गए हेडर भरें, 1:1 मैपिंग बनाएँ, और यह पक्का करें कि सभी URL रिलेटिव पाथ के रूप में हों। अगर आपने ‘Redirect from’ या ‘Redirect to’ में से किसी भी फ़ील्ड में एब्सोल्यूट पाथ वाली फ़ाइल बनाई, तो Shopify मामला अपने हाथ में ले लेगा। कुछ स्थितियाँ देखिए:
https://www.wislr.com/path/to/resource%20with
/path/to/resource%20with
www.wislr.com/unicode/test?value=%E2%9C%93%20co.wislr.com/mix/of%20encoded
/www.wislr.com/unicode/test?value=%E2%9C%93%20/co.wislr.com/mix/of%20encoded
wislr.com/nested/directory/structure?param1=value1
/wislr.com/nested/directory/structure?param1=value1
सीख यह है कि इम्पोर्ट फ़ाइल इस्तेमाल करने से पहले उसे दोबारा जाँच लें। वरना आप ऐसे URL रीडायरेक्ट नियम बना बैठेंगे जो आपकी ज़रूरत के मुताबिक काम नहीं करते।
अगर कोई रीडायरेक्ट रिकॉर्ड पहले से टेबल में है और वही मान इम्पोर्ट फ़ाइल में भी हैं, तो Shopify उस रिकॉर्ड को इम्पोर्ट फ़ाइल के सबसे ताज़ा डेटा से अपडेट कर देगा। हमारी राय में यह बेहद उपयोगी है, बशर्ते आप उस रिकॉर्ड को अपडेट करना चाहते हों। डेटा दोबारा जाँचने की एक और वजह यही है।
Shopify प्रति फ़ाइल पंक्तियों की कोई सीमा लागू नहीं करता। 1,051 पंक्तियों वाला एक इम्पोर्ट 48 सेकंड में शून्य विफलताओं के साथ पूरा हुआ, यानी लगभग 1,300 पंक्तियाँ प्रति मिनट।
लगभग 1,000 के बैच फिर भी काम के हैं, पर किसी सख्त सीमा की वजह से नहीं। छोटी फ़ाइलें ज़्यादा साफ़ ढंग से विफल होती हैं। अगर 20,000 पंक्तियों का इम्पोर्ट बिगड़ जाए तो आपको इसका बहुत कम अंदाज़ा होगा कि कौन सी पंक्तियाँ ज़िम्मेदार थीं, जबकि बीस फ़ाइलें चलाकर गिनतियाँ देखी होतीं तो पता चल जाता। हर इम्पोर्ट के बाद createdCount, updatedCount और failedCount पढ़ें, क्योंकि शून्य से बड़ा failedCount ही आपको मिलने वाला एकमात्र संकेत है कि पंक्तियाँ छूट गईं।
रीडायरेक्ट टेबल में पहले से मौजूद पाथ का गंतव्य ऊपर लिख दिया जाता है और उसे updatedCount में गिना जाता है, जबकि उसका मूल रिकॉर्ड id वही रहता है। इससे CSV इम्पोर्ट दोबारा चलाना सुरक्षित हो जाता है, जो माइग्रेशन के बीच काम आता है। इसका मतलब यह भी है कि पुरानी फ़ाइल पिछले इम्पोर्ट के बाद आपके हाथ से किए गए सुधारों को चुपचाप मिटा देगी।
रीडायरेक्ट मैप हमसे बनवाइए।
हमने 100 से ज़्यादा माइग्रेशन में रीडायरेक्ट मैप किए हैं, जिनमें Shopify Plus पर 27,000 URL का एक मूव भी शामिल है। हम फ़ाइल बनाते हैं और इम्पोर्ट से पहले उसे इस पेज की हर सीमा पर परखते हैं। कटओवर के बाद हम रीडायरेक्ट टेबल पर भरोसा करने के बजाय लाइव जवाब खुद पढ़ते हैं।
URL रीडायरेक्ट रिकॉर्ड पर Shopify की सीमा
हर अच्छी चीज़ की एक हद होती है, और Shopify के रीडायरेक्ट नियम भी अलग नहीं हैं। URL रीडायरेक्ट के लिए दो सीमाएँ हैं।
Shopify प्लान (Plus नहीं):
अधिकतम 100,000 URL रीडायरेक्ट
ShopifyPlus प्लान:
अधिकतम 20,000,000 रीडायरेक्ट
हमने इन सीमाओं को नहीं परखा, वह तो हद ही हो जाती! ये प्लेटफ़ॉर्म के मौजूदा दर्ज विनिर्देश हैं। रीडायरेक्ट की योजना बनाते समय इन्हें ध्यान में रखें और ट्रैफ़िक तथा राजस्व के लिहाज़ से सबसे अहम URL को प्राथमिकता दें। हमारी जानकारी में सपोर्ट फ़ोरम की लगातार गुहार के बावजूद Shopify ये सीमाएँ नहीं बढ़ाता।
URL में कैरेक्टर पर Shopify की सीमा
Shopify के रीडायरेक्ट सिस्टम में मामला यहीं दिलचस्प होता है। Shopify के आधिकारिक दिशानिर्देश कैरेक्टर की कोई सख्त सीमा नहीं बताते।
रीडायरेक्ट के लिए URL कैरेक्टर की सीमा जाँचने के लिए हमने पहले बहुत लंबी स्ट्रिंग बनाईं और उन्हें इम्पोर्ट करने की कोशिश की। हमने 2,000 कैरेक्टर लंबे URL से शुरुआत की, क्योंकि ब्राउज़र 2,083 कैरेक्टर तक की URI रिक्वेस्ट संभाल लेते हैं। लीजिए, अपनी पूरी शान के साथ यह रही:
/2000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBcccccccccccccccccccccccccccccccccccccccccccccccccccDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
हमारा शुरुआती तरीका यह था कि बल्क रीडायरेक्ट टेम्पलेट से 2,000 कैरेक्टर वाला URL इम्पोर्ट किया जाए, और तभी Shopify के अलार्म बज उठे। हमें औपचारिक रूप से जो सीमा मिली वह है URL रीडायरेक्ट स्ट्रिंग के लिए 1,024 कैरेक्टर की सीमा, जिसमें आगे लगा स्लैश ‘/’ भी शामिल है।
- Passed 300 कैरेक्टर वाला URL
- Passed 600 कैरेक्टर वाला URL
- Passed 1,000 कैरेक्टर वाला URL
- Failed 2,000 कैरेक्टर वाला URL
Shopify के कुछ अहम और अलिखित रीडायरेक्ट नियम जो समझने चाहिए
Shopify आपकी URL स्ट्रिंग के अक्षरों को नॉर्मलाइज़ कर देगा। यानी आप बड़ा अक्षर डालें या छोटा, वह उन अलग-अलग रूपों की URL रिक्वेस्ट को एक ही तरह परोसेगा। नीचे दिए सभी URL एक ही पेज पर जाएँगे, भले ही अलग-अलग रिकॉर्ड मौजूद हों:
/CASE/TEST.html
/case/test.html
/Case/Test.html
लोअरकेस वाली स्ट्रिंग बाकी सब पर प्राथमिकता पाएगी:
/case/test.html
हमारे परीक्षणों में, “Redirect from” के दो अलग रिकॉर्ड होने और “Redirect to” के मान अलग होने के बावजूद, दोनों रिकॉर्ड के लिए हमेशा /about.html पेज ही परोसा गया:
#1
/Case/Test.html [redirect to] /homepage
#2
/case/test.html [redirect to] /about.html
यह दिलचस्प भी है और सिरदर्द भी कि Shopify आपको ये सारे अलग मान रीडायरेक्ट टेबल में डालने देता है और परोसता सिर्फ़ एक को है। अगर आपको लगता है कि आपकी URL टैक्सोनॉमी इन पैटर्न में आ सकती है, तो Shopify में इम्पोर्ट करने से पहले अपने डेटा की सावधानी से समीक्षा कर लें।
Shopify रीडायरेक्ट के लिए आप एब्सोल्यूट URL पाथ इस्तेमाल कर सकते हैं
हमारे परीक्षण में रीडायरेक्ट के लिए एब्सोल्यूट URL पाथ ठीक निकले, बशर्ते वे “Redirects to” फ़ील्ड में हों। वे किसी भी मनचाहे URL तक जा सकते हैं। यह एक उदाहरण है जहाँ माँगे जाने पर एक URL पाथ किसी LinkedIn प्रोफ़ाइल पर भेज देता है:
[Redirect from]
/Case/Test.html
[Redirect to]
https://www.linkedin.com/wislr
साथ ही, “Redirect to” फ़ील्ड में Shopify टॉप लेवल डोमेन नहीं हटाता, भले ही वह आपके अपने Shopify स्टोर का ही क्यों न हो।
पैरामीटर वाले URL
हमारे परीक्षणों में Shopify ने पैरामीटर वाले URL को बनाए रखा, कुछ अपवादों के साथ। अगर आपके पास ऐसे URL हैं जो कई अनोखी पैरामीटर स्ट्रिंग के साथ इंडेक्स हो चुके हैं, तो वे अनोखी स्ट्रिंग Shopify की रीडायरेक्ट टेबल में जोड़ी जा सकती हैं और अलग-अलग गंतव्यों पर जा सकती हैं। यह परीक्षण हमने इस तरह के URL की एक आम टैक्सोनॉमी, यानी UTM पैरामीटर, के साथ किया। उदाहरण के लिए:
यह URL स्ट्रिंग रीडायरेक्ट टेबल के “Redirect from” फ़ील्ड में थी और अपने इच्छित गंतव्य पर पहुँची:
/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google&utm_term=redirects
हमने URL स्ट्रिंग बदलकर आख़िरी पैरामीटर ‘&utm_term=redirects’ हटाया, जिससे 404 आ गया:
/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google
यह व्यवहार अलग-अलग पैरामीटर मानों के साथ दूसरे परीक्षणों में भी दोहराया गया, जिससे पुष्टि हुई कि Shopify पैरामीटर वाले URL को शाब्दिक स्ट्रिंग की तरह लेता है। अगर आप रीडायरेक्ट URL से कोई पैरामीटर हटा दें तो वे URL को घटाकर बेस URL तक नहीं ले जाते, बशर्ते वह URL Shopify साइट पर मौजूद न हो।
इसकी और पुष्टि के लिए हमने एक URL को उसी की ओर इशारा कराया, जिसकी Shopify डिफ़ॉल्ट रूप से अनुमति नहीं देता। आपको यह संदेश मिलेगा:
पैरामीटर “Redirect from” फ़ील्ड में हों तो यह प्रविष्टि स्वीकार होती है। यह रीडायरेक्ट लूप नहीं मानी जाती, पर ब्राउज़र में दिखे व्यवहार के आधार पर हमारे परीक्षण से पता चला कि Shopify इस रिकॉर्ड को अनदेखा कर देता है। जब “Redirect from” वाला URL माँगा जाता है, तो Shopify पूरी पैरामीटर वाली URL स्ट्रिंग परोसता है, न कि टेबल के अनुसार अपेक्षित रूट पेज:
यह प्रविष्टि स्वीकार तो होती है, पर Shopify लोड होने वाले पेज में पैरामीटर नहीं जोड़ेगा, जैसा नियम से उम्मीद है। वे सिर्फ़ रूट URL ही लोड करेंगे।
यह पैरामीटर वाले स्रोत पाथ पर लागू होता है। जहाँ रीडायरेक्ट के स्रोत पाथ में अपने कोई पैरामीटर नहीं होते, वहाँ रिक्वेस्ट पर जो भी आता है वह गंतव्य तक पहुँचा दिया जाता है:
GET /old-page -> 301 to /new-page
GET /old-page?utm_source=x -> 301 to /new-page?utm_source=x
रीडायरेक्ट आपके लिए पैरामीटर नहीं हटाएँगे। उन्हें हटाने का काम Shopify के ऊपर की किसी परत में करना होगा।
मिलान भी शाब्दिक स्ट्रिंग तुलना नहीं है। Shopify तुलना से पहले सहेजे गए रिकॉर्ड और आने वाली रिक्वेस्ट, दोनों को नॉर्मलाइज़ करता है, इसलिए बड़े-छोटे अक्षर और पैरामीटर का क्रम मायने नहीं रखते। /page?doe&name=john के रूप में सहेजे गए रिकॉर्ड के सामने ?name=John&Doe, ?Doe&name=John और ?name=john&doe, तीनों 301 लौटाते हैं। मायने यह रखता है कि कौन से पैरामीटर मौजूद हैं: सहेजे गए पाथ का हर पैरामीटर रिक्वेस्ट में आना चाहिए, और एक भी छूटने पर आंशिक मिलान के बजाय 404 मिलता है।
पैरामीटर वाले URL पर हमारा आख़िरी अवलोकन यह है कि कुछ मामलों में Shopify आपके दिए डेटा को फिर से लिख देता है। जी हाँ, कुछ पैरामीटर के लिए Shopify आपके दिए URL डेटा को फिर से लिख देगा।
हमारे परीक्षणों में यह पैटर्न इन उदाहरणों में मिला।
Shopify में डाला गया मूल रीडायरेक्ट डेटा:
/test?name=John&Doe
Shopify ने स्ट्रिंग को फिर से लिखकर ‘doe’ को पहले रखा और उसे लोअरकेस कर दिया:
/test?doe&name=john
कुंजियों के साथ-साथ मान भी लोअरकेस कर दिए जाते हैं, इसलिए रीडायरेक्ट टेबल को उसी फ़ाइल से मिलाकर देखने पर लगेगा कि इम्पोर्ट ने डेटा बिगाड़ दिया।
Shopify में डाला गया मूल रीडायरेक्ट डेटा:
/user?name=John&age=30&active=true
Shopify ने स्ट्रिंग को फिर से लिखकर पैरामीटर का नया क्रम बना दिया:
/user?active=true&age=30&name=John
हमारे परीक्षणों से लगता है कि Shopify पैरामीटर को वर्णक्रम में लगाने की कोशिश कर रहा है। हमें लगा कि शायद यह कोई बग है, क्योंकि हम तय कर चुके थे कि Shopify पैरामीटर वाले URL को शाब्दिक स्ट्रिंग मानता है, तो फिर पैरामीटर का क्रम बदलकर उसी नियम को कमज़ोर क्यों करना। फ़िलहाल कई पैरामीटर मानों वाली URL स्ट्रिंग अपना ढाँचा कभी बनाए नहीं रख पाएँगी। कुछ कंटेंट मैनेजमेंट सिस्टम के लिए इसके बड़े नतीजे हो सकते हैं।
Shopify के URL रीडायरेक्ट UX में सुधार ज़रूरी है
Shopify के रीडायरेक्ट टूल के लंबे इस्तेमाल के दौरान हमें कुछ चीज़ें पसंद आईं और कुछ की कमी खली।
ये सुविधाएँ हमें पसंद आईं:
- बल्क रीडायरेक्ट इम्पोर्ट के बटन और उनकी कार्यक्षमता
- URL टैक्सोनॉमी के लिए फ़िल्टर और तेज़ खोज
- URL का एक्सपोर्ट
- एक URL बनाने की आसानी
टूल में इन आँकड़ों और सुविधाओं की कमी हमें लगी:
- इम्पोर्ट किए गए URL की कुल संख्या
- सिस्टम में एक से ज़्यादा URL कॉपी-पेस्ट करने का आसान तरीका। एक बार में एक से ज़्यादा URL जोड़ना हो तो इम्पोर्ट दस्तावेज़ इस्तेमाल करना ही पड़ता है। कॉपी-पेस्ट का एक उपयोगी मामला यह होता है जब URL का पूरा समूह एक ही गंतव्य पर भेजना हो।
इम्पोर्ट तेज़ है, इम्पोर्ट को पलटना नहीं
बल्क में रीडायरेक्ट बनाना तेज़ है। उन्हें बल्क में हटाना नहीं, और यह फ़र्क़ इतना बड़ा है कि इम्पोर्ट की योजना ही बदल जाती है।
| कार्य | तरीका | जो देखा गया |
|---|---|---|
| 1,051 रीडायरेक्ट बनाना | CSV इम्पोर्ट, एक ही फ़ाइल | 48 सेकंड |
| 1,051 रीडायरेक्ट हटाना | urlRedirectDelete, एक बार में एक |
226 सेकंड |
तेज़ बल्क डिलीट म्यूटेशन पर पाबंदी है। urlRedirectBulkDeleteBySearch, urlRedirectBulkDeleteByIds और urlRedirectBulkDeleteAll, तीनों के लिए write_online_store_navigation स्कोप और एक सक्रिय यूज़र सेशन ज़रूरी है। क्लाइंट क्रेडेंशियल से प्रमाणित होने वाला ऐप, और ज़्यादातर माइग्रेशन स्क्रिप्ट इसी तरह चलती हैं, इन्हें कॉल नहीं कर सकता और एक-एक रिकॉर्ड हटाता रह जाता है।
अपने इम्पोर्ट की योजना यह मानकर बनाएँ कि उन्हें पलटना मुश्किल है, क्योंकि है। पहले किसी डेवलपमेंट स्टोर पर फ़ाइल जाँचें, या उतने ही हिस्सों में इम्पोर्ट करें जिन्हें आप हाथ से वापस लेने को तैयार हों। 50,000 पंक्तियों की अनजाँची फ़ाइल इस भरोसे पर मत चढ़ाइए कि उसे जल्दी से वापस लिया जा सकेगा।
CSV इम्पोर्ट और Admin API डुप्लिकेट को अलग-अलग तरह संभालते हैं
यह गाइड CSV वर्कफ़्लो के इर्द-गिर्द लिखी गई है, जहाँ डुप्लिकेट पाथ मौजूदा रिकॉर्ड को अपडेट कर देता है। API इसका उल्टा करता है:
create /existing-path -> /pages/about
(where /existing-path already redirects to /)
REJECTED: "Path has already been taken"
जो कोई CSV वर्कफ़्लो को Admin API पर ले जा रहा है, उसे मौजूदा रिकॉर्ड के लिए क्वेरी करके urlRedirectUpdate कॉल करना होगा, या रिकॉर्ड हटाकर दोबारा बनाना होगा। इम्पोर्ट लॉजिक को सीधे उतार देने पर हर उस पाथ पर विफलता मिलेगी जो पहले से मौजूद है।
लॉन्च के बाद अपने Shopify रीडायरेक्ट कैसे जाँचें
ऊपर की हर बात यह बताती है कि Shopify क्या स्वीकार करेगा। इनमें से कोई भी यह नहीं बताती कि आपने जो रीडायरेक्ट इम्पोर्ट किए वे लाइव स्टोर पर सचमुच काम कर रहे हैं या नहीं, और वह अलग सवाल है। कोई रीडायरेक्ट साफ़-सुथरा इम्पोर्ट हो सकता है, एडमिन में दिख सकता है, और फिर भी वह न करे जिसकी आपने उम्मीद की थी, अगर रास्ते में कोई थीम, ऐप या प्रॉक्सी आ जाए।
ब्राउज़र में क्लिक करके घूमने के बजाय स्टोर के बाहर से जाँचें, क्योंकि ब्राउज़र वही चीज़ छिपा देता है जो आपको देखनी है: स्टेटस कोड। पुराना URL माँगें और रिस्पॉन्स हेडर पढ़ें।
curl -sIL https://yourstore.example/old-product-url
आउटपुट में तीन चीज़ें पढ़ें:
- पहले हॉप का स्टेटस कोड। आपको
301चाहिए।302अस्थायी होता है और मूल्य अलग तरह से पहुँचाता है, जो तब मायने रखता है जब पूरा मकसद ही स्थायी बदलाव हो। - हॉप की संख्या। आउटपुट में हर
HTTP/पंक्ति एक हॉप है। दो या उससे ज़्यादा का मतलब है कि आपने चेन बना दी, और इसका इलाज यह है कि बीच का कदम छोड़ने के बजाय मूल स्रोत को सीधे अंतिम गंतव्य पर मोड़ दें। - आख़िरी स्टेटस। आख़िरी पंक्ति
200होनी चाहिए। जो रीडायरेक्ट404पर खत्म होता है वह बिना रीडायरेक्ट के भी बुरा है, क्योंकि आपकी स्प्रेडशीट में वह निपटा हुआ दिखता है।
फिर उन रूपों को जाँचें जिन्हें भूल जाना आसान है। वही जाँच ट्रैकिंग पैरामीटर वाले URL पर चलाएँ ताकि पुष्टि हो कि क्वेरी स्ट्रिंग गंतव्य तक बची रहती है, www के साथ-साथ apex डोमेन पर चलाएँ, और सिर्फ़ https नहीं बल्कि सादे http पर भी। हमने ठीक यही एक लाइव स्टोर पर परखा और पैरामीटर पूरा का पूरा टारगेट तक पहुँचा, पर बात यह है कि किसी सामान्य जवाब पर भरोसा करने के बजाय इसे अपने स्टोर पर जाँचें, क्योंकि कोई थीम या ऐप नतीजा बदल सकता है।
घबराने से पहले एक व्यवहार जान लेना ज़रूरी है: रीडायरेक्ट बदलने या हटाने के बाद कोई Shopify edge node लगभग तीस सेकंड तक पुराना जवाब देता रह सकता है, जबकि उसी URL का कैश तोड़ने वाला रूप पहले ही नया जवाब लौटा रहा होता है। यह मान लेने से पहले कि रीडायरेक्ट लगा ही नहीं, एक मिनट दीजिए और URL के अंत में कोई अनोखी क्वेरी स्ट्रिंग जोड़कर दोबारा जाँचिए।
एक अकेले रीडायरेक्ट के बजाय माइग्रेशन के आसपास के पूरे क्रम के लिए वेबसाइट माइग्रेशन चेकलिस्ट देखें, जिसमें मैपिंग, लॉन्च के दिन और लॉन्च के बाद की निगरानी शामिल है, और यह गाइड उसी का हिस्सा है।
निष्कर्ष
301 रीडायरेक्ट संभालने के लिए Shopify के पास जो सिस्टम है वह ज़्यादातर कारोबारों के लिए अच्छा है, पर अभी एंटरप्राइज़ स्तर का नहीं है। हमें उम्मीद है कि समय के साथ वे इसमें वाइल्डकार्ड रीडायरेक्ट और अपने स्टैंडर्ड तथा Plus प्लान के लिए ज़्यादा रीडायरेक्ट रिकॉर्ड जोड़ेंगे। उनका रीडायरेक्ट सिस्टम इस्तेमाल करने की सहूलियत और URL के जितने प्रकार यह संभालता है, उन्हें देखते हुए हम उन्हें मज़बूत उपयोगिता स्कोर देते हैं।
अगर आपके प्रोजेक्ट में जटिल 301 रीडायरेक्ट मैपिंग शामिल है और आपको ऐसी टीम चाहिए जो इसी काम में रमी हो, तो हमसे संपर्क करें।
चेंजलॉग
यह गाइड पहली बार 19 जून 2024 के परीक्षणों से प्रकाशित हुई थी, और 27 जुलाई 2026 को एक लाइव Shopify स्टैंडर्ड प्लान स्टोर पर, Admin GraphQL API और लाइव स्टोरफ़्रंट रिक्वेस्ट, दोनों के ज़रिए दोबारा परखी गई। मूल निष्कर्षों में से ज़्यादातर टिके रहे। नौ नहीं टिके। ऊपर का लेख बताता है कि Shopify अब क्या करता है, और यहाँ दर्ज है कि क्या बदला।
2024 Shopify आपको रीडायरेक्ट चेन बनाने से रोकता है।
2026 बचाव सिर्फ़ एक दिशा जाँचता है। यह ऐसा रीडायरेक्ट अस्वीकार करता है जिसका गंतव्य पहले से किसी दूसरे का स्रोत हो, पर उल्टी दिशा नहीं, इसलिए /a से /b बनाकर बाद में /b से /c बनाने पर दो हॉप वाली जीवित चेन रह जाती है। चेन बनेगी या नहीं, यह अकेले बनाने का क्रम तय करता है।
/services प्रीफ़िक्स2024 /services रीडायरेक्ट के रूप में काम करता है, ठीक /apps, /carts और /orders की तरह।
2026 /services अकेले काम करता है और किसी भी सबडायरेक्टरी के साथ विफल हो जाता है। /services/consulting 404 लौटाता है, हालाँकि रिकॉर्ड सेव हो जाता है। उस समूह का हर दूसरा प्रीफ़िक्स सबडायरेक्टरी के साथ काम करता है।
2024 अकेले इस्तेमाल होने पर चार आरक्षित प्रीफ़िक्स अनदेखे रह जाते हैं: /cart, /products, /collections, /collections/all।
2026 अवलोकन टिके हैं, व्याख्या नहीं। असली स्टोरफ़्रंट रूट हमेशा रीडायरेक्ट पर भारी पड़ता है, और यह हर जीवित प्रोडक्ट, कलेक्शन, पेज और ब्लॉग आर्टिकल पर लागू होता है, चार पाथ की किसी सूची पर नहीं।
2024 लोड होने वाले URL में पैरामीटर कभी नहीं जोड़े जाते।
2026 यह सिर्फ़ पैरामीटर वाले स्रोत पाथ पर सच है। जहाँ स्रोत पाथ में अपने कोई पैरामीटर नहीं होते, वहाँ रिक्वेस्ट के पैरामीटर गंतव्य तक पहुँचा दिए जाते हैं।
2024 Shopify पैरामीटर वाले URL को शाब्दिक स्ट्रिंग की तरह लेता है।
2026 तुलना से पहले दोनों पक्ष नॉर्मलाइज़ किए जाते हैं, इसलिए बड़े-छोटे अक्षर और क्रम मायने नहीं रखते। सख्ती सिर्फ़ पैरामीटर के समुच्चय पर है, और एक भी छूटने पर 404 मिलता है।
2024 पैरामीटर वर्णक्रम में लगा दिए जाते हैं, और /test?name=John&Doe /test?Doe&name=John के रूप में सहेजा जाता है।
2026 वर्णक्रम की पुष्टि हुई, और बड़े-छोटे अक्षर बचाए नहीं जाते। वही पाथ /test?doe&name=john के रूप में सहेजा जाता है, जहाँ कुंजियों के साथ मान भी लोअरकेस हो जाते हैं।
2024 equals ऑपरेटर के बाद बिना एन्कोड किए सेमीकोलन वाली स्ट्रिंग Shopify सहेज नहीं पाता।
2026 यह ठीक से सहेजी जाती है और सेमीकोलन %3b के रूप में रखा जाता है। विफलता रिक्वेस्ट के समय होती है, और एन्कोडेड रूप माँगने पर 301 मिलता है।
2024 एक बार में 1,000 पंक्तियाँ इम्पोर्ट करें।
2026 यह कोई सीमा नहीं है। 1,051 पंक्तियों वाली एक ही फ़ाइल 48 सेकंड में शून्य विफलताओं के साथ इम्पोर्ट हुई। बैच फिर भी अच्छी आदत हैं, क्योंकि छोटी फ़ाइलें ज़्यादा साफ़ ढंग से विफल होती हैं।
2024 Shopify वाइल्डकार्ड रीडायरेक्ट का समर्थन नहीं करता।
2026 यह अब भी सच है, और यह सिंटैक्स बिना किसी एरर के स्वीकार भी कर लेता है। तारांकन शाब्दिक कैरेक्टर के रूप में सहेजा जाता है, इसलिए जब तक ट्रैफ़िक 404 देना शुरू नहीं करता, कोई संकेत नहीं मिलता।
2026 1,051 रीडायरेक्ट बनाने में 48 सेकंड लगे। उन्हीं 1,051 को हटाने में 226 सेकंड लगे, क्योंकि बल्क डिलीट म्यूटेशन के लिए सक्रिय यूज़र सेशन ज़रूरी है और स्क्रिप्ट वाला टोकन उन्हें कॉल नहीं कर सकता।
2026 CSV इम्पोर्ट पहले से मौजूद पाथ को अपडेट कर देता है। Admin API उसे Path has already been taken कहकर अस्वीकार कर देता है, इसलिए इम्पोर्ट लॉजिक को सीधे उतार देने पर हर मौजूदा पाथ पर विफलता मिलती है।
हर रीडायरेक्ट 301 लौटाता है। 1,024 कैरेक्टर की पाथ सीमा में शुरुआती स्लैश शामिल है, जहाँ 1,027 अस्वीकार और 1,015 स्वीकार हुए। अक्षरों का केस नॉर्मलाइज़ होता है और लोअरकेस को प्राथमिकता मिलती है। बल्क इम्पोर्ट प्रोटोकॉल और डोमेन हटाकर रिलेटिव पाथ छोड़ देता है, जबकि गंतव्य फ़ील्ड बाहरी एब्सोल्यूट URL ज्यों का त्यों रखता है। बदलाव के बाद कोई edge node लगभग तीस सेकंड तक बासी जवाब परोस सकता है।
रिकॉर्ड की सीमाएँ, स्टैंडर्ड प्लान पर 100,000 और Plus पर 20,000,000, दोबारा नहीं परखी गईं। इम्पोर्ट पाइपलाइन की गति नाप लेने के बाद इन तक पहुँचना यंत्रवत संभव है, पर डिलीट लगभग 280 रिकॉर्ड प्रति मिनट की रफ़्तार से चलता है और स्क्रिप्ट से कोई बल्क अनडू नहीं है, इसलिए एक दर्ज आँकड़े की पुष्टि करने का मतलब होगा कि एक लाइव स्टोर छह घंटे या उससे ज़्यादा समय तक कचरा रीडायरेक्ट ढोता रहे।
अक्सर पूछे जाने वाले सवाल
WISLR का Shopify URL रीडायरेक्ट नॉलेज बेस किसके लिए बनाया गया है?
हमारा नॉलेज बेस मुख्य रूप से उन ब्रांड्स और एजेंसियों की मदद करता है जो Shopify पर साइट माइग्रेशन कर रहे हैं। यह उन छोटी टीमों के लिए खास तौर पर उपयोगी है जिन्हें हर घंटे का हिसाब रखना है, और यह क्लाइंट्स को 100,000 तक URL रीडायरेक्ट कुशलता से मैप और पूरे करने में मदद करता है।
क्या Shopify के पास URL रीडायरेक्ट के लिए कोई आधिकारिक सपोर्ट दस्तावेज़ है?
हाँ, Shopify help.shopify.com पर URL रीडायरेक्ट के लिए एक आधिकारिक हेल्प दस्तावेज़ रखता है। वह अलग-अलग और बल्क 301 रीडायरेक्ट जोड़ने के सामान्य दिशानिर्देश देता है, जबकि हमारी गाइड उसमें URL के प्रकारों और प्लेटफ़ॉर्म की सीमाओं का विस्तृत ब्यौरा जोड़ती है।
Shopify किन URL स्ट्रिंग्स का समर्थन नहीं करता?
Shopify में सिर्फ़ एक URL स्ट्रिंग फ़ॉर्मैट असमर्थित है: equals ऑपरेटर के बाद बिना एन्कोड किए सेमीकोलन वाली स्ट्रिंग (जैसे /page?param=;semicolon)। बाकी सभी URL फ़ॉर्मैट समर्थित हैं, जिनमें एन्कोडेड सेमीकोलन और दूसरी जगहों पर आए सेमीकोलन भी शामिल हैं।
क्या Shopify वाइल्डकार्ड या regex वाले रीडायरेक्ट का समर्थन करता है?
नहीं, Shopify अपने नेटिव रीडायरेक्ट सिस्टम में फ़िलहाल वाइल्डकार्ड रीडायरेक्ट या regex पैटर्न का समर्थन नहीं करता। यह सीमा स्टैंडर्ड Shopify और Shopify Plus, दोनों तरह के स्टोर पर लागू है।
वाइल्डकार्ड रीडायरेक्ट क्या होते हैं?
वाइल्डकार्ड रीडायरेक्ट आपको किसी खास पैटर्न से मेल खाने वाले कई URL को एक ही गंतव्य पर भेजने देते हैं। उदाहरण के लिए, /blog/* के तहत आने वाले सभी URL को /articles/* पर भेजना। यह सुविधा अक्सर माँगी जाती है, पर फ़िलहाल Shopify की नेटिव कार्यक्षमता में उपलब्ध नहीं है।
क्या Shopify रीडायरेक्ट चेन बनने से रोक सकता है?
हाँ, Shopify में रीडायरेक्ट चेन रोकने के लिए भीतर ही बचाव मौजूद हैं। सिस्टम आपको ऐसे URL पर रीडायरेक्ट नहीं बनाने देगा जिसे पहले से कहीं और भेजा जा रहा हो।
रीडायरेक्ट चेन क्या होती हैं?
रीडायरेक्ट चेन तब बनती है जब URL अंतिम गंतव्य तक पहुँचने से पहले कई चरणों से होकर गुज़रते हैं (जैसे A→B→C)। ये चेन पेज लोड धीमा कर सकती हैं और SEO प्रदर्शन पर असर डाल सकती हैं। Shopify का सिस्टम डिज़ाइन के स्तर पर इन्हें रोकने में मदद करता है।
क्या Shopify पर URL रीडायरेक्ट बनाना और अपडेट करना आसान है?
हाँ, Shopify दो सीधे तरीके देता है: इंटरफ़ेस से एक-एक URL रीडायरेक्ट बनाना, और CSV फ़ाइल से बल्क इम्पोर्ट। दोनों तरीके रिलेटिव और एब्सोल्यूट, दोनों तरह के URL पाथ स्वीकार करते हैं।
Shopify में बल्क URL रीडायरेक्ट कैसे बनाएँ?
बल्क रीडायरेक्ट Shopify के CSV इम्पोर्ट टूल से बनाए जा सकते हैं। हमारी सलाह है कि आसान जाँच और प्रबंधन के लिए 1,000 के बैच में इम्पोर्ट करें। इम्पोर्ट का टेम्पलेट यहाँ उपलब्ध है।
क्या Shopify में URL रीडायरेक्ट रिकॉर्ड की कोई अधिकतम सीमा है?
हाँ। स्टैंडर्ड Shopify प्लान 100,000 URL रीडायरेक्ट तक सीमित हैं, जबकि Shopify Plus स्टोर 20,000,000 तक रीडायरेक्ट संभाल सकते हैं। ये सीमाएँ तय हैं और बढ़ाई नहीं जा सकतीं।
क्या Shopify में रीडायरेक्ट के लिए कैरेक्टर की सीमा है?
हाँ, Shopify URL रीडायरेक्ट स्ट्रिंग के लिए 1,024 कैरेक्टर की सीमा लागू करता है, जिसमें शुरुआती स्लैश (’/’) भी गिना जाता है। इससे लंबे URL सिस्टम स्वीकार नहीं करेगा।
क्या Shopify के साथ URL की अनुकूलता जाँचने के लिए कोई टूल है?
Shopify कोई आधिकारिक वैलिडेशन टूल नहीं देता, पर हमारे विस्तृत परीक्षण में मानक URL फ़ॉर्मैट में से 99% समर्थित निकले। ध्यान देने लायक मुख्य बातें 1,024 कैरेक्टर की सीमा और equals ऑपरेटर के बाद बिना एन्कोड किए सेमीकोलन से बचना हैं।