テックブログの GitBook から はてなブログ への移行

はじめに

2025年7月、当ブログをGitBookからはてなブログへと移行しました。
今回の記事では、ブログ移行の経緯と実施手順についてご紹介します。

検討移行理由

結論としては、GitBookの年間利用料が割高と感じたためです。
経緯をもう少し詳しくご説明します。

GitBookの new pricing plans の通知がトリガー

2025年2月頃、GitBookよりサブスクリプションプランが変更される旨の通知がありました。
Pricing changes for organizations on Business or Team plans | GitBook Documentation

当時の利用状況ではGitBookのサブスクリプションプラン変更によって費用はさほど変わらないことがわかったのですが、改めて金額そのものを見た時にこれは高いのでは、という話になりました。
当時の支払いはおよそ $3,000 / 年 でした。

サブスクリプションプランの変更に関してはあまり問題はなかったのですが、金額を見た時に感覚的にも高いと感じたため、他のブログサービスの検討を開始しました。 *1

移行先ブログサービスの選定

当初のGitBook選定理由の調査

まずは、そもそもなぜGitBookが選定されたのかを調査しました。
結果以下の理由であることがわかりました。

  • 独自ドメインが設定できること
  • Markdownで記事作成ができること
  • 記事をgit上で管理しやすいこと

独自ドメインに関してはMustですが、それ以外に関しては可能な範囲で維持するということで選定を進めることとしました。

はてなブログの選定

複数のブログサービスを検討しましたが、以下の理由により「はてなブログ for DevBlog」を選定しました。

  • 独自ドメインが設定できること
  • Markdownで記事作成ができること
  • 記事をgit上でも管理が可能であること
  • 費用が下がること

費用に関しては ¥8,434 / 年(2025年7月時点) ということで、GitBookよりもはるかに費用を抑えることができます。
www.hatena.ne.jp

またgit上での記事の管理ですが、はてなでこれを行うには一手間必要です。
以下を利用すれば可能となります。
GitHub - hatena/Hatena-Blog-Workflows-Boilerplate

さらに、はてなブログはカスタマイズの自由度が高い点も魅力でした。
2025年7月時点ではブログのカスタマイズはほとんどできていませんが、社内のリソースを調整しながら徐々に実施していきたいと考えています。

こうして移行先は「はてなブログ for DevBlog」となりました。

移行実施手順

次のような手順で移行を実施しました。

  1. はてな for DevBlogを契約
  2. はてなとgitの連携を確認する
  3. はてなのデザインを最低限整える
  4. 記事をGitBookからはてなに移行する
  5. ドメインの参照先をGitBookからはてなに変更する

それぞれ説明します。

はてな for DevBlogを契約

以下から契約を行います。
法人向けはてなブログ

はてなとgitの連携を確認する

先ほどご紹介した、以下を利用します。
GitHub - hatena/Hatena-Blog-Workflows-Boilerplate

記事の作成を一通りすべてgit上で行って記事を公開することも可能です。
ただこれを徹底すると運用がやや手間であるため、記事の作成は はてな サービス上で行い、レビューをGitHub上で行うのが現実的かと思っています。
最適な運用については運用の中で見つけていきたいと思っています。

はてなのデザインを最低限整える

非常に自由度高くデザインが可能なのですが、今回移行担当にデザインをできるメンバーがいないため、一旦最低限の設定のみとしています。
例えば タイトル、ファビコン、広告の除去、その他不要な要素の除去 です。

記事をGitBookからはてなに移行する

同じMarkdownではあっても細かい点でGitBookの記事とはてなの記事では違いがありました。
記事の数もさほど多くなかったことから、今回は手動での移行としました。
記事を移行するに際して気にしなければならなかった点は、以下のような点です。

  • タイトルの記載方法
    GitBookは本文に含まれ、h1 で1行目に来る。はてなではフロントマターで記載する *2
  • 記事の整理
    GitBookはツリー構造で記事が整理されるが、はてなはカテゴリごとに整理する
  • 記事URL
    GitBookは個々の記事に任意のURLが設定できたが、はてなではURLのパスに'entry'が必ず入る
  • その他本文の記事移行の際に気にしなければならないこと
    • 見出しを1段下げる(GitBookではタイトルにh1が使われているため)
    • 改行が \ で表現されている場合があるので空白2文字などに置き換える
    • 画像の格納場所がはてな独自の場所になるので置き換える
    • ブログ内リンクを修正する

ドメインの参照先をGitBookからはてなに変更する

  1. GitBook側の設定で独自ドメインを削除
  2. Route53でCNAMEの値をhatenablog.comに変更
  3. はてなブログ側の設定で独自ドメインを設定

これでブログのトップに関してはGitBookからはてなブログへと変更されました。
ただし記事のURLが はてな の仕様上どうしても変更になってしまうことにより、問題が発生しました。
これについては最後の「つまづいた点」で説明します。

移行時に実施しなかったこと

旧記事URLのリダイレクト

前述の通り、記事のURLが変更となっています。具体的には以下のように変わっています。
変更前:https://tech-book.precena.co.jp/software/backend/openapi/separate_file
変更後:https://tech-book.precena.co.jp/entry/software/backend/openapi/separate_file

Cloudflare Workersなどを利用してリダイレクトすることも検討したのですが、以下の理由により実施しないこととしました。

  • 一度この仕組みをいれてしまうと除去するのが困難
  • 現時点で非常にアクセスの多いブログではないため、多少の不便は目をつむる

つまづいた点

Googleにインデックスされない

先述の通り記事のURLが変更となったため、Googleに再インデックスをして欲しかったのですが、うまくされていませんでした。
これはこのブログの記事をGoogleで検索してクリックしたときに、はてなのNotFoundページに飛ばされることで気がつきました。

理由は単純で、はてなの設定で「検索エンジンに登録させない」にチェックがついていたためでした。 *3

Google Search Consoleよりサイトマップが登録されていることを確認し、各記事のインデックス登録をリクエストしました。
その後徐々にインデックスされたことが確認できました。

おわりに

今後も積極的に情報発信を行っていければと思っています。 どうぞよろしくお願いいたします。

*1:GitBookの運用を開始してくださった方とこの時これを運用しているメンバーが異なっており、金額について意識できていませんでした。ある意味”外からの目”が入ったことで金額に対して違和感が持てた部分があったと思います

*2:https://jekyllrb.com/docs/front-matter/

*3:なぜチェックがついていたのかわかりません、デフォルトでチェックがついているものなのかどうなのか...