<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>ヘッドレスCMS on qwerty.work</title>
        <link>https://qwerty.work/tags/%E3%83%98%E3%83%83%E3%83%89%E3%83%AC%E3%82%B9cms/</link>
        <description>Recent content in ヘッドレスCMS on qwerty.work</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-JP</language>
        <lastBuildDate>Sat, 09 Dec 2023 09:46:03 +0900</lastBuildDate><atom:link href="https://qwerty.work/tags/%E3%83%98%E3%83%83%E3%83%89%E3%83%AC%E3%82%B9cms/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>ヘッドレスCMS、SPA、SSR、SSGについてメモ</title>
            <link>https://qwerty.work/post/2023/12/memo-headless-cms/</link>
            <pubDate>Sat, 09 Dec 2023 09:46:03 +0900</pubDate>
            <guid>https://qwerty.work/post/2023/12/memo-headless-cms/</guid>
            <description>&lt;p&gt;最近、「ヘッドレスCMS」というのをよく聞きますが、どういったもので、何が必要なのかを忘れないためにメモ。&lt;/p&gt;&#xA;&lt;h2 id=&#34;ヘッドレスcmsってどんなもの&#34;&gt;ヘッドレスCMSってどんなもの？&#xA;&lt;/h2&gt;&lt;p&gt;ヘッドレスCMSは通常のCMSとは異なり、フロントエンドとバックエンドが完全に切り離されていて、CMSの仕組みにとらわれず開発できます。また、表示速度が速い、CMS機能を後付けできるといったメリットがあります。&lt;/p&gt;&#xA;&lt;p&gt;Wordpressなど、サーバー側で動的に処理して表示させるものとは違い、動的なページを予め静的なページで吐き出します。静的なサイトの読み込みとなるため表示が高速になるそうです。更にCDNにキャッシュさせて配信すると更に速くなるかも？解釈が違っていたらごめんなさい。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://bluemonkey.jp/media/column/Headless_CMS&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://bluemonkey.jp/media/column/Headless_CMS&#34; alt=&#34;https://bluemonkey.jp/media/column/Headless_CMS&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://bluemonkey.jp/media/column/Headless_CMS&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://bluemonkey.jp/media/column/Headless_CMS&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;その中でおすすめの構成が以下のページに書かれていました。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://www.synergate.co.jp/blog/headless-wordpress-speed/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://www.synergate.co.jp/blog/headless-wordpress-speed/&#34; alt=&#34;https://www.synergate.co.jp/blog/headless-wordpress-speed/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://www.synergate.co.jp/blog/headless-wordpress-speed/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://www.synergate.co.jp/blog/headless-wordpress-speed/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;何が必要&#34;&gt;何が必要？&#xA;&lt;/h2&gt;&lt;p&gt;ヘッドレスCMSを制作するには、幾つかの方法と組合せがあるようですが、「ジャムスタック構成」（Jamstack構成）と呼ばれるものが良いみたいです。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://jamstack-sg.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://jamstack-sg.com/&#34; alt=&#34;https://jamstack-sg.com/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://jamstack-sg.com/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://jamstack-sg.com/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;使用するのは以下の3つが相性がいいとのこと。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SSG（静的サイトジェネレーター）&amp;hellip; &lt;a class=&#34;link&#34; href=&#34;https://www.gatsbyjs.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Gatsby.js&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ホスティングサービス &amp;hellip; &lt;a class=&#34;link&#34; href=&#34;https://pages.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Cloudflare Pages&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ヘッドレスCMS &amp;hellip; &lt;a class=&#34;link&#34; href=&#34;https://microcms.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;microCMS&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Gatsby.jsはReactで作られた静的サイトジェネレーター。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://qiita.com/manabito76/items/fe91eefe11a74dcf5126&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://qiita.com/manabito76/items/fe91eefe11a74dcf5126&#34; alt=&#34;https://qiita.com/manabito76/items/fe91eefe11a74dcf5126&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://qiita.com/manabito76/items/fe91eefe11a74dcf5126&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://qiita.com/manabito76/items/fe91eefe11a74dcf5126&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;gatsbyよりもastrojsかも&#34;&gt;GatsbyよりもAstro.jsかも&#xA;&lt;/h2&gt;&lt;p&gt;以下のページによると、Gatsbyはブラックボックスになりやすいとのこと。まだ、Gatsbyでサイトを作ったことがなく、作り方もチンプンカンプンな私のレベルでは、Gatsbyは敷居が高くて手を出すのに躊躇しています。その次にNext.jsを検討しているのですが、これも使ったことのないReact製フレームワークで、Reactを書かなければならないとなるとちょっと&amp;hellip;という感じです。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://scr.marketing-wizard.biz/utilities/post-wordpress-alternarive-headlesscms&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://scr.marketing-wizard.biz/utilities/post-wordpress-alternarive-headlesscms&#34; alt=&#34;https://scr.marketing-wizard.biz/utilities/post-wordpress-alternarive-headlesscms&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://scr.marketing-wizard.biz/utilities/post-wordpress-alternarive-headlesscms&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://scr.marketing-wizard.biz/utilities/post-wordpress-alternarive-headlesscms&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;しかし、&lt;a class=&#34;link&#34; href=&#34;https://astro.build/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Astro.js&lt;/a&gt;ならHTML/CSSをそのまま書けば良さそうなので、SSGができて普通に書けばいいとなるとストレスは相当低くなりそうです。&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://astro.build/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://astro.build/&#34; alt=&#34;https://astro.build/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://astro.build/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://astro.build/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;よって、以下の構成がいいかも？&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SSG（静的サイトジェネレーター）&amp;hellip; &lt;a class=&#34;link&#34; href=&#34;https://astro.build/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Astro.js&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ホスティングサービス &amp;hellip; &lt;a class=&#34;link&#34; href=&#34;https://pages.cloudflare.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Cloudflare Pages&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ヘッドレスCMS &amp;hellip; &lt;a class=&#34;link&#34; href=&#34;https://microcms.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;microCMS&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;その他参考&#34;&gt;その他参考&#xA;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://qiita.com/hppRC/items/b22e8426d021938601fd&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://qiita.com/hppRC/items/b22e8426d021938601fd&#34; alt=&#34;https://qiita.com/hppRC/items/b22e8426d021938601fd&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://qiita.com/hppRC/items/b22e8426d021938601fd&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://qiita.com/hppRC/items/b22e8426d021938601fd&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://www.ragate.co.jp/blog/articles/16888&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://www.ragate.co.jp/blog/articles/16888&#34; alt=&#34;https://www.ragate.co.jp/blog/articles/16888&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://www.ragate.co.jp/blog/articles/16888&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://www.ragate.co.jp/blog/articles/16888&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;</description>
        </item></channel>
</rss>
