8年放置したブログをClaudeにサクッと直してもらった話

気づけば最終更新が2018年。8年である。8年も放置していた。久々に自分のブログを開いてみたら、そもそもまともに表示すらされていなかった。ビルドはコケっぱなし、記事を開けば写真は全滅、コードブロックはぐちゃぐちゃ。我が城かと思ったら廃墟だった。

さすがに見かねて、Claude Code に「CircleCIで失敗してる、GitHub Actionsで直せる?」と雑に投げた。そうしたら想像の3倍くらい働いてくれたので、記録しておく。

そもそもビルドが通らない

調べてもらったら、CircleCI はとっくに GitHub Actions へ移行済みで、その Actions の方が壊れていた。移行した記憶すらない。Hugo のバージョンが 0.74 に固定されている。0.74。2020年である。今のテーマが対応するわけがない。おまけに submodule の URL が git@github.com の SSH 指定で、CI からは鍵がなくて取れない。

この辺を Claude が全部自力で特定して、Hugo を上げ、submodule を https に直し、何事もなかったかのようにビルドからデプロイまで通してしまった。こっちは「CircleCIで失敗してる」としか言っていないのに。

写真が全部消えていた

ビルドが通ったら通ったで、今度は記事の写真が一枚も出ない。原因は2つあった。ひとつは Hugo の Markdown エンジンが新しくなって、本文に直書きした HTML(昔の俺は img タグをベタ書きしていた)を安全のために消す設定になっていたこと。もうひとつは画像が http:// 参照で、https のサイトからは混在コンテンツとしてブロックされること。

しかもこっちは「この記事を直して」と一本ずつ指示したわけではない。該当する記事を勝手に全部洗い出して(60本くらいあったらしい)、Flickr も Amazon の商品画像も https に張り替え、まとめて復活させた。とっくにサービス終了している Amazon の広告ウィジェットは、ちゃんと生きてる商品ページへのリンクに置換してくれた。地味に嬉しい。

WordPress 時代の負債が出るわ出るわ

掘れば掘るほど過去の自分のツケが出てくる。コードブロックが [sourcecode] で始まって ``` で閉じていて表示が崩壊していたり(WordPress のショートコードの消し残し)、見出しが Markdown ではなく生の <h2> だったり。極めつけは、かつて存在した delicious(ソーシャルブックマークサービス。若い人は知らないかもしれないが、もうとっくに無い)の日次まとめ記事が350本くらい、全部死んだリンクを抱えたまま並んでいたこと。よくもまあ溜め込んだものである。この辺も全部、文句ひとつ言わず掃除してくれた。

ついでに現代化までしてもらった

直すだけのつもりが、流れで色々足してもらった。記事の前後ナビ、トップを全文表示からサマリ+「続きを読む」に、サイト内検索(Google の site: 検索に飛ばすだけ。インデックスもサーバも要らない)、月別アーカイブのサイドバー、RSS アイコン。サイトマップも絶対URLに直して Search Console に怒られないようにしてもらった。8年前の俺より圧倒的に仕事が早い。

最後に一番感心したやつ

ひととおり終わってから「masterに直接 push する前は確認を入れてほしい」と頼んだら、設定フックを書いて仕込んでくれた。次からは push の前にちゃんと止まって聞いてくる。言われたことをやるだけじゃなく、こっちの運用に合わせて環境ごと整えてくるあたりが地味に怖い。

8年分の放置と WordPress 移行の傷跡を、ほぼ雑談だけで片付けてしまった。白状すると、この一連の作業で俺は一行もコードを直していない。ひたすらチャットで「これ直して」「次これ」と言っていただけである。自分で全部やっていたら週末が3回は消えていたと思う。

……で、ここまで読んでお気づきかもしれないが、この記事の下書きも Claude に書かせているのであったw