技術的負債の清算、再び

ポータルサイトを放置して早数年。「そういえばあっちのサイト、全然メンテしてないじゃん」という開発者あるあるの状況でした。サイドプロジェクトで作ったツールやライブラリの公開場所も欲しかったし、重い腰を上げてリニューアルに着手することに。

なぜHugoなのか(再び)

実はGoベースの静的サイトジェネレーターとしてHugoには以前から馴染みがありました。Jekyll、Gatsby、Next.js(SSG)など選択肢は山ほどありますが、結局はビルド速度とテンプレートのシンプルさでHugoに軍配が上がります。何より hugo server でライブリロードしながらサクサク書けるのが気持ちいい。

実は移行準備は数年前から整っていたのですが、例の「いつかやろう」病が発症していました。エンジニアなら誰でも経験のある、あの感覚ですね。

WordPressという技術的負債との決別

従来のWordPressサイトは、まさに「動く技術的負債」状態でした。管理画面にログインするたびに「プラグインを更新してください」の嵐。セキュリティパッチ、PHP バージョン依存、MySQL の面倒見…もう勘弁してくれという感じです。

開発者的には git add .git commitgit push のワークフローの方が圧倒的に自然。マークダウンで書いてGitHub Pagesでも Netlify でもデプロイできる身軽さは、一度味わうと戻れません。差分管理もブランチ戦略も思いのまま。これぞ Infrastructure as Code の真髄です。

テーマ選択という名の沼

Hugoのテーマ選びは、npmパッケージ選びと同じくらい時間を食う作業でした。Academic、Hermit、Terminal…どれも魅力的で迷いましたが、最終的にはPaperModの洗練されたデザインとパフォーマンスに落ち着きました。

「完璧を目指すより、まず動くものを」というアジャイル的発想で、カスタマイズは後回し。MVPならぬMVS(Minimum Viable Site)でスタートです。

実装フェーズ:準備が8割

技術選定と要件定義で散々悩んだおかげで、実際のコーディングは数時間でした。既存コンテンツのマイグレーション、設定ファイルの調整、CSSのちょっとしたカスタマイズ程度。やっぱり設計フェーズが一番重要ですね。

移行後の所感:静的サイトの勝利

WordPressからの解放感は想像以上でした。サーバーリソースを気にする必要もなし、(そのうち)CDNで爆速配信、SEOも良好。何より開発者体験(DX)が段違いです。

とりあえず、長年の懸案事項だったサイト移行が完了してスッキリしました。シンプルで軽快、そして開発者フレンドリーな環境が整ったので、今度こそサボらずにコンテンツを充実させていこうと思います。