Menu
テーマ切り替え

WordPressからHugoへ移行した話 ~数万記事をAIとスクリプトでなんとかした記録~

wordpress

長年運営してきたゲーム系の個人サイトを、ついにWordPressからHugo(静的サイトジェネレーター)へ移行しました。かなり大掛かりな作業になりましたが、終わってみると「やってよかった!」と心から思っています。

今回はその過程を、正直にわかりやすくお伝えします。

1. 移行を決めたきっかけ:管理画面の重さと、ちょっとした読み込み遅延

これまでWordPressでサイトを育ててきましたが、記事が増えるにつれて管理画面がどんどん重くなっていきました。新しい記事を書こうとするたびに「あー、また重い…」とストレスが溜まるようになっていたんです。

また、Cloudflareを使っていたおかげでPC表示は快適だったんですが、モバイルでの読み込みが少し遅いのが気になっていました。将来的に記事がさらに増えたときのことを考えると、このままではちょっと不安だな、と。

そんな中、「記事をデータベースじゃなくて、普通のファイルとして自分で管理したい」という思いが強くなってきました。VS CodeやObsidianでサクサク書けて、検索も爆速。そんな軽やかな環境に憧れて、静的サイトへの移行を決意したんです。

2. wp2hugoなどのツールも検討したけど…結局「自前ルート」を選んだ理由

WordPressからHugoへの移行を考えたとき、まず候補に上がったのはwp2hugoなどの便利な変換ツールです。シンプルな構成のサイトなら、これらを使ってサクッと移行するのが一番ラクで賢い選択だと思います。

ただ、私のサイトは長年の「増築」を繰り返してきたせいで、かなりクセのある構造になっていました。意味不明な名前のカスタムフィールド(custom_01で発売日とか…)や、分類の扱い方も自分独自のルールが散らばっているなど、こうした「自分ルール」をしっかり整理してHugoの仕様にきれいに合わせたかったので、ツール任せでは限界があると判断。結局、データベースから直接SQLでデータを引き出して、自分でクレンジングする道を選びました。

3. Hugoを採用したわけ

移行先の候補としてNext.jsなども検討しましたが、今回はレンタルサーバーでの運用になるため、Node.js環境が使えないという制約がありました(レンタルサーバーの特性上、Node.jsを動かすのは現実的ではありませんでした)。

その点、Hugoは静的サイトを生成するだけなので、レンタルサーバーで普通に動かせます。Go言語はあまり詳しくなかったのですが、他の選択肢と比べてビルド速度が速く、シンプルで扱いやすいと感じたため、結局Hugoを採用しました。

GitHubを採用したのも同じ理由です。ローカルで編集→GitHubで管理→レンタルサーバーに反映という流れが、Node.js不要でシンプルに完結するので相性が良かったです。

4. 今回の移行の進め方

テーマ制作ではHugoのGoテンプレートを勉強しながらゼロから作り始めましたが、完全に自力ではなく、詰まった部分はAIにも修正を助けてもらいました。データ整理はPythonスクリプトをAIに作ってもらって大量処理し、画像最適化ではWordPressが自動生成した余分なリサイズ画像を全部捨て、オリジナルだけを残す処理を行いました。

特に画像処理は気持ちよかったです。フォルダを埋め尽くしていた無駄な画像が、スクリプト1発でスッキリ片付いていく様子は快感でした。

5. 大変だったところ:AIは便利だけど、完全じゃない

作業中は何度も「これは思ったより大変だな…」と思いました。AIにスクリプトを量産してもらったのは本当に助かりましたが、AIは完璧ではありません。

コード自体は上手く書いてくれるのですが、こちらの意図を少しズレて認識してしまうことが結構ありました。「こういう処理をしてほしい」と伝えたつもりでも、微妙に違う動きをしてエラーが出たり、想定外の箇所まで書き換わったり……。そのため、生成されたコードは必ず自分で確認することを強くおすすめします。特に大量のファイルを一括処理する場合は、事前のバックアップは絶対に取っておいてください。私は何度も「うわっ、間違えた!」となって、バックアップから復元した経験があります。

AIを上手に使いながら、自分の目でしっかりチェックしていくのが、この規模の移行では大事だと実感しました。

6. Hugoとは? 移行してよかったポイント

Hugoは、Go言語で作られた高速な静的サイトジェネレーター(SSG)です。Markdownで書いた記事をテンプレートでHTMLに変換してサイトを構築します。データベースを使わないため軽量で、表示速度が速く、セキュリティも高いのが特徴です。

移行して特に良かったのは以下の点です。

  • 記事ページに目次を自動生成してくれる
  • 画像をWebP形式に簡単に変換・最適化できる(ファイルサイズを大幅に削減)
  • 関連記事の表示なども比較的簡単に実装可能
  • 短コードやテンプレートで柔軟にカスタマイズできる

静的サイトなのに機能も充実していて、今はローカルで書いたMarkdownがGitHubを経由してレンタルサーバーに反映される流れで運営しています。

レンタルサーバーについては、先月ちょうど2年契約を更新してしまったばかりで「もったいないからもう少し使おう」という感じです。将来的にはCloudflare Pagesなどの静的ホスティングに移行するのも視野に入れています。

7. WordPressを使い続ける人への提案:ヘッドレスCMS化という選択肢も

私は今回の移行で「もうWordPressの管理画面は使わない」と決めましたが、実はWordPressをヘッドレスCMSとして活用する方法もあります。

記事の執筆・管理は今まで通りWordPressの管理画面で、表示部分だけをHugoやNext.jsなどの高速フロントエンドで構築すれば、管理画面の使いやすさを残したまま、表示速度やセキュリティのメリットも得られます。

「WordPressの管理画面は好きだけど、表示速度や保守性を上げたい」という方には、こちらのヘッドレス化もかなりおすすめです。実際に私も他の案件ではWordPressをヘッドレスで使った構築も行っていますので、興味がある方は気軽にお問い合わせください。

8. 移行を終えて感じたこと

今はすべての記事がきれいなMarkdownファイルとして、自分の手元にあります。VS Codeで爆速検索、Obsidianで軽快にプレビュー……本当にストレスフリーになりました。

あの大変な作業を乗り越えたおかげで、すべての資産が自分のコントロール下にあるという安心感がすごく大きいです。

もしあなたが「記事が増えて管理画面が重くて嫌だな…」「もっと軽くて自由な環境でサイトを運営したい」と思っているなら、思い切って移行を検討してみる価値は十分にあります。

wp2hugoなどのツールを活用するもよし、AIを活用しながら自前でやるもよし、ヘッドレスCMSとしてWordPressを残すもよし。自分のサイトの状況に合わせて、最適な方法を選んでみてください。

何か質問があれば、お問い合わせからどうぞ。一緒に快適なサイト環境を作っていきましょう。

RU DESIGN
AUTHOR

RU DESIGN

個人開発者として、Webサイト制作やAIを活かした開発に取り組んでいます。このブログでは、私が実際に試して「これは使える!」と思った技術や、自作の便利ツールをシェアしています。一緒に技術を楽しんでいきましょう!

この記事をシェア:

関連記事