headless-wordpress-development.html

Next.js या Astro पर हेडलेस WordPress — wp-admin रखें, प्लगइन का बोझ हटाएँ।

WPGraphQL, ACF, Faust.js, ISR, preview mode, पूरी SEO ट्रांसपोर्ट। बारह हज़ार WordPress साइटों का अभ्यास एक आधुनिक फ्रंट-एंड से मिलता है। एडिटर्स को वही मिलता है जो वे जानते हैं, पब्लिक साइट बेकार चीजों से मुक्त रहती है।

हेडलेस WordPress कब सही विकल्प है

हेडलेस WordPress तब सही है जब तीन में से एक बात सच हो। अन्यथा डिफ़ॉल्ट क्लासिक WordPress सेटअप गलत है — हेडलेस इंजीनियरिंग का ओवरहेड जोड़ता है और आपको वास्तविक कारण के बिना इसके लिए भुगतान नहीं करना चाहिए।

पहला कारण परफॉर्मेंस है। एक वेनिला WordPress साइट जिसमें पाँच या छह प्लगइन हों, वह H1 रेंडर होने से पहले लगभग सात सौ किलोबाइट JavaScript भेजती है, और Elementor या Divi के साथ एक आम एडऑन स्टैक होने पर, असली दुनिया की साइटें पहले लोड पर दो से तीन मेगाबाइट भेजती हैं। Lighthouse और CrUX फील्ड डेटा पर एक कठोर सीमा है, चाहे सामने सबसे अच्छा कैशिंग प्लगइन हो। Headless एक स्टैटिक या ISR Next.js या Astro फ्रंट-एंड पर लगातार नब्बे-पाँच से ऊपर Lighthouse क्लियर करता है और फील्ड डेटा उसके अनुसार आता है।

दूसरा कारण इंजीनियरिंग अनुभव है बिना संपादकीय टीम को खोए। जो इंजीनियर रोज़ TypeScript लिखते हैं वे WordPress फ्रंट-एंड स्टैक से निराश हो जाते हैं। PHP टेम्पलेट, jQuery, पेज बिल्डर शॉर्टकोड — भाषा गलत है, टूलिंग गलत है, डिप्लॉय की कहानी गलत है। Headless इंजीनियरिंग टीम को एक Next.js या Astro कोडबेस में काम करने देता है जिसमें वर्जन कंट्रोल, टाइप चेकिंग, एज डिप्लॉयमेंट, और कंपोनेंट-ड्रिवन डिज़ाइन हो, जबकि संपादक wp-admin, Yoast, और ACF को बिना बदले रखते हैं।

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

कौन सी स्टैक पसंद सबसे ज़्यादा मायने रखती है

तीन फैसले engineering की ज़्यादातर story decide करते हैं।

फ्रंट-एंड फ्रेमवर्क आमतौर पर App Router वाला Next.js है मार्केटिंग साइटों और ऑथ या इंटरैक्टिविटी वाली ऐप्स के लिए। Astro सबसे सरल रास्ता है कंटेंट-भारी साइटों के लिए जो स्टैटिक जनरेशन से फायदा उठाती हैं और सिर्फ विशिष्ट कंपोनेंट पर ही आंशिक हाइड्रेशन चाहती हैं। Nuxt सही विकल्प है जब टीम पहले से Vue चला रही हो। हम Next.js के साथ WPGraphQL और एक छोटा कस्टम स्कैफोल्डिंग पसंद करते हैं Faust.js की जगह, क्योंकि Faust कुछ ऐसे विचार लेकर आता है जिनसे हम कभी-कभी असहमत हैं — लेकिन Faust शानदार है अगर आप फ्रेमवर्क को निर्णय लेने दें।

API लेयर डिफॉल्ट रूप से WPGraphQL है। टाइप्ड क्वेरी-बाई-शेप API, ACF WPGraphQL फॉर ACF के ज़रिए समर्थन, Yoast समर्थन Yoast SEO फॉर WPGraphQL के ज़रिए, RankMath के बराबर। WP REST बिना प्लगइन के काम करता है और सरल साइटों के लिए ठीक है, लेकिन आप ज़्यादा डेटा फेच करते हैं जितने की ज़रूरत है और फ्रंट-एंड पर कोई स्कीमा इंट्रोस्पेक्शन नहीं है। REST तक सिर्फ तभी पहुँचें जब WPGraphQL होस्टिंग पॉलिसी से ब्लॉक हो या जब आपके पास बहुत छोटा डेटासेट हो।

होस्टिंग फ्रंट-एंड को बैक-एंड से अलग करती है। फ्रंट-एंड Vercel, Netlify, या Cloudflare Pages पर टीम की पसंद के अनुसार। बैक-एंड Cloudways, Kinsta, या WP Engine पर एक गैर-सार्वजनिक सबडोमेन पर — cms.yourdomain.com — Cloudflare Access या IP allowlist के पीछे लॉक। सार्वजनिक ट्रैफिक कभी WordPress को सीधे नहीं हिट करता। WordPress सार्वजनिक वेब से अदृश्य हो जाता है; सिर्फ आपके संपादकों को पता है कि यह वहाँ है।

आप वह सब कुछ कैसे transport करते हैं जो मायने रखता है

एक सफल headless WordPress बिल्ड WordPress की ओर से पाँच चीज़ें सार्वजनिक फ्रंट-एंड में पहुँचाता है बिना बीच में कोई नुकसान किए।

कंटेंट स्पष्ट है — हर पोस्ट, पेज, कस्टम पोस्ट टाइप, टैक्सोनॉमी, और ACF फील्ड, WPGraphQL के ज़रिए बिल्ड या रीवेलिडेशन पर फेच किया गया। मीडिया उसके बाद आता है: हर अपलोड की गई इमेज, WordPress-साइड WebP अनुकूलन के साथ अगर उपलब्ध हो या फ्रंट-एंड-साइड इमेज अनुकूलन अन्यथा। SEO मेटाडेटा तीसरा है — Yoast या Rank Math फील्ड प्लगइन-साथी GraphQL स्कीमा के ज़रिए जुड़े, canonical, title, description, OG, और Twitter card के रूप में टाइप्ड रेस्पांस से रेंडर किए गए।

Schema चौथा है और ज़्यादातर टीमें इसे गलत तरीके से हैंडल करती हैं। हम प्लगइन-उत्सर्जित JSON-LD को फ्रंट-एंड पर हाथ से लिखे गए टेम्पलेट से बदलते हैं सफाई के लिए। Article, BlogPosting, Service, Product, BreadcrumbList — सभी टाइप्ड डेटा से जनरेट किए गए, बिल्ड समय पर वेलिडेट किए गए। Redirects पाँचवाँ है: Yoast Redirect Manager या Redirection प्लगइन में कुछ भी export किया जाता है और vercel.json में 301 के रूप में या Netlify पर _redirects के रूप में भेजा जाता है, कभी JavaScript redirects के रूप में नहीं जो रैंकिंग सिग्नल को ट्रांज़िट में खो देते हैं।

ट्रांसपोर्ट स्वचालित है। हम इनमें से किसी भी लेयर को प्रति साइट हाथ से बिल्ड नहीं करते। एक ही स्कैफोल्डिंग हर headless बिल्ड में भेजी जाती है जो हम करते हैं, इसीलिए प्रति-साइट लागत समय के साथ कम आई है भले ही इंजीनियरिंग सतह बढ़ गई है।

क्या break होता है और हम इसे कैसे handle करते हैं

पेज बिल्डर्स सबसे पहले टूटते हैं। Elementor और Divi फ्रंट-एंड में भारी CSS और HTML इंजेक्ट करते हैं। यह सब कुछ headless फ्रंट-एंड पर नहीं चलता। ज्यादातर माइग्रेशन प्रोजेक्ट के हिस्से के रूप में कंटेंट रीराइट साथ लाते हैं — हम कंटेंट निकालते हैं, इसे नए फ्रंट-एंड की कंपोनेंट लाइब्रेरी से मैच करने के लिए रीफॉर्मेट करते हैं, और विजुअल बिल्डर लेयर को पूरी तरह इंपोर्ट करना स्किप कर देते हैं। एडिटर्स को Gutenberg ब्लॉक्स प्लस ACF फ्लेक्सिबल कंटेंट पर आधारित एक नया, सरल एडिटिंग UX मिलता है। कंटेंट बचता है, विजुअल बिल्डर नहीं, और पेज वेट का side effect के तौर पर खासी कमी आती है।

कमेंट्स और फॉर्म्स को भी दोबारा सोचना पड़ता है। नेटिव WordPress कमेंट्स रेंडरिंग को प्रॉक्सी किए बिना headless पर रेंडर नहीं होते। ज्यादातर टीमें उन्हें Disqus, Giscus, या फ्रंट-एंड पर कस्टम कमेंट सिस्टम से बदल देती हैं। फॉर्म्स आमतौर पर ConvertKit, HubSpot Forms, या एक कस्टम Next.js एंडपॉइंट पर माइग्रेट होते हैं जो एक ईमेल-सेंडिंग सर्विस को hit करता है। Contact Form 7 और Gravity Forms के headless-फ्रेंडली वर्जन हैं लेकिन एक्सप्लिसिट GraphQL इंटीग्रेशन की जरूरत होती है जो काम बढ़ाता है।

फ्रंट-एंड प्लगइन्स तीसरी चीज है जो टूटती है। कोई भी चीज जो WordPress फ्रंट-एंड में HTML या JavaScript इंजेक्ट करती है, काम करना बंद कर देती है — सिक्यूरिटी प्लगइन्स, कैशिंग प्लगइन्स, स्कीमा प्लगइन्स, सोशल-शेयर प्लगइन्स। हर एक को या तो फ्रंट-एंड पर कोड से बदला जाता है या किसी मैनेज्ड सर्विस से। प्लगइन काउंट आमतौर पर माइग्रेशन के बाद सत्तर से अस्सी प्रतिशत गिरता है। यह रिग्रेशन नहीं, जीत का हिस्सा है।