Web Performance

अधिकांश साइटों पर वेब फ़ॉन्ट्स अब भी प्रदर्शन सुधारने का सबसे आसान अवसर हैं

Variable fonts के आने के पाँच साल बाद और WOFF2 के सार्वभौमिक होने के दस साल बाद भी, औसत साइट फ़ॉन्ट्स को गलत तरीके से लोड कर रही है। इसे सही करने का संक्षिप्त तरीका यहाँ है।

The Wux Webtools Team The Wux Webtools Team 2 मिनट पढ़ें
Editorial illustration of a single bold letter glyph with subtle weight axis lines, soft green palette
सामग्री की तालिका
  1. वह पैटर्न जो बार-बार दिखता है
  2. छह static fonts के बजाय एक variable font इस्तेमाल करें
  3. समझदारी से `font-display` सेट करें
  4. अपने fallback metrics मिलाएँ
  5. Self-host करें
  6. Custom fonts कब पूरी तरह छोड़ दें
  7. ईमानदार सारांश

वह पैटर्न जो बार-बार दिखता है

अगर आप आज किसी भी दस production websites का audit करें, तो उनमें से अधिकतर पर आपको लगभग वही font स्थिति मिलेगी:

  • Home page पर छह से दस font files लोड होती हैं
  • वे सभी WOFF2 में हैं (अच्छा), लेकिन कोई font-display रणनीति नहीं है (खराब)
  • कई weights और styles ऐसे हैं जो पेज पर कहीं इस्तेमाल नहीं होते
  • पूरा stack किसी third-party domain से serve होता है (आमतौर पर Google Fonts), जिसके साथ DNS, TLS और privacy की लागत आती है
  • कोई unicode-range subsetting नहीं है, इसलिए हर visitor Cyrillic और Greek glyphs भी डाउनलोड करता है, भले ही पेज English में हो

यह समस्या सिर्फ़ छोटी sites तक सीमित नहीं है। कई अच्छी funding वाली marketing pages भी पहले paragraph के paint होने से पहले 600 KB fonts लोड करती हैं। एक बार आप यह पैटर्न देखना शुरू कर दें, तो फिर इसे अनदेखा नहीं कर सकते।

समाधान कोई असामान्य चीज़ नहीं है। यह कुछ अच्छी तरह समझी गई techniques का समूह है, जो वर्षों से browsers में मौजूद हैं।

छह static fonts के बजाय एक variable font इस्तेमाल करें

अगर आप Inter Regular, Inter Medium, Inter SemiBold, Inter Bold और उनके italics लोड कर रहे हैं, तो आप ज़रूरत से लगभग छह गुना ज़्यादा bytes डाउनलोड कर रहे हैं। एक single Inter variable font पूरी weight axis (और कुछ builds में slant भी) को एक file में cover करता है, जो दो static weights से बस थोड़ा ही बड़ा होता है।

Browser support की कहानी वर्षों पहले तय हो चुकी है — variable fonts हर महत्वपूर्ण जगह काम करते हैं। जो झिझक बची है, वह ज़्यादातर static-font युग की आदत है।

एक व्यावहारिक नियम: हर script, हर family के लिए एक variable font file। Latin एक file में, Cyrillic दूसरी में, Greek तीसरी में, और उन्हें unicode-range के साथ conditionally load करें। बस इतना ही।

समझदारी से font-display सेट करें

जब custom font अभी load हो रहा हो, तो default behaviour होता है कुछ भी नहीं दिखाना — यानी invisible text — अधिकतम तीन seconds तक। यह सबसे खराब default है। Users को blank page दिखता है और वे मान लेते हैं कि कुछ टूटा हुआ है।

हर @font-face rule में यह जोड़ें:

@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter-var.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-display: swap;
}

swap fallback font को तुरंत दिखाता है और custom font load होने पर उसे swap कर देता है। User millisecond zero से page पढ़ सकता है। Trade-off यह है कि swap होने पर थोड़ी layout shift हो सकती है, जिसे आप अगली technique से कम करते हैं।

अपने fallback metrics मिलाएँ

Flash of unstyled text तभी झटका देता है जब fallback और custom font के metrics बहुत अलग हों। Modern CSS इसे size-adjust, ascent-override और संबंधित properties से ठीक करता है:

@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial');
  size-adjust: 107%;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
}

Fallback metrics tune होने पर swap मुश्किल से महसूस होता है — custom font आने से पहले और बाद में शब्द लगभग वही horizontal space लेते हैं।

Google का --allow-fallback-font-metrics work अब baseline browser support में है, और tooling pipeline मौजूद है (fontaine library और समान tools) जो seconds में आपके लिए सही numbers निकाल देती है।

Self-host करें

Four-step self-hosted font pipeline: get WOFF2 variable file, subset by script, serve from same origin with immutable cache, preload critical weight
InfographicSelf-hosting web fonts: the simple delivery pipeline — A same-origin font pipeline cuts extra origin cost and removes the privacy question

Google Fonts सुविधाजनक और free है, लेकिन इसके दो वास्तविक costs हैं:

  1. दूसरा TLS handshake। HTTP/3 और connection coalescing के साथ भी, extra origin शायद ही कभी free होता है।
  2. Privacy और compliance का प्रश्न। कई European courts ने निर्णय दिया है कि fonts.gstatic.com से Google Fonts लोड करना personal data (IP address) को third party तक transmit करना है। Self-hosting इस प्रश्न को पूरी तरह हटा देती है।

Download-and-host pipeline यह है:

  1. WOFF2 file लें (अगर variable build मौजूद हो तो वही)
  2. उसे उन scripts तक subset करें जिनका आपके audience वास्तव में उपयोग करते हैं
  3. उसे अपनी site के बाकी हिस्से की तरह same origin से serve करें, लंबे Cache-Control: max-age=31536000, immutable के साथ
  4. सबसे critical weight को preload करें: <link rel="preload" as="font" type="font/woff2" href="/fonts/inter-var.woff2" crossorigin>

यही पूरी pipeline है। Existing site के लिए इसमें एक afternoon लगता है, और आप लगभग कभी पीछे नहीं लौटते।

Custom fonts कब पूरी तरह छोड़ दें

यह स्पष्ट रूप से कहना ज़रूरी है: हर site को custom font की ज़रूरत नहीं होती। System font stack अब हर operating system पर सचमुच सुंदर है:

font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Inter, sans-serif;

Weight सही है, metrics सही हैं, rendering device के लिए tuned है, और bytes-on-the-wire cost बिल्कुल zero है। Tools site, internal app, content को प्राथमिकता देने वाला portfolio, या slow networks पर users के लिए बनी किसी भी चीज़ के लिए system stack ही सही उत्तर है।

<!-- tool-cta:start -->

💡 इसे आज़माएँ: Webfont Generator का उपयोग करके अपनी TTF या OTF फ़ाइलों को उपयोग के लिए तैयार CSS के साथ आधुनिक WOFF2 में बदलें, जो पोस्ट द्वारा सुझाया गया फ़ॉर्मैट परिवर्तन है।

<!-- tool-cta:end -->

ईमानदार सारांश

एक typical small site के लिए, चार steps पूरी web-font performance कहानी cover कर देते हैं:

  1. हर family हर script के लिए एक variable font
  2. Matched fallback metrics के साथ font-display: swap
  3. Long cache headers और critical weight के लिए preload के साथ Self-hosted
  4. या fonts पूरी तरह छोड़ दें और system stack इस्तेमाल करें

यह एक बार कर लें, और आप home page से कई सौ kilobytes वापस पा लेते हैं, perceived performance में कुछ सौ milliseconds जीतते हैं, और साथ ही एक third-party dependency हटाते हैं। बहुत कम बदलावों का effort-to-payoff ratio इससे बेहतर होता है।

Four-step checklist for faster web fonts: variable font, font-display swap with matched fallback metrics, self-host with cache and preload, or use system stack
InfographicThe 4-step web font performance fix — A compact playbook for reclaiming several hundred kilobytes and improving perceived performance
Comparison of six static font files versus one variable font file with script-based subsetting for Latin, Cyrillic, and Greek
InfographicFrom six static font files to one variable font — One variable file can replace a pile of weights and italics with far fewer bytes

अक्सर पूछे जाने वाले प्रश्न

क्या variable fonts हर जगह supported हैं?
हाँ — हर महत्वपूर्ण browser ने वर्षों से variable font support ship किया हुआ है। जो झिझक आप कभी-कभी सुनते हैं, वह static-font युग की आदत है; 2026 में यह वास्तविक compatibility चिंता नहीं है।
क्या मुझे अपने fonts manually subset करने चाहिए?
Latin-only sites के लिए, हाँ — Latin subset full multilingual file के लगभग आधे size का होता है। Multilingual sites के लिए, हर script को अलग file के रूप में load करने के लिए `unicode-range` इस्तेमाल करें, ताकि visitors केवल वही डाउनलोड करें जिसकी उनके content को वास्तव में ज़रूरत है।
`font-display: swap` कभी-कभी खराब flash क्यों पैदा करता है?
क्योंकि fallback font के metrics custom font से अलग होते हैं, इसलिए swap होने पर words reflow होते हैं। Custom font के metrics से match करने के लिए fallback पर `size-adjust`, `ascent-override` और `descent-override` इस्तेमाल करें — flash लगभग अदृश्य हो जाता है।
क्या Google Fonts सचमुच privacy issue है?
कई European court decisions ने माना है कि `fonts.gstatic.com` से load करना visitor का IP बिना consent के third party को transmit करता है, जो कुछ interpretations में GDPR violation है। Self-hosting इस प्रश्न को पूरी तरह हटा देती है और आमतौर पर वैसे भी तेज़ होती है।

स्रोत और आगे की पढ़ाई

  1. MDN — `@font-face` and `font-display`
  2. MDN — Variable fonts guide
  3. web.dev — Reduce web font size
लेखक के बारे में
The Wux Webtools Team

अंतिम अद्यतन:

पढ़ते रहें

Media, Images & Files

प्रोडक्शन में वेरिएबल फ़ॉन्ट्स: वे समझौते जिनके बारे में कोई नहीं बताता

वेरिएबल फ़ॉन्ट्स शक्तिशाली हैं, लेकिन प्रोडक्शन परिणाम subsetting, caching, rendering, CSS अनुशासन और डिज़ाइन संयम पर निर्भर करते हैं।

4 मिनट पढ़ें