ブログ一覧

WordPress と EmDash の差は好みではなくプラグインの作りにある

半年前、WordPress に限界を感じて EmDash に賭けると書きました。EmDash は Cloudflare が作った Astro 製の CMS で、当時はまだ v0.1 でしたが、9 月 28 日に 1.x の最初の版が出て、Cloudflare も自社のブログを 8 月に EmDash へ移しています(Search Engine Journal)。私はいま 9 つのサイトを Cloudflare Workers(Cloudflare のサーバーレスの実行環境)の無料プランで動かしていて、10 月 6 日に全部を 1.1 に上げました。

WordPress を使っている人からすると、乗り換える意味が本当にあるのかは怪しく見えると思います。プラグインを足せばどちらでも同じサイトが作れるなら、結局は好みで選べばいいのではないか、と。

半年使った私の答えは、好みの問題ではない、です。WordPress は管理者なら誰でも本番のコードを書き換えられる作りになっていて、私はそれをトレードオフでは済まない弱点だと考えています。EmDash はそこを最初から作り直しているので、私はいまも EmDash に賭けています。ただ、エコシステムはまだ育っていませんし、国内には気軽に始められる場所もありません。

差は、本番のコードを誰でも触れる作りにある

WordPress のプラグインは WordPress 本体と同じ PHP のプロセスで動き、データベースにもファイルにも直接触れると、EmDash を作った当事者である Cloudflare が説明しています。管理画面からもプラグインやテーマの PHP を既定で編集できて、止めたければ DISALLOW_FILE_EDIT を設定してくださいと WordPress 公式の文書にあるとおり、何も設定しなければ管理者は動いている本番の functions.php をその場で書き換えられます。

その結果は数字にも出ていて、Patchstack の調査では、2025 年に WordPress のエコシステムで新しく見つかった脆弱性は 11,334件で前年より 42% 増え、91% がプラグインのもので、46% は公表の時点で直す版が出ていませんでした。

こうして自由に触れるのは便利でもありますが、私はデメリットのほうがはるかに大きいと考えています。サイトの安全が運営者の腕しだいになってしまうからです。誰でもサイトを作れることが売りの CMS なのに、作った人の腕に安全を預けているところが、今の WordPress の最大の弱点だと思います。AI で誰でもコードを書けるようになったぶん、事故はこれから増えるはずです。

では WordPress がプラグインを隔離すればいいかというと、そうすると今あるプラグインのほとんどが動かなくなり、最大の資産を捨てることになります。なので WordPress のままではやれないだろうと私は見ています。EmDash はそこを最初から作り直していて、私が賭けているのはこの点です。

EmDash のプラグインは2種類あります(公式の説明)。隔離して動かす方(sandboxed)は、宣言した権限の中でしか動けず、マーケットプレイスから入れるときは権限への同意を求められます。もう一方(native)は本体と同じ場所で何でもできる代わりに、コードに書いてビルドとデプロイを通さないと入りません。何でもできるコードを入れられるのは、リポジトリを触れる開発者だけということです。

言語の差も同じ向きです。TypeScript は型で誤りを動かす前に見つけるために作られた言語で、PHP は後から型を足した言語なので、動かす前に確かめるには PHPStan のような外の道具が要ります。TypeScript なら標準の道具で手に入る堅さが、PHP では書き手がそういう道具を入れるかどうかにかかっているわけです。WordPress 7.0 が PHP 7.4 でも動くよう保っているのも、古いコードを切れないからです。

プラグインを隔離して動かすには課金が要る

ただし、この隔離には課金が要ります。Cloudflare の上では Dynamic Workers という、別のコードを隔離して動かす仕組みを使うのですが、これは Workers の有料プランでしか使えません。無料プランで動かしている私の 9 サイトでは、自作のプラグインは全部 native で動いています。

これは私が開発者で仕組みを分かっているから成り立つ話で、プラグインの安全性を理由に EmDash を選ぶなら、原則として課金が要ります。それでも 有料プランは 1 アカウント月 5 ドルからで、何十サイトでも動かせ(月 1,000 万リクエスト込み、超えた分は従量)、レンタルサーバーと比べても破格です。

無料プランのままでも動くことは動きますが、1 リクエストの CPU が 10ms までという制限に当たってトップページが壊れたままキャッシュされたこともありました。タダですべてが手に入るわけではありませんし、その条件もいつ変わるか分からないので、私は無料で運用できることを EmDash を選ぶ理由にはしません(有料プランにした場合の見積もりは別の記事に)。

足りない部品は AI で作れるが、確かめる手間は残る

安全に次ぐ不利は、エコシステムが未成熟なことです。WordPress ならプラグインを入れて済むフォーム、メール送信、SNS の共有ボタン、キャッシュの削除といった機能を、私は 9 サイトで使う部品として 9 つ自作しました。

ただ、いまは欲しい機能を AI で作れるので、私はこれをそこまで大きな不利だと思っていません。エコシステムが成熟するまでの時間も、WordPress のときよりずっと短いはずです。

とはいえ作った部品は native で動くので、中身は自分で確かめ、本体の版を上げるたびに動くかも確かめます。この 6 週間だけで新しい版が 12 も出ていて、1.1 に上げたときはコメントの部品の読み込み先が変わって 2 サイトのビルドが落ちました。WordPress ならボタンか自動更新で済む更新が、EmDash では依存の版を上げてビルドし直すコードの作業になります。

広まらないのは、国内に始める場所が無いから

それでも EmDash がまだ広まっていないのは、始める場所が無いからだと思います。WordPress が広まったのは、PHP と MySQL さえあればどの安いレンタルサーバーでも動き、各社がかんたんインストールを付けたからです。EmDash には、申し込んでボタンを押せば始まる場所がまだありません。

EmDash は Workers のほかに Node.js でも動きますが、プロセスを動かし続ける必要があり、PHP 前提の共用レンタルサーバーには載りません。海外では WPMU DEV が月 15 ドルからのワンクリックのホスティングを、Network Solutions が VPS に一発で入れる形を出していますが、国内の大手で扱う所は、私が探した範囲では見つかりませんでした。逆に言えば、自分でデプロイできる開発者にはこの壁が初めからありません。

結局、WordPress と EmDash のどちらを選ぶかは好みではなく、何を引き受けるかだと私は考えています。成熟したエコシステムとボタン 1 つで始められる手軽さを取るなら WordPress で、本番のコードを管理画面から触れない作りと堅い言語を取るなら EmDash です。EmDash を取る場合は、未成熟な部分を引き受け、始める場所を自分で用意し、隔離の恩恵には課金することになります。それでも、自分でデプロイでき、AI に作らせた部品の中身を確かめられる知識と技術がある人ほど、EmDash の不利は小さくなると思います。

この記事をシェア