同じ問題に、違う答え。CloudflareのEmDashと、うちのCMSを並べる

「WordPressの精神的後継」を名乗るCMSが出ました。似た問題意識で作った側として、何が同じで何が違うかを書きます。宣伝を含みます。

この記事の結論

  1. どちらも「WordPressのプラグインが狙われる」という同じ問題から出発している
  2. EmDashは隔離して動かす。うちは公開面で動かさない
  3. ターミナルを使うかどうかで、選ぶものが変わる
  • どちらも「WordPressのプラグインが狙われる」という同じ問題から出発している
  • EmDashは隔離して動かす。うちは公開面で動かさない
  • ターミナルを使うかどうかで、選ぶものが変わる

CloudflareがEmDashというCMSを出している。自らを「WordPressの精神的後継」と位置づけていて、話題になっていた。

こちらも同じ問題意識でCMSを作ったので、読んでみた。出発点がほぼ同じで、解き方が違うのが面白かった。

先に立場を書く。片方は自分たちの製品なので、この記事は宣伝を含む。そのうえで、相手のほうが良い点も書く。都合のいいところだけ並べても意味がない。

出発点は、ほぼ同じだった

EmDashの発表の題名は「プラグインのセキュリティを解決する、WordPressの精神的後継」という趣旨になっている。

うちが作った理由も、ほぼ同じところにある。WordPressの修理を179件やって、原因がいつも同じ構造にあると分かったからだ。

管理画面も本体もプラグインも、訪問者に見せるページと同じサーバーで動いている。だから更新が止まった瞬間に狙われる。

この診断は、たぶん両方とも合っている。分かれるのは、その次だ。

SPONSORED

解き方が違う

EmDash白樺CMS
考え方隔離して動かす公開面で動かさない
土台TypeScript / AstroPHP 8.2+ / SQLite
プラグイン個別の隔離環境で実行(仕組みなし)
公開ページ静的も動的も選べる静的HTMLのみ
設置npm コマンドzipを置く
版1.0 安定版0.16.0
ライセンスMIT無料・商用可

EmDashの解き方

プラグインをひとつずつ別の囲いの中で動かす。そしてマニフェストで宣言した操作だけを許す。

発表にはこう書かれている。

EmDashのプラグインは、マニフェストで明示的に宣言されたアクションのみ実行可能

たとえばメール送信のプラグインには「内容を読む」と「メールを送る」の2つだけを与える。WordPressのようにデータベースへ直接触らせない。

これは正攻法だと思う。拡張できることを残したまま、被害が広がらないようにしている。

うちの解き方

役割を分けた。編集は管理画面、公開するのは書き出した静的HTMLだけ。

公開サイトに置くのはHTMLとCSSと画像だけになる。PHPもデータベースも無い。訪問者のアクセスでプログラムが動かない。

拡張性を捨てている。プラグインの仕組みそのものが無いので、隔離する必要もない。

なぜ「動かさない」を選んだか

昨日、今月の不正アクセスの多さを調べた記事を書いた。調査会社が挙げていた3つの落とし穴が、ここに効いてくる。

  1. CVEに載らない穴がある。サポートが切れた版は情報すら出ない
  2. 外から調べる側は、サービスを壊せない。攻撃側は壊していい
  3. WAFは研究されて回避される

3つとも「公開面で何かが動いている」ことが前提になっている。

動いていなければ、探す対象が無い。バージョンも、穴も、回避するルールも。

これが「動かさない」を選んだ理由になる。守りを強くするのではなく、守る対象を減らすという考え方だ。

ただし、EmDashも静的に出せる

ここは正確に書く。EmDashの公開ページは、静的にも動的にもできる。Astroがそうなっているからだ。

だから「EmDashは公開面で動く、白樺は動かない」という単純な話ではない。

違うのは選べるかどうかになる。

  • EmDash — 設計する人が決める。間違える余地がある
  • 白樺 — 選べない。間違えようがない代わりに、融通もきかない

どちらが良いかは、作った後に誰が触るかで変わる。

EmDashのほうが優れている点

正直に書く。いくつもある。

  1. 1.0の安定版が出ている。うちはまだ0.16.0だ
  2. MITライセンスで完全にオープンソース。中身を読んで、直して、使える
  3. 175人以上が1,800を超えるコミットで参加している。1人で作っているものとは厚みが違う
  4. プラグインの仕組みがある。足りない機能を足せる
  5. 動的なページが作れる。会員制、リアルタイムの在庫、訪問者の投稿
  6. AIエージェントから操作できる。MCPサーバーを標準で持っている
  7. Cloudflareの配信基盤に乗る。規模が要るときに強い

とくに5番は大きい。うちは会員制や在庫が動く通販には使えない。これは仕組み上どうにもならない。

白樺CMSのほうが向く場面

こちらも具体的に書く。

1. いつものレンタルサーバーで動く

EmDashはNode.js 22.16以上が要る。Cloudflareの環境か、Node.jsが動くサーバーになる。

白樺はPHP 8.2以上とSQLiteだけだ。DBサーバーも要らない。

日本の中小事業者が契約しているレンタルサーバーは、たいていPHPは動くがNode.jsは動かない。いま借りているサーバーのまま始められるかどうかは、現場ではかなり大きい。

2. 設置にターミナルが要らない

EmDashはnpm create emdash@latestから始まる。コマンドを打てる人向けだ。

白樺はzipを置いて、ブラウザで /cms/install/ を開く。それだけになる。

ここは好みではなく、誰に渡すかの問題だと思う。制作者が自分で使うならどちらでもいい。お客様が引き取って運用するなら、話が変わる。

3. 依存しているものが少ない

npmのパッケージを使う以上、その先の依存も一緒に抱えることになる。配布元が乗っ取られる話は、実際に何度も起きている。

白樺はnpmを使わない。これは機能が少ないことの裏返しでもあるが、気にする対象が減るのは事実だ。

4. 日本の商習慣に合わせてある

デザインは49種、セクションは23種。業種を選ぶと全ページ入りで始まる。

営業日カレンダーは定休日・祝日・臨時休業を設定でき、閲覧した日を基準に表示するので月が替わっても公開し直さなくていい。

予約は問い合わせフォームに予約枠の項目を足す形で、営業日カレンダーと連動する。申し込みはサーバー側で1件ずつ処理するので、同時に届いても定員を超えない(同じサーバーに公開する方式のとき)。

この手の細かいところは、海外の道具を日本向けに直すと必ず引っかかる場所になる。

5. HTMLを知らない人が更新できる

白樺はHTMLやCSSの直接編集に対応していない。制作者から見れば制約だが、お客様に渡す前提なら、むしろそこが要る。

触れないものは壊せない。「更新したら崩れた」が起きない。

どちらを選ぶか

判断は、だいたいこの4つで決まると思う。

こういう場合向くほう
会員制・在庫・口コミが要るEmDash
ターミナルを使える人が運用するEmDash
いまのレンタルサーバーで始めたい白樺
お客様が自分で更新する白樺

そしてどちらでもない答えもある。いまのWordPressがちゃんと更新できているなら、そのままでいい。乗り換え自体が手間とリスクになる。

個人サイトでやる範囲は最小限の5つにまとめてある。まずそこからで足りることは多い。

預け先が増えることについて

最後に1つ。どちらを選んでも消えない論点がある。

今月、Web制作サービスのStudioが侵害された件を書いた。そして利用していた側が報告義務を負う話も書いた。

便利な基盤に乗るほど、その基盤が止まったときに自分も止まる。

  • EmDash — Cloudflareに乗せるなら、そこに依存する(自前のNode.jsでも動く)
  • 白樺 — 公開面が静的ファイルなので、管理画面が止まってもページは出続ける

これは優劣ではなく何に賭けるかの話だと思う。Cloudflareの基盤は、うちより確実に堅い。一方で、止まる範囲は広くなる。

まとめ

  • EmDashはCloudflare製。TypeScript / Astro。MITライセンス。1.0安定版
  • 解き方はプラグインを隔離して動かす。宣言した操作だけ許す
  • 白樺は公開面で動かさない。書き出した静的HTMLだけを置く
  • EmDashも静的に出せる。違いは選べるかどうか
  • EmDashが優れるのは安定版、オープンソース、拡張性、動的ページ、AI操作
  • 白樺が向くのはレンタルサーバー、ターミナル不要、お客様が更新する場合
  • いまのWordPressが更新できているなら、そのままでいい
SPONSORED

出典

本記事は自社プロダクト(白樺CMS)を含む比較であり、宣伝を含む。EmDashに関する記載は上記の公表資料に基づくもので、筆者が本番環境で運用した結果ではない。両製品とも機能とバージョンは変更されるため、導入の前に各公式情報で確認すること。本記事は法的な助言ではない。

新しい記事が出たら、ブラウザの通知でお知らせします。

メールアドレスの登録は要りません。いつでも止められます。

AUTHOR

北海道のWEB屋

北海道を拠点に、Web業界14年・サポート実績1,000件以上。WordPressの復旧、サーバー移転、独自ドメインとメールの設定、PHP・JavaScriptの修正まで対応します。相談と見積もりは無料です。

SPONSORED

関連記事

RELATED