ब्राउज़र जो कोड डाउनलोड करता है उसका हर अक्षर पेज के साइज़ में जुड़ता है, और CSS व JavaScript को मिनिफ़ाई करना उसे घटाने के सबसे आसान तरीकों में से एक है। मिनिफ़िकेशन कोड फ़ाइलों से वह सब कुछ हटा देता है जो चलाने के लिए ब्राउज़र को असल में नहीं चाहिए। स्पेस, लाइन ब्रेक, कमेंट और लंबे वेरिएबल नाम, जो कोड को डेवलपर के लिए पढ़ने लायक बनाते हैं, सब हटा दिए जाते हैं, और कोड के काम करने का तरीका बदले बिना फ़ाइल का साइज़ घट जाता है। इस लेख में बताया गया है कि मिनिफ़िकेशन क्या करता है, CSS और JavaScript के लिए यह कैसे काम करता है, यह आमतौर पर फ़ाइल साइज़ कितना घटाता है, और अपनी वेबसाइट पर इसे कैसे चालू करें।
कोड फ़ाइलें इस तरह लिखी जाती हैं कि डेवलपर उन्हें संभाल सकें। इसका मतलब है कि उनमें इंडेंटेशन होता है, वे पढ़ने लायक लाइनों में बंटी होती हैं, कमेंट से समझाई गई होती हैं, और समझ में आने वाले नामों से बनी होती हैं। जब डेवलपर कोड पढ़ता या एडिट करता है, तब यह सब काम का है। जब ब्राउज़र उसे पार्स करके चलाता है, तब इनमें से कुछ भी काम का नहीं। मिनिफ़िकेशन इंसानों के पढ़ने वाले ये अतिरिक्त हिस्से हटाकर छोटी फ़ाइल बनाता है जिसे ब्राउज़र ठीक उसी तरह प्रोसेस करता है। फ़ाइल साइज़ लोडिंग स्पीड में कैसे योगदान देता है, इसके संदर्भ के लिए पेज लोड टाइम क्या है और इसे कैसे मापा जाता है वाला लेख देखें।
मिनिफ़िकेशन कोड फ़ाइलों से असल में क्या हटाता है?
जब आप CSS और JavaScript मिनिफ़ाई करते हैं, तो आउटपुट इंसान को पढ़ने लायक नहीं दिखता पर काम में मूल जैसा ही होता है। यह हटाया जाता है।
व्हाइटस्पेस और लाइन ब्रेक
- डेवलपर स्पेस और लाइन ब्रेक इसलिए इस्तेमाल करते हैं कि कोड देखने में व्यवस्थित और स्कैन करने में आसान रहे
- ब्राउज़र व्हाइटस्पेस को ग़ैर-ज़रूरी मानते हैं और पार्सिंग के दौरान उसे पूरी तरह छोड़ देते हैं
- आम CSS फ़ाइल से सिर्फ़ व्हाइटस्पेस हटाने से ही वह 15 से 25 प्रतिशत घट जाती है
कमेंट
- कमेंट कोड में लिखे नोट हैं जो बताते हैं कि हिस्से क्या करते हैं, किसने लिखे, या आखिरी बार कब अपडेट हुए
- ब्राउज़र इन्हें पूरी तरह नज़रअंदाज़ करता है
- अच्छे कमेंट वाले कोडबेस में हर फ़ाइल का काफ़ी हिस्सा कमेंट घेर सकते हैं, जो परोसे जाने वाले वर्शन में सब बेकार हैं
लंबे वेरिएबल और फ़ंक्शन नाम
- JavaScript में डेवलपर वेरिएबल और फ़ंक्शन के ऐसे नाम रखते हैं कि कोड खुद समझ में आए।
calculateTotalOrderPriceयाuserSessionDurationजैसे नाम मतलब साफ़ बताते हैं - मिनिफ़ायर इन्हें
aयाbजैसे छोटे विकल्पों से बदल देते हैं, और कोड का काम नहीं बदलता - इसे नेम मैंगलिंग कहते हैं और यह व्हाइटस्पेस हटाने के बाद फ़ाइल साइज़ में सबसे बड़ी अतिरिक्त कमी लाता है
दोहराव वाले कोड पैटर्न
- कुछ मिनिफ़ायर कोड का ढांचा भी सरल करते हैं, यानी लंबे लॉजिकल एक्सप्रेशन को उसी नतीजे वाले छोटे एक्सप्रेशन से बदल देते हैं
- यह सिर्फ़ अक्षर हटाने से आगे जाता है और संक्षिप्त करने के लिए कोड के हिस्सों को दोबारा लिखता है, जिसे मिनिफ़िकेशन के साथ-साथ कभी-कभी कोड ऑप्टिमाइज़ेशन या अग्लिफ़िकेशन भी कहते हैं
CSS मिनिफ़ाई करना कैसे काम करता है?
CSS फ़ाइलें पेज के हर एलिमेंट की विज़ुअल बनावट तय करती हैं। वेबसाइट की आम CSS फ़ाइल में सैकड़ों या हज़ारों नियम होते हैं, जिनमें से हर एक रंग, साइज़, स्पेसिंग, फ़ॉन्ट और लेआउट का व्यवहार तय करता है।
CSS मिनिफ़ायर क्या करता है
- सेलेक्टर, प्रॉपर्टी और वैल्यू के बीच का सारा व्हाइटस्पेस हटाता है
- कमेंट हटाता है
- जहां संभव हो वहां शॉर्टहैंड प्रॉपर्टी में समेटता है
- नियम ब्लॉक के अंत की गैर-ज़रूरी सेमीकोलन हटाता है
- जहां उपलब्ध हो वहां रंग की वैल्यू को छोटे बराबर रूप में बदलता है
मिनिफ़ाई की हुई CSS कैसी दिखती है
- मूल: कई लाइनों में करीने से फ़ॉर्मेट की हुई, स्पेसिंग और सेक्शन के बीच कमेंट के साथ
- मिनिफ़ाई की हुई: सारे नियम एक या कुछ लाइनों में दबे हुए, प्रॉपर्टी, वैल्यू या सेलेक्टर के बीच कोई स्पेस नहीं
- ब्राउज़र में विज़ुअल नतीजा एक जैसा है। बस ब्राउज़र को परोसी जाने वाली फ़ाइल अलग है
CSS फ़ाइल साइज़ में आम कमी
- मिनिफ़िकेशन आमतौर पर CSS फ़ाइल साइज़ 20 से 30 प्रतिशत घटाता है
- जिन CSS फ़ाइलों में बहुत कमेंट हों या फ़ॉर्मेटिंग ढीली हो, उनमें और बड़ी कमी दिख सकती है
JavaScript मिनिफ़ाई करना कैसे काम करता है?
JavaScript फ़ाइलें पेज का इंटरैक्टिव व्यवहार संभालती हैं। ये CSS फ़ाइलों से बड़ी होती हैं और नेम मैंगलिंग के अतिरिक्त फ़ायदे की वजह से मिनिफ़िकेशन से ज़्यादा लाभ पाती हैं।
JavaScript मिनिफ़ायर क्या करता है
- सारा व्हाइटस्पेस, लाइन ब्रेक और कमेंट हटाता है
- वेरिएबल और फ़ंक्शन के नाम छोटे विकल्पों से बदलता है
- जहां संभव हो आउटपुट बदले बिना कोड का लॉजिक सरल करता है
- डेड कोड हटाता है, यानी कोड के वे हिस्से जहां कभी पहुंचा या जिन्हें चलाया नहीं जा सकता
JavaScript फ़ाइल साइज़ में आम कमी
- मिनिफ़िकेशन आमतौर पर JavaScript फ़ाइल साइज़ 30 से 50 प्रतिशत घटाता है
- जिन बड़ी JavaScript फ़ाइलों में काफ़ी कमेंट, समझ में आने वाले वेरिएबल नाम और लंबा लॉजिक हो, उनमें 60 प्रतिशत या उससे ज़्यादा कमी दिख सकती है
- जब JavaScript फ़ाइलें मुख्य थ्रेड में देरी करती हैं, तो वे Total Blocking Time में योगदान देती हैं। छोटी JavaScript फ़ाइलें तेज़ पार्स और एक्ज़ीक्यूट होती हैं, जिससे ब्लॉकिंग घटती है
क्या HTML भी मिनिफ़ाई हो सकता है?
हां, HTML भी मिनिफ़ाई हो सकता है, हालांकि फ़ायदा आमतौर पर CSS और JavaScript से छोटा होता है।
HTML मिनिफ़िकेशन क्या हटाता है
- HTML टैग के बीच का व्हाइटस्पेस
- HTML कमेंट
- वैकल्पिक क्लोज़िंग टैग और कोट्स, जहां ब्राउज़र उनका अंदाज़ा लगा सकते हैं
क्या आपको HTML मिनिफ़ाई करना चाहिए?
- जिन सर्वर-रेंडर्ड पेजों में बड़े HTML डॉक्यूमेंट बनते हैं, उनके लिए मिनिफ़िकेशन हर रिस्पॉन्स के साइज़ में अर्थपूर्ण कमी ला सकता है
- छोटे HTML वाले पेजों के लिए कमी मामूली होती है और उसे प्रोसेस करने की अतिरिक्त जटिलता के लायक अक्सर नहीं होती
- HTML मिनिफ़िकेशन CSS या JavaScript मिनिफ़िकेशन से कम चालू किया जाता है और आमतौर पर बिल्ड स्टेप की जगह सर्वर स्तर पर होता है
क्या मिनिफ़िकेशन वेबसाइट के दिखने या काम करने के तरीके को प्रभावित करता है?
सही तरह से मिनिफ़ाई किया गया कोड ब्राउज़र में मूल जैसा ही नतीजा देता है। ब्राउज़र को फ़ॉर्मेटिंग, कमेंट या वेरिएबल नामों की परवाह नहीं। वह लॉजिक प्रोसेस करता है और स्टाइल लगाता है, चाहे सोर्स कोड कैसे भी लिखा हो।
मिनिफ़िकेशन से समस्याएं कब हो सकती हैं
- खराब लिखे मिनिफ़ायर कभी-कभी सिंटैक्स एरर ला सकते हैं जो कोड का व्यवहार तोड़ दें
- जो JavaScript वेरिएबल नामों के किसी खास तरह बने रहने पर निर्भर है, वह नेम मैंगलिंग से नाम बदलने पर टूट सकती है
- जो थर्ड-पार्टी कोड मिनिफ़ाई होने के लिए नहीं बनाया गया था, उसे मिनिफ़ाई करने से कभी-कभार अनचाहा व्यवहार हो सकता है
मिनिफ़िकेशन की समस्याओं से कैसे बचें
- अपने बनाए हल लिखने की जगह जाने-माने, अच्छी तरह संभाले जाने वाले मिनिफ़िकेशन टूल इस्तेमाल करें
- मिनिफ़िकेशन चालू करने के बाद साइट टेस्ट करें ताकि पक्का हो कि सब कुछ उम्मीद के मुताबिक दिखता और चलता है
- डेवलपमेंट और एडिटिंग के लिए फ़ाइलों के मूल, बिना मिनिफ़ाई वर्शन रखें। विज़िटर को सिर्फ़ मिनिफ़ाई वर्शन परोसें
अपनी वेबसाइट की फ़ाइलें कैसे मिनिफ़ाई करें?
अपने वेबसाइट प्लेटफ़ॉर्म से
- कई वेबसाइट बिल्डर और कंटेंट मैनेजमेंट सिस्टम मिनिफ़िकेशन को बिल्ट-इन सेटिंग या परफ़ॉर्मेंस विकल्प के रूप में देते हैं
- इसे चालू करना आमतौर पर एक टॉगल का काम है, फ़ाइलें हाथ से प्रोसेस नहीं करनी पड़तीं
- यह सबसे सरल तरीका है और गैर-तकनीकी यूज़र के लिए सुझाई गई शुरुआत
प्लगइन या एक्सटेंशन से
- जो कंटेंट मैनेजमेंट सिस्टम प्लगइन सपोर्ट करते हैं, उनमें अक्सर बहुत इस्तेमाल होने वाले परफ़ॉर्मेंस प्लगइन होते हैं जो दूसरे स्पीड सुधारों के साथ मिनिफ़िकेशन भी देते हैं
- ये प्लगइन मिनिफ़िकेशन हर पेज रिक्वेस्ट के दौरान या तय समय पर चलने वाली प्रक्रिया के रूप में अपने आप संभालते हैं
बिल्ड प्रोसेस के हिस्से के रूप में
- कस्टम बनी वेबसाइटों पर काम करने वाली डेवलपमेंट टीमें आमतौर पर मिनिफ़िकेशन को बिल्ड पाइपलाइन के स्वचालित स्टेप के रूप में रखती हैं
- लोकप्रिय बिल्ड टूल बिल्ड प्रोसेस के दौरान JavaScript मिनिफ़ाई करते हैं। उसी वर्कफ़्लो में CSS मिनिफ़ायर भी जोड़े जा सकते हैं
- यह तरीका पक्का करता है कि हमेशा मिनिफ़ाई वर्शन ही डिप्लॉय हो, और रनटाइम पर कोई प्रोसेसिंग न चाहिए
मिनिफ़िकेशन स्पीड सुधारों के बड़े सेट का एक हिस्सा है। सभी मुख्य क्षेत्रों में वेबसाइट का लोडिंग टाइम घटाने की पूरी गाइड के लिए अपनी वेबसाइट का लोडिंग टाइम कैसे घटाएं वाला लेख देखें। मिनिफ़िकेशन Core Web Vitals स्कोर में, खासकर Total Blocking Time में, कैसे योगदान देता है, इसके लिए Core Web Vitals क्या हैं वाला लेख देखें। मिनिफ़िकेशन चालू करने के बाद नतीजे जांचने के लिए अपनी वेबसाइट की स्पीड कैसे टेस्ट करें वाला लेख देखें।
WEMASY मिनिफ़िकेशन को कैसे संभालता है
WEMASY का वेबसाइट बिल्डर विज़िटर को परोसी जाने वाली CSS और JavaScript फ़ाइलें अपने आप मिनिफ़ाई करता है। यह प्लेटफ़ॉर्म के स्तर पर, बिना किसी कॉन्फ़िगरेशन के होता है। मूल सोर्स फ़ाइलें प्लेटफ़ॉर्म की अपनी डेवलपमेंट प्रक्रिया के लिए अलग रखी जाती हैं, और विज़िटर के पेज लोड करने पर सिर्फ़ मिनिफ़ाई वर्शन परोसे जाते हैं।
मिनिफ़िकेशन बाकी स्वचालित स्पीड सुधारों के साथ शामिल है: इमेज कंप्रेशन, ब्राउज़र कैशिंग हेडर और CDN डिलीवरी। ये हर WEMASY प्लान के डिफ़ॉल्ट होस्टिंग सेटअप के हिस्से के रूप में साथ-साथ चलते हैं।
क्या-क्या शामिल है, यह WEMASY वेबसाइट बिल्डर पर देखें, या प्राइसिंग पेज पर प्लान के विकल्प देखें।
अक्सर पूछे जाने वाले सवाल
वेब डेवलपमेंट में मिनिफ़िकेशन क्या है?
मिनिफ़िकेशन कोड फ़ाइलों से गैर-ज़रूरी अक्षर हटाने की प्रक्रिया है, जिसमें स्पेस, लाइन ब्रेक, कमेंट और लंबे वेरिएबल नाम शामिल हैं, ताकि कोड के काम करने का तरीका बदले बिना फ़ाइल साइज़ घट जाए। मिनिफ़ाई की हुई CSS और JavaScript फ़ाइलें अपने मूल वर्शन से छोटी होती हैं और तेज़ डाउनलोड होती हैं, जिससे पेज लोड टाइम कम होता है। ब्राउज़र मिनिफ़ाई कोड को ठीक मूल की तरह प्रोसेस करता है। WEMASY के वेबसाइट बिल्डर से आप इसे सीधे अपनी वेबसाइट पर सेट कर सकते हैं।
मिनिफ़िकेशन फ़ाइल साइज़ कितना घटाता है?
CSS मिनिफ़िकेशन आमतौर पर फ़ाइल साइज़ 20 से 30 प्रतिशत घटाता है। JavaScript मिनिफ़िकेशन आमतौर पर फ़ाइल साइज़ 30 से 50 प्रतिशत घटाता है, और ज़्यादा कमेंट वाली या लंबी लिखी फ़ाइलों में और बड़ी कमी संभव है। सही कमी इस पर निर्भर करती है कि मूल कोड कैसे लिखा गया था: अच्छी तरह फ़ॉर्मेट की हुई, खूब कमेंट वाली फ़ाइलों में सबसे बड़ा फ़ायदा दिखता है, जबकि पहले से कसे हुए कोड में छोटा सुधार होता है।
क्या मिनिफ़िकेशन वेबसाइट के दिखने या काम करने का तरीका बदलता है?
नहीं। सही तरह से मिनिफ़ाई किया गया कोड ब्राउज़र में मूल बिना मिनिफ़ाई वर्शन जैसा ही विज़ुअल आउटपुट और व्यवहार देता है। कोड चलाने के लिए ब्राउज़र फ़ॉर्मेटिंग, कमेंट या वेरिएबल नामों पर निर्भर नहीं करता। वह लॉजिक प्रोसेस करता है और स्टाइल लगाता है। मिनिफ़िकेशन से समस्या सिर्फ़ तब हो सकती है जब वह कोई सिंटैक्स एरर ले आए या जब JavaScript संरक्षित वेरिएबल नामों पर ऐसे तरीके से निर्भर हो जो नेम मैंगलिंग से मेल न खाता हो।
क्या हर वेबसाइट पर CSS और JavaScript मिनिफ़ाई करना चाहिए?
हां, हर उस वेबसाइट के लिए जहां परफ़ॉर्मेंस मायने रखती है। मिनिफ़िकेशन कम जोखिम वाला सुधार है जिसका कोई दिखने वाला नुकसान नहीं और फ़ायदे लगातार मिलते हैं। जब वेबसाइट प्लेटफ़ॉर्म इसे अपने आप संभालता है, तब इसे लागू करना खास तौर पर आसान होता है। मुख्य बात यह पक्का करना है कि बिना मिनिफ़ाई सोर्स फ़ाइलें अलग सुरक्षित रहें ताकि डेवलपमेंट के दौरान कोड पढ़ा और एडिट किया जा सके।
मिनिफ़िकेशन और कंप्रेशन में क्या फ़र्क है?
मिनिफ़िकेशन कोड फ़ाइलों को परोसे जाने से पहले उनसे गैर-ज़रूरी अक्षर हमेशा के लिए हटा देता है। कंप्रेशन, जैसे Gzip या Brotli, डिलीवरी के बिंदु पर सर्वर लगाता है और ट्रांसफ़र के दौरान फ़ाइलों का साइज़ घटाता है। दोनों ब्राउज़र को भेजे जाने वाले डेटा की मात्रा घटाते हैं, पर अलग तरह से काम करते हैं और साथ में इस्तेमाल किए जा सकते हैं। मिनिफ़ाई की गई फ़ाइल जो ट्रांसफ़र के दौरान कंप्रेस भी हो, वह सिर्फ़ किसी एक तरीके वाली फ़ाइल से छोटी होती है।
क्या मिनिफ़िकेशन वेबसाइट को तोड़ सकता है?
दुर्लभ मामलों में हां। खराब तरह से लागू किए गए मिनिफ़िकेशन टूल सिंटैक्स एरर ला सकते हैं, और जो JavaScript खास वेरिएबल नामों के बने रहने पर निर्भर है, वह नेम मैंगलिंग के बाद अनचाहा व्यवहार कर सकती है। जाने-माने, अच्छी तरह संभाले जाने वाले टूल इस्तेमाल करने से यह जोखिम काफ़ी घटता है। मिनिफ़िकेशन चालू करने के बाद हमेशा साइट टेस्ट करें और समस्या सुलझाने या आगे के बदलावों के लिए मूल बिना मिनिफ़ाई सोर्स फ़ाइलें पहुंच में रखें।