Next.js × microCMS でブログを作ろう

# はじめに

ブログを作ろうと思ったときに、「WordPressは使いたくないし、Next.jsでいい感じに記事を管理できないかな」と思い、ヘッドレスCMSを試してみることにしました。
日本製ヘッドレスCMSのmicroCMSを利用してみたところ、めちゃくちゃ簡単に、かっこいいブログができたので紹介します。

# CMSとは

> 「CMS」とは、「Contents Management System：コンテンツ・マネジメント・システム」の略で、簡単にいうとWebサイトのコンテンツを構成するテキストや画像、デザイン・レイアウト情報（テンプレート）などを一元的に保存・管理するシステムのことです。
>
>[引用元] Hitachi Solutions, Ltd.　“CMSとは？初心者でもわかるCMSの基礎知識とメリット、導入事例”.
[https://www.hitachi-solutions.co.jp/digitalmarketing/sp/column/cms_vol01/]()　(参照2023-09-28)



# ヘッドレスCMSとは

CMSとヘッドレスCMSの違いについてChatGPTに聞いてみました。

> 通常のCMSは、コンテンツ管理と表示が一体化しており、非技術者向けに使いやすい一方、ヘッドレスCMSは柔軟性が高く、開発者向けで、コンテンツ管理と表示が分離しています。どちらを選ぶかは、プロジェクトのニーズと技術的な要件に依存します。

ヘッドレスCMSは、「コンテンツを管理するUIと、そのコンテンツを扱うためのAPIを提供しているもの」だと思ってもらえるとわかりやすいかと思います。
今回紹介する[microCMS](https://microcms.io/)は日本製のヘッドレスCMSになります。

https://microcms.io/

他にも [Newt](https://www.newt.so/) という日本製のヘッドレスCMSもあり、こちらもめちゃめちゃ使用感が良くおすすめです！
（ちなみに2人で開発しているらしいです、、、凄すぎる、、、）

今回は microCMS を使って作っていこうと思います！
次回は Newt の記事も書きます :thumbsup:

https://www.newt.so/


# Next.js と microCMS でブログを作ってみる

microCMS も Newt も、いろいろなフレームワークに対応したテンプレートを用意しており、一瞬でブログができあがるので、ぜひ試してみてください！
今回は microCMS の[テンプレート](https://templates.microcms.io/)を利用してサクッと作っていきます！
既存プロジェクトに導入したい場合は、microCMS の [Getting Started](https://document.microcms.io/tutorial/next/next-getting-started) を参考にすると良いかと思います。



## アカウントを作成する

[microcms.io](https://microcms.io/) からサインアップして、アカウントを作成します。
カード登録等も必要なく、簡単にアカウントが作成できます！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/6e5d5ab2-2916-c48d-b515-272c428c1e87.png)



## テンプレートからサービスを作成する

サービスを作成する画面から、「テンプレートから選ぶ」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/051bc8de-c7c0-7a5b-97ae-b97819eb648a.png)

今回はNext.jsで作っていきたいので、「シンプルなブログ」のテンプレートを選択します！
（コーポレートサイトなどのテンプレートもたくさんあります、、すごい、、、）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/833ed77b-31ec-1ab3-8f43-c3427e929466.png)



## GitHubと連携し、リポジトリを作成する

テンプレートを選ぶと、「GitHubと連携」というボタンがあるので、それを押下して連携します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/468cfa40-019f-dedc-c380-429a5b353e85.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/119ce002-d5a7-1e93-fcc9-fdac8d24f4a1.png)



## リポジトリが生成されるので、環境構築手順に従ってmicroCMSと連携する

生成されたGitHubのリポジトリをクローンし、環境構築手順に従って編集していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/040c8aad-2f69-fb35-1575-7b0a08c0e5db.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/f6bde311-9a00-ee5a-ef28-9accda8bf943.png)



## 開発サーバーを起動する


1. パッケージをインストールする
    ```bash
    npm install
    ```

2. 開発サーバーを起動する
    ```bash
    npm run dev
    ```


たったこれだけで、http://localhost:3000 にアクセスするとブログが立ち上がります！！！ :tada: 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/cfd04dc3-eead-382a-5325-8fe49324bfbe.png)



## 記事を追加してみる

アクセスした時点ではまだ記事が存在しないと思います。
ここからが感動するところです！microCMSの管理画面で、記事を追加していきます！！

microCMSにログインし、管理画面を開きます。
サイドバーにあるブログというところから、コンテンツを追加します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/3b548fde-bac1-5f7b-66df-4af0bd77d592.png)

タイトルや内容を記載して、「公開」を押下します。
サムネイル画像もアップロードできちゃいます！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/9dd2ae77-04f0-4524-52cc-bd7e6e31f13f.png)



## 記事が表示されることを確認する


再度、http://localhost:3000 にアクセスしてリロードすると、
追加した記事が表示されていることを確認できます！！！！！ :raised_hands: 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/e8c011e5-160d-0411-6ca3-ee09b7ce6f54.png)

詳細画面にも内容が入っています。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527043/11635e12-b411-f908-5f0a-903f98ce30e6.png)



# まとめ

Nest.js と microCMS でブログをサクッと作ってみました！
見た目を Next.js で作れて、コンテンツを管理できるいい感じの管理画面がすぐに使えるようになる「ヘッドレスCMS」の紹介でした！
次は、このテンプレートをカスタマイズするために、コードの紹介もしていきます！