EmDash – WordPress का वैचारिक उत्तराधिकारी, जिसने plugin security समस्या को हल किया
(blog.cloudflare.com)- Cloudflare द्वारा विकसित EmDash, WordPress की संरचनात्मक सीमाओं को पार करने के लिए TypeScript और serverless architecture के साथ नए सिरे से डिज़ाइन किया गया open source CMS है
- हर plugin को isolated sandbox environment में चलाकर, WordPress साइटों की 96% security समस्याओं के लिए ज़िम्मेदार plugin vulnerabilities को मूल रूप से रोकता है
- x402 payment standard बिल्ट-इन होने से content unit के हिसाब से on-demand payment (pay-per-use) को सपोर्ट करता है और AI-आधारित web traffic के दौर के लिए monetization structure देता है
- Cloudflare Workers-आधारित serverless structure के कारण request के समय अपने-आप scale up/down होकर cost reduction और high-performance processing दोनों हासिल करता है
- AI agent management, Passkey authentication, Astro theme structure जैसी आधुनिक सुविधाओं को एकीकृत कर, WordPress की भावना को आगे बढ़ाते हुए पूरी तरह नए सिरे से बनाया गया CMS है
EmDash परिचय
- EmDash WordPress की संरचनात्मक सीमाओं को हल करने के लिए नए सिरे से डिज़ाइन किया गया open source CMS है, जो पूरी तरह TypeScript-based है और serverless architecture अपनाता है
- WordPress की core functionality के साथ compatible है, लेकिन मौजूदा कोड का उपयोग नहीं करता, इसलिए इसे MIT license के तहत वितरित किया जा सकता है
- Cloudflare Workers के Dynamic Worker का उपयोग करके हर plugin को स्वतंत्र isolated environment (isolate) में चलाता है
- Astro framework पर आधारित होकर content-centric websites के लिए optimized performance देता है
- EmDash GitHub पर उपलब्ध है और इसे सीधे Cloudflare account या Node.js server पर deploy किया जा सकता है
- plugin security, market dependency से मुक्ति, AI-based management, x402 payment support जैसी उन समस्याओं में बुनियादी सुधार करता है जिन्हें WordPress हल नहीं कर पाया
WordPress की उपलब्धियाँ और सीमाएँ
- WordPress इंटरनेट के 40% से अधिक हिस्से को चलाता है और publishing के democratization का नेतृत्व करने वाला open source की सफलता का प्रमुख उदाहरण है
- लेकिन 24 साल बाद आज hosting environment और development paradigm में बड़ा बदलाव आ चुका है
- शुरुआती दौर में VPS किराए पर लेना पड़ता था, लेकिन अब दुनिया भर में distributed network पर सिर्फ JavaScript bundle upload करके deploy किया जा सकता है
- EmDash, WordPress की भावना को आगे बढ़ाते हुए, modern web infrastructure और security requirements के अनुरूप दोबारा तैयार किया गया रूप है
WordPress plugin security समस्या का समाधान
- WordPress साइटों की 96% security समस्याएँ plugins से आती हैं
- plugins PHP scripts के रूप में database और file system तक सीधे पहुँच रखते हैं
- install करते समय उन्हें लगभग सभी permissions मिल जाती हैं और न isolation होता है, न permission limits
- EmDash हर plugin को Dynamic Worker-आधारित sandbox environment में चलाता है
- plugin explicit declaration (manifest) के जरिए केवल आवश्यक capabilities ही माँगता है
- उदाहरण:
read:content,email:sendजैसी केवल ज़रूरी permissions दी जाती हैं - network access भी केवल घोषित hosts तक सीमित रहता है
- install से पहले plugin कौन-सी permissions माँग रहा है, यह स्पष्ट रूप से देखा जा सकता है, जिससे OAuth जैसी transparent permission grant structure मिलती है
- admin permission requests के आधार पर installation policy automation भी कर सकता है
plugin security और marketplace lock-in से मुक्ति
- WordPress.org plugin security समस्याओं के कारण manual review process चलाता है और queue 800 से अधिक है
- GPL license की सीमाओं के कारण code reuse और commercialization पर रोक लगती है
- EmDash दो संरचनात्मक सुधारों के माध्यम से market lock-in हटाता है
- plugin license freedom: EmDash के साथ code sharing न होने से developers अपनी पसंद का कोई भी license चुन सकते हैं
- secure sandbox execution: site को plugin code सीधे देखे बिना भी उस पर भरोसा करने की सुविधा
- plugin केवल घोषित capabilities ही चला सकता है, इसलिए security risk का बारीक आकलन संभव है
- यह संरचना centralized marketplace पर निर्भरता कम करने की ओर ले जाती है
- जब भरोसेमंद security model मिल जाता है, तो developers और users ecosystem को अधिक स्वतंत्र रूप से बढ़ा सकते हैं
x402 payment standard बिल्ट-इन — content access का monetization
- EmDash x402 standard को default रूप से सपोर्ट करता है, जिससे HTTP 402 Payment Required response के जरिए on-demand payment संभव होती है
- user subscription के बिना content unit के हिसाब से payment (pay-per-use) कर सकता है
- site operator केवल wallet address और price setting से monetization कर सकता है
- यह AI agent-आधारित web traffic के दौर के लिए नया business model देता है
- हर EmDash site में AI era के लिए उपयुक्त built-in revenue structure होता है
serverless-आधारित scalability और cost reduction
- WordPress में server provisioning की आवश्यकता होती है, जिससे idle resource cost पैदा होती है
- EmDash Cloudflare workerd-आधारित v8 isolate architecture का उपयोग करता है
- request आते ही तुरंत instance बनता है, और request न होने पर automatic scale-to-zero हो जाता है
- केवल CPU usage time के आधार पर billing होती है
- Cloudflare for Platforms के जरिए millions of instances का automatic scaling संभव है
- low-cost और high-performance structure के कारण large-scale traffic handling और free tier देना आसान होता है
Astro-आधारित आधुनिक theme structure
- EmDash themes एक Astro project के रूप में बनती हैं और इनमें ये तत्व शामिल होते हैं
- Pages: content rendering के लिए routes
- Layouts: साझा HTML structure
- Components: reusable UI elements
- Styles: CSS या Tailwind settings
- Seed files: CMS द्वारा बनाए जाने वाले content types की परिभाषा
- Astro LLM training data में शामिल लोकप्रिय framework है, इसलिए developer-friendly है
- WordPress theme की
functions.php-आधारित संरचना के विपरीत, EmDash themes में database access नहीं होता, जिससे security और मजबूत होती है
AI-native CMS — MCP, CLI, Agent Skills
- EmDash को ऐसे CMS के रूप में डिज़ाइन किया गया है जिसे AI agents सीधे manage कर सकें
- repetitive content migration या field transformation जैसे काम automate किए जा सकते हैं
-
Agent Skills
- EmDash instance में Agent Skills बिल्ट-इन होते हैं, जो plugin structure, hooks, theme porting methods आदि की जानकारी AI को देते हैं
- AI, EmDash codebase को समझकर automatic customization कर सकता है
-
EmDash CLI
- CLI के जरिए content search, media upload, schema generation जैसी management functions की जा सकती हैं
- local और remote, दोनों तरह के instances को control किया जा सकता है
-
बिल्ट-इन MCP server
- हर instance अपना Model Context Protocol server देता है
- admin UI में संभव हर काम को remotely भी किया जा सकता है
Passkey-आधारित authentication और role management
- EmDash में Passkey authentication default रूप से उपयोग होती है
- password leak और brute-force attacks से बचाव
- default रूप से role-based access control (RBAC) सपोर्ट करता है
- admin, editor, author, contributor जैसी roles के अनुसार permissions अलग होती हैं
- authentication को plugin-based तरीके से extend किया जा सकता है, और SSO व IdP metadata integration भी सपोर्ट होते हैं
WordPress site migration
- मौजूदा WordPress sites को WXR file export या EmDash Exporter plugin के जरिए migrate किया जा सकता है
- Exporter plugin, WordPress Application Password से सुरक्षित dedicated endpoint बनाता है
- content और media को अपने-आप EmDash library में migrate करता है
- EmDash schema-based content structure को सपोर्ट करता है
- WordPress के Custom Post Type को EmDash की independent collections में बदला जा सकता है
- Block Kit Agent Skill के जरिए customized blocks को AI से बनाया जा सकता है
अनुभव और भागीदारी
- EmDash अभी v0.1.0 preview version में है और GitHub repository से डाउनलोड किया जा सकता है
- EmDash Playground पर admin UI को सीधे आज़माया जा सकता है
- local install command:
npm create emdash@latest - Cloudflare dashboard से भी deploy किया जा सकता है
- WordPress community, hosting platforms, और plugin·theme developers के feedback और contributions का स्वागत है
6 टिप्पणियां
मैं उन लोगों में से हूँ जिन्होंने अपने पर्सनल ब्लॉग पर WordPress इस्तेमाल किया था, लेकिन उसी security problem की वजह से उसे छोड़कर static पर migrate कर गया।
मैंने पर्सनल ब्लॉग को कुछ समय तक वैसे ही छोड़ दिया था, लेकिन सच में अजीब spam अंदर घुस आए और ब्लॉग को spam का अड्डा बना दिया। वे tags का इस्तेमाल करके मेरे local में मौजूद न होने वाले pages को Google में register करने का कोई अजीब तरीका इस्तेमाल कर रहे थे। उसे हटाने में अभी भी बहुत परेशानी हो रही है ;_;
मुझे भी याद है कि Webmaster Tools में अजीब URL पकड़े गए थे, तो मैं भी हैरान हुआ था.
"tag" का इस्तेमाल करके अपने लोकल में मौजूद न होने वाले पेज को Google में रजिस्टर करने का अजीब तरीका— यह किस तरह काम करता है??क्या इसे ब्लॉक करने का कोई तरीका है?
स्पैम जैसे वाक्यांशों को खोजने वाले search result URL को दूसरे ब्लॉग की पोस्टों में backlink के रूप में दर्ज करने वाला स्पैम भी होता है;
आखिरकार, जो भी हो, उसे हाथ से मिटाना ही पड़ता है...
आमतौर पर घुसपैठ का तरीका यह होता है कि file upload से जुड़ी vulnerability वाले plugin/theme वगैरह का इस्तेमाल किया जाता है.
ऐसे अंदर आने के बाद, असली blog owner को पता चले बिना tag/category वगैरह में content बो दिया जाता है.
असल में यह blog page पर बिल्कुल दिखाई नहीं देता, इसलिए पता नहीं चलता, और यह URL सिर्फ Google bot को दिखे, इस तरह render किया जाता है. ( BabaYaga ऐसा ही एक उदाहरण है. )
एक बार इस तरह घुसपैठ हो जाए, तो व्यवहार में उस address पर आने वाली सारी traffic को 410 Gone पर भेजने के अलावा कोई तरीका नहीं बचता. Server पर जिन addresses की जरूरत नहीं है, उन्हें सबको 410 दिखाने के लिए सेट करना पड़ता है, और search console में खास तरह के incoming patterns को हाथ से 6 महीने तक हटाने का अनुरोध करना पड़ता है. उदाहरण के लिए,
/tagसे शुरू होने वाली सब चीजें हटानी पड़ती हैं.मैं एक महीने से deletion request दे रहा हूँ, लेकिन अभी तक सब नहीं हटे हैं. Google indexing को ठीक से काम करना चाहिए, लेकिन इसमें बहुत समय लग रहा है.
अच्छा, समझ गया। बताने के लिए धन्यवाद। कई बातों का ध्यान रखना पड़ेगा।
Hacker News की राय
मैंने 10 साल से ज़्यादा समय तक WordPress के साथ काम किया है, और मुझे लगता है कि इस प्रोजेक्ट ने दो चीज़ें पूरी तरह सही पकड़ी हैं: TypeScript और Worker plugins
हाल में मैं WP की security समस्याओं के बारे में बहुत सोच रहा था, क्योंकि कोई malicious plugin DB या environment variables तक पहुंच सकता है, या XSS कर सकता है। लेकिन अगर plugin system अच्छी तरह डिज़ाइन किया गया हो, तो इसे कम किया जा सकता है
मैं व्यक्तिगत रूप से HotsauceCMS बना रहा हूँ। इसमें NodeJS या Deno Worker plugins को वैकल्पिक रूप से इस्तेमाल किया जा सकता है, ताकि first-party plugins तेज़ in-process execution करें और third-party plugins workers में isolate होकर चलें
dependencies सिर्फ 4 हैं और transitive dependencies 0, क्योंकि मैं Dependabot warnings और npm supply-chain attacks से तंग आ चुका हूँ
यह Drizzle-आधारित schema-first structure पर बना है, इसलिए DB structure पर पूरा control मिलता है और file upload जैसी सुविधाएँ schema hints से define की जा सकती हैं
यह DB-agnostic है, इसलिए Postgres, MySQL, SQLite आदि Drizzle द्वारा supported सभी DBs पर काम करता है
frontend स्वतंत्र रूप से चुना जा सकता है, और मुझे व्यक्तिगत रूप से React के बिना JSX पसंद है
feedback का स्वागत है। मैं जानना चाहता हूँ कि क्या मैं कुछ मिस कर रहा हूँ, और क्या दिशा सही है। EmDash आगे कैसे बढ़ता है, यह देखने की भी उत्सुकता है
कहा जा रहा है कि EmDash WordPress का आध्यात्मिक उत्तराधिकारी है, लेकिन मुझे लगता है कि CMS को ठीक उल्टी दिशा में जाना चाहिए
बल्कि इसे सरल बनाकर फिर से static file-based websites की ओर लौटना चाहिए। caching आसान होती है, performance तेज़ होती है, और management भी सरल रहता है
बेशक, Cloudflare के नज़रिए से देखें तो लगता है कि उसने अपनी Workers product बेचने के लिए यह संरचना चुनी है। क्या इससे बुनियादी security समस्याएँ सच में हल होती हैं, इस पर अभी भी संदेह है
मुझे लगता है कि Cloudflare गलत दिशा से शुरुआत कर रहा है
WordPress की सफलता का कारण आसान इंस्टॉलेशन और network effects था। security से भी ज़्यादा महत्वपूर्ण यह था कि WP से परिचित developers पहले से बहुत थे
EmDash को सफल होना है तो उसे Wix या Squarespace से ज़्यादा आसान, तेज़ और flexible होना पड़ेगा। नहीं तो network effects बनाना मुश्किल होगा
WordPress developer के रूप में मेरी सबसे बड़ी पीड़ा plugin architecture रही है
WP में plugins image assets जैसी चीज़ों के साथ
wp-contentfolder में रखे जाते हैं, जिससे CI/CD एक बुरा सपना बन जाता है। EmDash में plugins TS modules हैं, इसलिए चीज़ें काफ़ी साफ़-सुथरी हैंCloudflare का x402 payment standard वाला विचार दिलचस्प है
इसमें agent अपने-आप छोटे payments भेजकर content access हासिल करता है। थोड़ा डरावना है, लेकिन भविष्यवादी भी लगता है
मज़ाक में कहें तो, अगर कोई हर visit पर 10 सेंट मांगने वाला HTTP 402 honeypot बना दे, तो शायद यह पुराने “1 pixel for 1 dollar” विचार की वापसी होगी
WordPress की असली value उसके code में नहीं, बल्कि उसके ecosystem और support structure में है
code quality खास नहीं है, लेकिन लगभग हर SaaS WP connector देता है
EmDash को सफल होना है तो non-developers भी Fiverr पर आसानी से customization करवा सकें। यह तकनीक की नहीं, बल्कि labor market की समस्या है
Cloudflare द्वारा बनाया गया WordPress successor होना आकर्षक है, लेकिन Dynamic Workers-आधारित plugin isolation सिर्फ़ Cloudflare runtime पर ही काम करता है
दूसरे hosts पर यह बस एक साधारण TS CMS रह जाता है, इसलिए architectural dependency समस्या है
यह सवाल उठता है कि अब भी JavaScript में AI projects क्यों बनाए जा रहे हैं
अब Go जैसी compiled languages से भी तेज़ी से apps बनाए जा सकते हैं। वे छोटे, तेज़ और deploy करना आसान होते हैं
JS interpreted होने के कारण धीमा और जटिल है। पहले instant execution इसका फायदा था, लेकिन अब compilation भी तेज़ है
यह दिलचस्प है कि EmDash WordPress code का इस्तेमाल नहीं करता, इसलिए इसे MIT license के तहत जारी किया गया है
लेकिन इससे हाल में आए Cleanroom as a Service Malus की याद आती है। timing कुछ अजीब तरह से मिलती है