EmDashでこのブログを作ってみた — WordPressとの違いとセキュリティの話

EmDashでこのブログを作ってみた

このサイトをまるごとEmDashで組んでみました。何ができて、よく比較されるWordPressとセキュリティ面で何が違うのか、使ってみて感じたことを書いておきます。

このブログはEmDashというCMSで動いています。前から気になっていたので、このサイトを一本まるごとEmDashで組んでみました。使ってみて何ができるのか、そしてよく比較に出るWordPressと何が違うのか、特にセキュリティまわりで感じたことを書いておきます。

EmDashでできること

EmDashはAstroの上に載るCMSで、管理画面もちゃんとついています。記事はブロックを積むエディタで書けて、見出しや本文、画像、コードブロックを並べていく感覚は、WordPressのブロックエディタに近いです。

管理画面で書いた記事をPortable Textで保存し、AstroからWebページ、検索、RSS、SEOへ届ける流れ

中身の持ち方は少し違います。EmDashは本文をPortable Textという構造化されたデータで保存します。HTMLの文字列ではないので、後からデザインを変えても本文が壊れにくい。このブログも途中でフォントと配色を全部差し替えましたが、記事側は一切触らずに済みました。

気に入っているのは、サイトの構造がコードとして残るところです。どんな種類の記事があって、どんなタグやカテゴリを持っていて、メニューに何を出すか。それがseedという1つのファイルに書いてあります。管理画面をポチポチ触って作った設定が頭の中だけに残る、ということが起きにくい。全文検索もRSSもSEOも下書きも最初から入っていて、プラグインをかき集めなくても一通り揃います。

WordPressのセキュリティの話

WordPressが世界のサイトの4割を動かしているという話は有名で、裏を返せば攻撃者にとって一番効率のいい標的でもあります。狙う側からすれば、同じ手口が世界中で通用するわけです。

やっかいなのは、穴の多くが本体そのものより、入れっぱなしのプラグインやテーマから来るところらしいこと。自分で選んで入れたコードが、更新を止めた瞬間に弱点になります。WordPressサイトのアクセスログを見ると、wp-login.phpへの総当たりが毎日大量に来るのもよく知られた話です。常時起動しているPHPとデータベース、そして誰でも辿り着けるログイン画面。この組み合わせは、放置に弱い。

WordPressのログイン画面、プラグイン、テーマ、PHPとデータベースには、それぞれ継続的な対策が必要

もちろん、きちんと更新して、認証を固めて、WAFを噛ませれば、WordPressでも安全に運用できます。ただそれは、運用し続ける人がいる前提の話です。個人ブログだと、その世話をずっと続けられるかがそもそも怪しいのです。

構成そのもので守るという発想

EmDashで安心なのは、頑張ってセキュリティを足すからではなく、構成がそもそも攻撃対象を減らしているからです。このブログはCloudflareのエッジから配信されていて、常駐しているPHPサーバーがありません。データベースへの直接の入り口も表には出ていません。総当たりの的になるログイン画面が、公開サイトと同じ場所に置かれていない。

読者が通る公開経路と、編集者が認証を通って使う管理経路を分けた構成

守るために何かを増やすのではなく、守るものが最初から少ない。放置しても穴が広がりにくいこの感じは、個人で細々と続けるブログにはかなり合っていると思います。

向き不向き

正直なところ、誰にでも勧められるものではありません。EmDashはコードを触る前提のところがあって、プラグインを入れれば何でも増やせるWordPressの手軽さはない。デザインを凝りたい、プラグインで機能を足したい、非エンジニアが管理画面だけで完結させたい。そういう用途なら、今でもWordPressのほうが早いでしょう。

EmDashはコードを触れて文章中心で運用する場合に向き、WordPressは管理画面やプラグイン中心の運用に向く

でも、私のように文章を書くのが主で、サーバーの世話に時間を取られたくないなら、EmDashは悪くない選択です。今あなたが読んでいるこのページも、EmDashが吐き出したもの。しばらく使ってみて、また気づいたことがあれば書き足すつもりです。