「GatsbyJSとNetlify CMSでブログを作る」で静的ファイルとHeadless CMS
で情報管理できないかと考えましたが、さらにホスティングとコンテンツを分離を考える。
Contentful
でコンテンツ管理をしてみます。
コンテンツ管理について
このブログは現在ワードプレス(WordPress
)で書かれています。
WordPress
は言わずと知れたオープンソースでオールインワンなCMS
です。
プラットフォームはPHP
で動的生成のため遅くなりがち。
基本機能やプラグインの種類に不満はないんですが、最近はメンテナンスが面倒になってきてます。
Headless CMS
ではコンテンツをフロント(表示)と分離して管理できます。
ブログのようなコンテンツを考えると、フロントロジックとコンテンツが完全に分離できると管理が楽になります。
マークダウンのような転用が楽な形式で書ければより嬉しい。
Contentful
Headless CMS
の中でも特に使われるサービスです。
Contentful
とGhost
は格別人気がある感じがする。
「Get started
」「Try for free
」でアカウントを作成します。
コンテンツの管理だけしたいので左を選択します。右はフロント込みの開発。
Spaceの作成
サンプルスペースが作られてますが1から作りたいので新しくスペースを作ります。
左上ハンバーガーメニューから「+ Create space
」します。
フリーでも十分使える容量です。
empty space
を作成しました。
Content typeの設定
作ったスペースにコンテンツを置くためにコンテンツタイプを設定します。
「Content
」タブから「Add content type
」でコンテンツ形式を作成します。
Field
には見た目やvalidation
の設定もできます。
後で編集もできるので適当に必要そうなものを設定します。
Contentを作る
Content
タブを再び開くと「Add memo
」が追加されているので押します。
必要な項目を埋めたら「Publish
」する。
Contentを読み込む
「Settings
」→「API keys
」から「Add API key
」を押してキーを追加します。
ここで取得した「Space ID
」と「Content Delivery API - access token
」を使ってフロントから読み込みます。
contentful
モジュールを使ってもいいし、Gatsby
であればプラグインを使う。
所感
「Gatsby
+Contentful
+ホスティング」と「Gatsby
+Netlify CMS
」と比べる。
メリットとしては、コンテンツが完全に分離され自由度が上がる。
デメリットは、サービスが別れるため管理・学習コストが上がる。
Netlify CMS
はCMS
+ビルド+ホスティングを同時にやってくれるので、そっちで対応できない問題がなければ便利に使えそう。
先駆者のブログなんかも参考にはしますが、結局は自分で試して問題にぶち当たらないと何を使うべきかってのは判断しにくいです。
なので手軽に乗り換えられることを確認しておかないと。