このコンテンツは自動機械翻訳サービスによる翻訳版であり、皆さまの便宜のために提供しています。原本の英語版と異なる誤り、省略、解釈の微妙な違いが含まれる場合があります。ご不明な点がある場合は、英語版原本をご確認ください。
ソフトウェア構築のコストは大幅に削減されています。最近、AIコーディングエージェントを使って1週間でNext.jsを再構築しました。しかし、この2か月間、当社のエージェントはさらに野心的なプロジェクトに取り組んできました。WordPressのオープンソースプロジェクトをゼロから再構築するということです。
WordPressはインターネットの40%以上を支えています。誰もが出版業者になれるようにし、WordPress開発者の世界的なコミュニティを創設した大成功です。しかし、WordPressのオープンソースプロジェクトは今年で24周年を迎えます。その時期に、Webサイトのホスティングも劇的に変わりました。WordPressが生まれたとき、AWS EC2は存在しませんでした。この数年の間に、その作業は仮想プライベートサーバーのレンタルから始まり、JavaScriptバンドルをグローバルに分散されたネットワークに事実上無料でアップロードできるようになりました。この変化に対応するために、インターネット上で最も人気のあるCMSをアップグレードする時が来ています。
この新しいCMSの名前はEmDashです。当社は、WordPressの精神的な後継と考えています。これはすべてTypeScriptで記述されています。サーバーレスですが、独自のハードウェアや選択したプラットフォームで実行できます。プラグインは安全にサンドボックス化されており、独自の分離環境で、Dynamic Workersを介して実行でき、WordPressプラグインアーキテクチャの根本的なセキュリティ問題を解決します。また、内部では、EmDashはコンテンツ主導のWebサイト向けの最速WebフレームワークであるAstroを使用しています。
EmDashは完全にオープンソースで、MITライセンス取得済みで、GitHubで利用できます。EmDashはWordPress機能との互換性を目指していますが、EmDashを作成するためにWordPressコードは使用されません。これにより、より寛容なMITライセンスの下でオープンソースプロジェクトを認可することができます。より多くの開発者が適応し、拡張し、EmDashの開発に参加できるようになることを期待しています。
EmDash v0.1.0は、早期開発者ベータ版の一環として、現在、Cloudflareアカウント、または任意のNode.jsサーバーでプレビューを表示します:
または、EmDash Playgroundでこちらの管理インターフェースをお試しください:
WordPressのストーリーは、かつてない規模での出版を可能にしたオープンソースの勝利です。インターネットで調達した世代に同じような認識可能なインパクトを与えたプロジェクトは、ほとんどありませんでした。WordPressのコアと数千のプラグインやテーマの開発者によって、数百万ドルの出版を民主化したプラットフォームが構築されました。多くの生活や生活が、このユビキタスなソフトウェアによって変わりつつあります。
WordPressの場所は常にありますが、コンテンツ出版の世界が成長するためのスペースもたくさんあります。10年前、キーボードを手に入れた人は共通して、WordPressでブログを公開することを学びました。現在、その人がAstroや別のTypeScriptフレームワークを学び、構築する可能性が高くなります。このエコシステムには、23年前のWordPressが必要だったように、幅広いオーディエンスを可能にする選択肢が必要です。
EmDashは、WordPressが作ったもの、つまり、誰でも低コストでインストール・利用できるオープンソースのパブリッシングスタックを基盤として構築することに尽力し、WordPressでは解決できないコア問題を解決します。
WordPressプラグインのセキュリティ危機解決
WordPressのプラグインアーキテクチャは根本的に安全ではありません。WordPressサイトのセキュリティ問題の96%はプラグインに起因しています。2025年、WordPressのエコシステムには、過去2年分の合計よりも多い深刻な脆弱性が見つかりました。
20年以上経った今、WordPressプラグインのセキュリティが問題になっているのはなぜでしょうか。
WordPressプラグインとは、WordPressに直接フックして機能を追加・変更するPHPスクリプトのことです。隔離はなく、WordPressプラグインはWordPressサイトのデータベースおよびファイルシステムに直接アクセスできます。WordPressプラグインをインストールする時、ほとんどすべてのものにアクセスでき、あらゆる悪意のある入力やエッジケースを完璧に処理すると信頼することができるのです。
EmDashがこれを解決します。EmDashでは、各プラグインは独自の分離されたサンドボックスであるDynamic Workerで実行されます。EmDashは、基礎となるデータに直接アクセスするのではなく、プラグインがマニフェストで必要と明示的に宣言している内容に基づいて、バインディングを介して機能をプラグインに提供します。このセキュリティモデルには厳格な保証があります。EmDashプラグインは、マニフェストで明示的に宣言されたアクションのみを実行できます。プラグインをインストールする前に、何を許可するのか、事前に知り、信頼することができます。OAuthフローを経由し、サードパーティアプリに特定の範囲付き許可セットを許可するのと同様です。
例えば、コンテンツアイテムが保存された後にメールを送信するプラグインは、次のようになります:
import { definePlugin } from "emdash";
export default () =>
definePlugin({
id: "notify-on-publish",
version: "1.0.0",
capabilities: ["read:content", "email:send"],
hooks: {
"content:afterSave": async (event, ctx) => {
if (event.collection !== "posts" || event.content.status !== "published") return;
await ctx.email!.send({
to: "[email protected]",
subject: `New post published: ${event.content.title}`,
text: `"${event.content.title}" is now live.`,
});
ctx.log.info(`Notified editors about ${event.content.id}`);
},
},
});
このプラグインは、content:afterSaveがコンテンツライフサイクルにフックし、email:sendがctx.email関数にアクセスするという2つの機能を明示的にリクエストします。プラグインが、これらの機能を使わずに他のことをすることは不可能です。外部ネットワークへのアクセスはありません。ネットワークアクセスが必要な場合は、定義の一部として通信する必要のある正確なホスト名を特定し、特定のホスト名との通信のみを許可されます。
また、いかなる場合でも、プラグインのニーズは事前に静的に宣言されるため、インストール時に、プラグインが何を許可するかを常に明確にすることができます。プラットフォームまたは管理者は、承認されたプラグインまたは安全なプラグインの許可リストではなく、彼らがどのような権限を要求するかに基づいて、特定のユーザーグループがインストールできるまたは許可しないプラグインのルールを定義できます。
プラグインのセキュリティ解決は、マーケットプレイスのロックイン解決を意味します
WordPressプラグインのセキュリティは、WordPress.orgがマーケットプレイスにある各プラグインを手作業で確認し、承認しているほど、現実的なリスクとなります。この記事の執筆時点で、そのレビューキューは800プラグインの長さで、通過に少なくとも2週間かかっています。WordPressプラグインの脆弱攻撃対象領域は広範囲に及ぶため、実際、すべての関係者は市場の評判、評価、レビューに依存しています。また、WordPressプラグインはWordPress自体と同じ実行コンテキストで動作し、 WordPressのコードと深く絡み合っているため、WordPressのGPLライセンスをさらに進化させる必要があると主張する人もいます。
これらの現実が相まって、プラグインを構築する開発者や、WordPressサイトをホスティングするプラットフォームを対象とする重大な効果が生まれています。
プラグインセキュリティはこの問題の根本原因です。マーケットプレイスビジネスは、当事者が互いに簡単に信頼できない場合に、信頼を提供します。WordPressマーケットプレイスの場合、プラグインのセキュリティリスクは非常に大きく、また確率が高いため、多くの顧客はマーケットプレイスを通じてプラグインを合理的に信頼することができます。しかし、マーケットプレイスの一部であるためには、コードは、そのマーケットプレイス以外の場所で無料で提供することを強制するような方法でライセンスされる必要があります。ロックインされています。
EmDashプラグインには、マーケットプレイスのロックインを軽減する2つの重要なプロパティがあります。
プラグインは任意のライセンスを持つことができます: EmDashから独立して実行され、コードを共有しません。これはプラグイン作成者の選択です。
プラグインコードは安全なサンドボックスで独立して実行されます: プラグインはEmDashサイトに提供され、信頼できるものであり、EmDashサイトがコードを見ることはありません。
最初の部分は簡単です。プラグイン作成者として、必要なライセンスを選択します。NPM、PyPi、Packagest、またはその他のレジストリに公開するときも同じ方法です。これは、プラグインやテーマにどのようなライセンスを使用するかというEmDashプロジェクトではなく、コミュニティまでのオープンなエコシステムです。
次のパートは、EmDashのプラグインアーキテクチャが中央集権的なマーケットプレイスから脱却するところです。
開発者は、プラグインを使用するか信頼するかを決定できるよう、プラグインの精査がはるかに少ないサードパーティマーケットプレイスに依存する必要があります。上記のプラグインの例として、コンテンツを保存した後にメールを送信するものを考えてみましょう。プラグインは3つのことを宣言します:
プラグインには何万行ものコードを入れることができますが、すべてにアクセスでき、パブリックインターネットと通信できるWordPressプラグインとは異なり、プラグインの追加者は、自分がどのようなアクセス権を付与しているかを正確に把握しています。境界を明確に定義することで、セキュリティリスクに関する情報に基づいた意思決定を行い、プラグインが提供する機能に直接関連するより具体的なリスクに焦点を当てることができます。
サイトとプラットフォームの両方がセキュリティモデルを信頼して制約を提供できればするほど、サイトとプラットフォームはプラグインを信頼できるようになり、マーケットプレイスや評判の中央集中型管理から脱却します。言い換えれば、自分の市で食品の安全管理が徹底されていると信頼できれば、概して新しい場所に挑戦するでしょう。移行に必須メニューがあると確信できない場合、新しい場所を試みる前にGoogleに相談することになり、誰もが新しいレストランを開くことは困難になります。
すべてのEmDashサイトにx402サポートが組み込まれています。コンテンツへのアクセスには課金が必要です
Webのビジネスモデルは、危険にさらされています。特にコンテンツクリエーターや出版業者にとっては。コンテンツを広くアクセス可能にするという古い方法は、トラフィックと引き換えにすべてのクライアントが無料でアクセスできるようにするというものです。サイトを訪れる人がいない場合、クライアントはそのサイトに代わってWebにアクセスすることになります。クリエイターは、この新しいエージェントの世界で収益を上げ続けるための方法を必要としています。そして、ユーザーのエージェントが必要とし、お金を払うことにサービスを提供する新しい種類のWebサイトを構築する必要があります。数十年前、クリエイターの新たな波が(多くの場合、WordPressを利用した)素晴らしいビジネスとなるWebサイトを制作しましたが、現在も同様の機会が存在しています。
x402 は、インターネットネイティブな決済のためのオープンで中立的な標準です。インターネット上の誰でも簡単に課金でき、どのクライアントもオンデマンドで従量課金で支払うことができます。エージェント(エージェントなど)のクライアントが、HTTPリクエストを送信し、HTTP 402 Payment Required(支払いが必要)ステータスコードを受け取ります。応答として、クライアントはオンデマンドのアクセスに対して支払いを行い、サーバーは要求されたコンテンツにクライアントを通過させることができます。
EmDashは、x402のサポートが組み込まれています。つまり、EmDashサイトを持つ人は誰でも、サブスクリプションを必要とせず、エンジニアリング作業もゼロで、コンテンツへのアクセスに対して課金できるということです。課金が必要なコンテンツを設定し、課金金額を設定し、ウォレットアドレスを提供するだけです。リクエスト/レスポンスフローは最終的に次のようになります:
すべてのEMDashサイトに、AI時代に対応したビジネスモデルが組み込まれています。
WordPressはサーバーレスではありません。サーバーのプロビジョニングと管理、従来のWebアプリケーションのようにサーバーのスケーリングが必要です。パフォーマンスを最大化し、トラフィックスパイクに対処できるようにするために、インスタンスを事前にプロビジョニングして、ある程度のアイドル状態のコンピューティングを実行したり、パフォーマンスを制限するような方法でリソースを共有したりする必要性は避けられません。これは、コンテンツがサーバーレンダリングしなければならず、キャッシュできないサイトに特に当てはまります。
EmDashは違います。サーバーレスプラットフォームで動作するように構築されており、Cloudflareのオープンソースランタイムv8 isolate architectureのworkerdを最大限に活用するように設計されています。受信したリクエストに対して、Workersランタイムは即座に分離を立ち上げてコードを実行し、レスポンスを提供します。リクエストがなければ、ゼロにスケールダウンします。また、課金はCPU時間(実際の作業に費やされた時間)に対してのみ発生します。
EmDashは、あらゆるNode.jsサーバー上でどこでも実行できますが、Cloudflareでは、Cloudflare for Platformsを使用して数百万のEmDashインスタンスを実行できます。各インスタンスは、世界最大のWebサイトが利用しているのとまったく同じネットワークとランタイムを使用して、必要なRPS数まで瞬時に完全にスケールダウンできます。
コストの最適化やパフォーマンス上のメリットはもちろん、Cloudflareがこのアーキテクチャに賭けている理由は、低コストかつ無料枠があること、そして誰もがスケーリングするWebサイトを構築できるはずだと考えることです。当社は、プラットフォームの大小を問わず、このアーキテクチャのメリットを自社の顧客にも広げるお手伝いができることを嬉しく思います。
Astroを利用した最新のフロントエンドテーマとアーキテクチャ
EmDashは、コンテンツ主導型WebサイトのためのWebフレームワークであるAstroを利用しています。EmDashのテーマを作成するには、以下を含むAstroプロジェクトを作成します。
Pages: コンテンツ(ホームページ、ブログ記事、アーカイブなど)をレンダリングするためのAstroルート
レイアウト: 共有HTML構造
コンポーネント: 再利用可能なUI要素(ナビゲーション、カード、フッター)
スタイル: CSSまたはTailwindの設定
シードファイル:CMSに作成するコンテンツのタイプとフィールドを示すJSON
これにより、Astroを選択するフロントエンド開発者や、すでにAstroでトレーニングを受けているLLMにとって、テーマの作成は身近なものになります。
WordPressテーマは非常に柔軟ですが、プラグインと同じセキュリティリスクが多く潜んでいます。人気が高く一般的であればあるほど、標的になりやすくなります。テーマは、すべてを包含する実行環境であるfunctions.phpと統合することで実行され、テーマは信じられないほど強力で潜在的に危険なものになります。EmDashのテーマは、動的プラグインと同様に、この期待を覆します。テーマはデータベース操作を実行できません。
AIネイティブCMS — EmDashのMCP、CLI、スキル
CMSの操作で最も楽しくない部分は、コンテンツのローテーションマイグレーションを行うことです。文字列の検索と置換、カスタムフィールドをあるフォーマットから別のフォーマットへのカスタムフィールドの移行、名前変更、並び替え、移動などです。これは、つまらない反復作業であるか、一度限りのスクリプトや「使い捨て」プラグインやツールが必要で、通常は書くのも好きでもクエリーも楽しいものではありません。
EmDashは、AIエージェントによってプログラムで管理できるように設計されています。エージェントが必要とする以下のようなコンテキストとツールを提供します:
エージェントスキル: 各EmDashインスタンスには、EmDashがプラグインに提供できる機能、プラグインをトリガーできるフック、 プラグインの構成方法に関するガイダンス 、さらには レガシーWordPressテーマをEmDashにネイティブに移行する方法 をエージェントに説明する エージェントスキル が含まれています。エージェントにEmDashのコードベースを提供すると、EmDashはエージェントが必要な方法でサイトをカスタマイズできるよう必要なすべての情報を提供します。
EmDash CLI: EmDash CLIを使用すると、エージェントはEmDashのローカルまたはリモートインスタンスとプログラムで対話することができます。メディアのアップロード, コンテンツの検索, スキーマの作成と管理、といった一連の作業を管理者UIで行うのと同じです。
組み込みのMCPサーバー:すべてのEmDashインスタンスは、独自のリモートモデルコンテキストプロトコル(MCP)サーバーを提供し、管理者UIでできることと同じセットを行うことができます。
EmDashは、デフォルトでパスキーベースの認証を使用しています。つまり、漏洩すべきパスワードはなく、ブルートフォース攻撃による防御策も存在しません。ユーザー管理には、使い慣れたRBACが含まれており、管理者、編集者、作成者、貢献者など、それぞれが必要なアクションに厳密に範囲を設定しています。認証はプラグイン可能で、SSOプロバイダーと連携するようにEMDashを設定し、IdPメタデータに基づいてアクセスを自動プロビジョニングすることもできます。
WordPressサイトをEmDashにインポート
既存のWordPressサイトをインポートするには、WordPress管理画面に移動してWXRファイルをエクスポートするか、WordPressサイトにEmDash Exporterプラグインをインストールします。これにより、お客様だけに公開され、お客様が管理するWordPressアプリケーションパスワードで保護されたセキュアなエンドポイントが設定されます。コンテンツの移行はわずか数分で完了し、自動的に動作して、添付されたメディアをEmDashのメディアライブラリに取り込みます。
WordPressでポストかつページ以外のタイプのカスタムコンテンツを作成するということは、高度なカスタムフィールドのような重いプラグインをインストールし、その結果を混雑したWordPress投稿テーブルに送り込む必要があったのです。EmDashのやり方は違っています。管理パネルで直接スキーマを定義することができ、これにより、まったく新しいEmDashのコレクションが作成され、データベース内で個別に順序付けられます。インポート時も同じ機能を使って、WordPressから任意のカスタムポストタイプを取得し、そこからEmDashのコンテンツタイプを作成することができます。
カスタムブロックの場合、EmDash Block Kit Agent Skill を使用して、選択したエージェントに指示を出し、EmDash向けにブロックを作成できます。
EmDashはv0.1.0で、プレビュー版です。ぜひお試しいただき、フィードバックをお願いいたします。EmDash GitHubリポジトリへの貢献も歓迎いたします。
もし、ただ試してみたいだけで、何ができるかまず理解したいのであれば、EmDash Playgroundの管理インターフェースを試してみてください。
新しいEMDashサイトをローカルに作成するには、CLIを介して、次を実行します。
npm create emdash@latest
または、以下のCloudflareダッシュボードから同じ設定を行うことができます。
お客様が構築されるものを楽しみにしています。もし、WordPressコミュニティで、ホスティングプラットフォーム、プラグインやテーマの作成者としてご活動されている方は、ぜひご連絡をお待ちしています。[email protected]までメールで、EmDashプロジェクトからどのような機能を期待されるかをお知らせください。
EmDashの主要な開発に関する最新情報を入手したい方は、こちらにメールアドレスを残しておくことができます。