情報発信

技術ブログを自作するメリット・デメリット【エンジニア向け】

このブログはNext.js+Contentfulで自作していて、長く運営してきました。技術ブログを始めようとするとき、選択肢として考えられるのが〈自作するかどうか〉だと思います。

この記事では「技術ブログの自作ってどうなんだろう」という疑問に対して:

  • 技術ブログを自作するとはどういうことか
  • 自作するメリット・デメリット
  • 技術選定に対する考え方

について書きます。この記事を読むことで、技術ブログを自作するかどうかの判断材料になると思います。

このブログを元にした体験談も書いているので、ブログ作りの参考になればうれしいです。

著者
ぜに/Hiroki Zenigami

Webエンジニア&プロダクトマネージャ←プログラミング教育で起業←東大院←熊本高専。 共著に「現場で使えるRuby on Rails 5」。

目次

技術ブログを自作するとはどういうことか

説明のイメージ

ここでいう技術ブログの自作とは、「ブログを自分で開発・運用すること」です。WordPressやブログサービス、静的サイトジェネレーターなどのツールを使わずに、自分でコードを書きつつ開発することをいいます。

技術ブログの自作は、経験上:

  • 技術的な成長・パフォーマンスの追求には最適な選択
  • ブログを長く継続するという意味では避けたい方法

と考えています。これについて、技術ブログを自作するメリット・デメリットの観点から書いていきます。

loading...

技術ブログを自作するメリット

スピードのイメージ

技術ブログの自作は、次の4つのメリットがあります:

  • 技術的に成長できる
  • 表示パフォーマンスを追求できる
  • 費用を抑えられる
  • ポートフォリオになる

技術ブログを自作しようと考えるとき、まっさきに思いつくのが「技術的な成長」だと思います。使ってみたい技術がある、身につけたいスキルがある、などですね。

例えばRuby on RailsやGoのスキルを高めたいからそのフレームワーク・言語を使って作れる、というのは自作の大きなメリットです。

また表示パフォーマンスを追求できるのも大きいです。ブログサービスは表示が遅いところがほとんどで、WordPressもサーバーによっては早くなりますが、自作にはかないません。

例えばNext.jsのようなフレームワークを使うと:

  • 静的ページとしてビルドできるため、アクセス時にデータベースとのやりとりが発生しない
  • CDNを通して近くのサーバーからファイルを配信できる
  • バックグラウンドでプリフェッチできるので、リンククリック時に高速でページ遷移できる

といった、高速化にとことんこだわれます。こういったフロントエンドのスキルは、技術的な成長にもつながります。

また、維持費がかからないようにもできます。VercelやNetlifyといったサーバーは個人用途では無料で、ContentfulやmicroCMSといったHeadless CMSも無料の範囲で利用可能です。

パフォーマンスの高いブログを低コストで運用できるのは魅力的ですね。

最後に、ブログを自作したという経験は対外的にも大きなアピールポイントになります。転職・副業に活かしたいという考えをもっているなら、自作という選択肢を検討するといいと思います。

技術ブログを自作するデメリット

問題が起きるイメージ

反対に、技術ブログを自作するデメリットは次の5つがあります:

  • 運用コストがかかる
  • 記事の更新方法が手間
  • 費用がかかる
  • セキュリティを担保する必要がある
  • SEOの知識がいる

技術ブログを自作すると、言語・フレームワークやそれに依存するライブラリをアップデートする必要が出てきます。技術的な挑戦という意味で開発中はいいですが、いざメンテナンスするとなると面倒だったりします。

これはブログの更新が止まってしまう大きな要因のひとつです。

また、実装方法によりますが、ブログサービスやWordPressより記事を更新する方法が手間になりがちです。

更新のUXが徹底的に考えられているブログサービスなどに比べると、自作のシステムは記事の更新がわずらわしくなりがちで、これもブログの継続という意味ではデメリットになります。

ブログの自作は費用もかかってきます。例えばRailsのようなアプリケーションサーバ・データベースが必要な技術構成だと、個人としては大きな費用がかかります。

コストを抑えようとすると、今度はパフォーマンスが下がってしまいます。今後数年、数十年と運営することを考えると、コスト面もしっかり検討したいです。

セキュリティの担保も必要です。データの更新部分も自作する場合、セキュリティの知識がないと攻撃を受けることにつながります。

ただ、裏を返すとセキュリティのスキルを高めるための学習材料にもなります。いずれにしてもリスクがあるということは頭に入れておきたいです。

最後に、SEOの知識が必要になります。技術ブログは性質上ほとんどが検索流入になります。ただ、記事を公開しただけでは検索エンジンの流入はふえづらいです。これはHTML・内部リンクなどの最適化が必要になるためです。

ここに技術的な興味をもって取り組めるならいいですが、興味がないとつらいです。また、検索流入の必要がないなら問題にはなりません。

技術ブログにおける技術選定

技術スタックのイメージ

上述の通り、技術ブログは〈ブログを継続する〉という意味だと一番ハードルの高い選択肢です。

元も子もないですが、あまり継続のことは考えず、成長・興味という点で好きなように作るといいと考えています。

各技術については、例えば次のような選択肢が考えられます:

項目内容
言語Ruby, Node.js, Go, Python, PHP
フレームワークRuby on Rails, Django, Laravel
データベースRDM, Headless CMS (Contentful, microCMS)
サーバーAWS, Heroku, Vercel, Netlify
loading...

体験談:本ブログの場合

レポートのイメージ

このブログはNext.js+Contentfulで開発していて、言語としてはTypeScriptを採用しています。この背景は技術的な興味で、単純に:

  • Next.jsでプロダクトを開発してみたかった
  • TypeScriptのスキルを習得したかった
  • Headless CMSを導入してみたかった

というのが理由です。

私は過去にRailsで技術ブログを作り、1年以上運用したことがあります。管理画面も自分で作りましたが、とにかく記事の更新が面倒でした。

ライブラリのアップデートへの追随も面倒で、維持費を抑えた結果パフォーマンスもわるくなりました。

自作ブログにおいて、継続することを前提にするなら、記事の管理のしやすさ・維持費・表示パフォーマンスは大切だと思っています。Next.js+Contentfulならこの点をクリアできるということもあり、採用にいたりました。

技術ブログを継続するモチベーションという意味でも、個人的には問題になっていません。たくさんの方に読んでいただいて、ブログを始めてからTwitterのフォロワーもふえ、コメントをもらうこともあります。

広告を貼ることで収入も生まれつつあります。技術ブログにかける時間をかなりとっているので、自作という選択肢は間違っていなかったと思っています。

もし技術ブログを継続する前提で、時間をあまりかけることを考慮していないなら、ブログサービスやWordPressを採用する方がいいと思います。

技術ブログについては、メリットや作り方などを次の記事で詳しく書いています。長いですが、必要なところだけつまみ読みする形で参考にしてみてください。

loading...

著者
ぜに/Hiroki Zenigami

Webエンジニア&プロダクトマネージャ←プログラミング教育で起業←東大院←熊本高専。 共著に「現場で使えるRuby on Rails 5」。

関連記事関連書籍人気記事
applis
エンジニアとしてのんびり暮らす
お問い合わせ
ご意見・ご質問やお仕事のご依頼などは下記よりお願いいたします
お問い合わせ
© applis