WordPress をヘッドレス CMS として扱うために考慮すること

ヘッドレスCMSとは、ざっくりコンテンツの管理(中身)だけを担い、表示部分(見た目)は自分で用意するCMSとなります。
通常、WordPressは中身の管理(投稿・編集)+ 表示(テーマ・テンプレート) を全部やります。
ヘッドレスCMSは、中身の管理だけをやります。バックエンドに当たる部分ですね。

目次

有名なヘッドレスCMS

有名なヘッドレスCMSには下記があります。

CMS名特徴日本語対応管理画面API種別ホスティング開発者向けレベル無料プラン
microCMS日本製。ノーコードUIが使いやすい✅ あり◎ 直感的REST API提供あり(SaaS)初心者〜中級者✅ あり(制限あり)
Newt日本製。画像管理やドラッグUIも優秀✅ あり◎ 高機能REST API提供あり(SaaS)初心者〜中級者✅ あり(制限あり)
Strapiオープンソース。自己ホスト可能△多言語○ やや複雑REST + GraphQL自分で用意(自己管理)中級者以上✅ あり(OSS)
PayloadオープンソースでTypeScript対応❌ 英語のみ△ 技術的REST + GraphQL自分で用意(自己管理)中級者以上✅ あり(OSS)
Contentfulグローバルで有名。信頼性◎❌ 英語のみ◎ モダンREST + GraphQL提供あり(SaaS)中級者〜上級者✅ あり(制限あり)

検討した結果、私はWordPressをヘッドレスCMSとして使ってみようと至りました。なぜそう考えたかはどこかで書こうと思います。

WordPressをヘッドレスCMSとして扱うために整理する

実現したいことは下記です。
これができれば、たいていの要件をもつアプリケーションでも対応ができると思います。

・WordPress管理画面が扱える
・投稿(posts)、固定ページ(pages)などの基本コンテンツをAPI経由で取得可能にする
・カスタム投稿タイプをAPI経由で取得可能にする
・カテゴリー・タグの取得をAPI経由で取得可能にする
・メディア(画像・PDFなど)のURL取得
・WordPress REST APIの有効化
・WordPress REST APIの拡張( JWT認証、CORS対応 )
・WordPress REST APIのセキュリティ対策 ( APIレート制限、APIアクセス制御、IPホワイトリスト )
・WordPress全般のセキュリティ対応(2FA、ブルートフォース対策)
・キャッシュなどのパフォーマンス戦略

ヘッドレスCMS化すると、themeファイルに依存することがなくなるため、フロントエンドの技術的な自由度が高くなります。

一方で、WordPressはヘッドレスCMSではないので、自分でカスタマイズする必要があります。
プラグインで対応できるところもあれば、コードを書く必要もあります。そういった意味で保守やセキュリティ対策はSaasを使うよりも負担があります。

シェア!

この記事を書いた人

kenichiのアバター kenichi エンジニア・写真家 | Engineer and photographer

日本全国と海外を旅するノマドワーカー。5年間、技術営業として働いたのち独立。
フリーランスエンジニアとしてWebサイト制作やアプリケーション開発を行う。面白い人たちの面白いを世に届けるべく行動中。
2024年11月にポルトガルへ移住🇵🇹

目次