てけもぐ Tech 忘備録

無料で、第三者の広告等入らないブログを作った時の忘備録1。各サービスを選んだ理由。

対象読者

自分のブログが欲しい、エンジニアの人とか自分である程度コードを組んでも良い人

解決すること

無料で、広告等も出ない自分だけの忘備録ブログを持つこと。サービス終了に耐性があるものにしたい

内容

JAMSTACK を採用。コンテンツの保存と管理に microCMS を使用。公開ホスト側に CloudFlare Pages を使う。jamstack の構築には nextJS。コードの管理は github。

  • JAMSTACK
    • WordPress は自分の家でサーバーを立てるとか、レンタルサーバーを借りるとかして結局金がかかる。自宅サーバーは、セキュリティとかメンテナンスの問題もある上、地味に電気代も考えたくない。
    • 昨今マイクロサービスが充実してきたので結構色んな手段が選べる。
    • SPA にするもの手なんだけど、SEO がなんだか上手く行かないとか、余計な悩み事がない。
    • 編集時のビルド時間だけが問題。個人で管理する量であれば気にならないかとは思う。
  • コンテンツの管理に microCMS
    • 「APIベースの日本製ヘッドレスCMS」だそうです。CMS は Contents Management System の略。つまり記事の内容だけ管理する。スタイルとかビルドなど諸々は nextJSの方でやる。
    • リッチエディタが使える。スマホ上でもちょっと頑張れば編集可
    • 日本の会社だけに日本語の使用に問題がない。
    • タダ枠が結構ある。感謝!
    • 複数書式が設定可能
    • 複数のプロジェクトを持てるので、microCMS 一箇所で複数のブログ内容を管理できる
    • 画像の保持も出来て、URLパラメータでサイズ指定等が可能なので帯域の消費を防げる
    • 無料枠だとアクセス先のIP制限が出来ない。無料なので贅沢な話だけれど、いたずらに curl でアクセスされたらやだなぁ。
    • リッチテキストはあるけれど、Markdown 専用のエディタモードはない。やるならテキストで書いて nextJS 側で展開かな。手元にMarkdown エディタを作ってMicroCMS の拡張API と連携する方法もあるみたい
    • アップデートもちゃんとやってるし、公式のブログやドキュメント も親切で好感持てる
  • ビルドと静的ファイルの公開に CloudFlare Pages
    • github page も考えたけれど、構築はしてくれないので除外。パソコンで書くならローカルでビルドしてもいいけど、スマホで書きたい時って絶対あるはず。どこか行った時とかにベッドでゴロゴロしながらスマホで書きたい。
    • Netlify、Vercel、firebase hosting も検討したけれど、ビルドしてくれて無料枠が大きい CloudFlare Pagesに。
    • CloudFlare Pages は無料枠でも転送料に制限なし! ビルドが月に 500回だけど、まぁ1人でやるなら引っかからないでしょう。
    • CDN とか DNS とかでもお世話になったりする。
    • CloudFlare Workers という Netlify のfunctions みたいのがある。今は使わないけどあると安心。
    • WebHook があって、nextJS のコードを github に push した時にも、microCMS でコンテンツを編集した時にも自動更新できる。これを知って、ごろ寝しながらスマホで編集してポチって公開の流れが脳内で完結した
  • NextJS
    • React 使うならこれが楽!JAMSTACK なら更に楽。
    • なんでも用意されてて書くだけっていうブログのホスティングサービスとは違って、ある程度自分で nextJS と関連コードを書く必要はある。

なんにしても一番大事のはダタなこと。多少でも設けられるなら良いけれど、見てもらえるかも分からないコンテンツにずぅーーーーっと課金しているのは避けたい。値上げされても今までの投入労力を考えるとやめ難いので、大事なこと。

もう1つ、サービスが終了したとしても代替手段が取れること。Heroku で無料枠がなくなった時、どれだけ大勢の人の労力が(例え利益を産んでなかったとしても)無に帰したことか。上の構築の仕方なら、各マイクロサービスの部分だけ代替にしたり自分で作ったり出来る。