WordPressをやめてヘッドレスCMSにしました

logwではずっとWordPressを利用してきて、プラグインを使ったりして色々やってきましたが、このたびWordPressをやめてヘッドレスCMSに切り替えました

なぜWordPressをやめたのか?

理由は色々あります

  • 最近の自分の使い方にあわなくなってきた
  • アップデートなどが面倒
  • 放置によるセキュリティリスク
  • 新しい何かを使ってみたい

など。SOCアナリストとして活動している自分としては、放置することで脆弱性を突かれてWEBサイトの改ざんに遭ったりするのがいやというのもありました。WordPressはPHPで作られているため、攻撃者も多いのでどうしたらいいかなーと思ってました

自分の使い方と合わなくなってきた

僕は普段マークダウンでテキストを書いています。WordPressの管理画面から直接書いているわけではなく、テキストエディタで書く→コピーアンドペーストで貼り付けをしているというやり方でした。 ※現在のブロックエディターはマークダウン対応してますが、当時つかっていたのは対応しておらず、プラグインでエディターを変えていました

WordPressでなくてもよいのではないかなと思い始めていました

アップデートが面倒

WordPressは攻撃されることも多く、プラグインや本体のアップデートをしなければならず、それも少し面倒だなと思っていました。サイトで重大な問題が発生しましたというメッセージが出たときは対応が面倒でした。原因の特定がやりづらいためです。

かといって、アップデートしないで使い続けるのは問題なので、これはこれでよろしくないと思ってました。

放置によるセキュリティリスク

普段SOCアナリストとして活動しているので、放置することでセキュリティリスクが上がるのは目に見えてわかっていました。自分のサイトを見るユーザーも限られているし、このサイトから収益が発生しているわけでもないので、そう考えるとそこまで面倒を見きれない。だけど放置もできない、という状況でした。

WordPressやめたらいいじゃん

WordPressはPHPでできていて、ログシーカー(紹介記事はこちら)でログを取得してみたところ、様々な攻撃を受けていることがわかりました。それを見て思ったのは、放置するのもよくないがWordPressを使い続けるのも問題だなと思いました。

WEBページのスキャンなどされたりしてました。そこで、PHPをもうやめようか、と思いました

静的HTMLが理想

極論ですが、静的なHTMLサイトにも攻撃リスクはあるものの、動的なページに比べればリスクは軽減できます。具体的にはSQLインジェクションやOSコマンドインジェクションのリスクは下がりますが、JavaScriptを使ったXSSなどのリスクは残ります

サーバーの負荷という点でも、PHPよりも静的ページの方が軽いため下がります。このあたりを考えると、HTMLが理想だなと思っていました

HTMLが理想だけど面倒

HTMLは理想ですが、CMSのメリットは記事を書くだけでテンプレートが適用され、レイアウトが揃うところにあります。静的ページだとこのあたりが課題になります。

ヘッドレスCMSを検討

WordPressのメリットは管理画面があるところでした。

マークダウンをそのままgithubにアップしてCICDというのも考えましたが、それはそれでちょっと違うな、と思いました。管理画面から更新したいというのはありました。ただ、プラグインなど余計なものはなくてもいいなーと思いました

色々調べていたら、既存のデータベースなどをそのまま活かせるdirectusというヘッドレスCMSがあるのを知りました。それならこのCMSをつかってみようかと思いました

フロントエンドはAstroを使用する

バックエンドは決まりましたが、フロントエンドをどうしようかと思いました。調べてみると、Astroが最近人気で、Node.jsでビルドもできるということもあり、このフレームワークを採用することにしました。

現在の構成

現在はWordPressではなく、バックエンドにdirectusをつかって表示はAstroとなります。この構成でしばらくはやっていこうかなと思います