きゃらりこ日誌

DiaryCGI nicky!時代の過去ログを、StaticLeafへ移行しました

先月、21年分のブログの過去記事を、自作のブログシステム“StaticLeaf Weblog System”に移行しました。
2005年以前のブログについては、静的HTML生成ができるものにこだわっていたため、長らくDiaryCGI nicky!を使っていました。
しかしnicky!では仕様上、個別記事のURLがIDベースになってしまいます。
私は日付ベースのURLにしたかったため、これまでは月ごとに過去ログを出力して妥協していました。
しかし月単位の過去ログ形式だと、別の日付の記事に含まれるキーワードまで検索サイトに拾われてしまい閲覧者に勘違いを与えたり、目的の記事へ直接たどり着きにくかったりする問題がありました。
またページタイトルが月別になってしまうため、SEO的にもあまりよろしくありません。
あとURLがYYYYMM.html形式になってしまうのも、YYMM.html形式を好む私としては不満点の一つでした。
さらに、nicky!自体も独自改造を重ねていたため、相次ぐ建て増しと減築でいびつな状態になっており、使い勝手も悪化していました。
一方、一から作ったStaticLeafは、当初から記事ごとに静的HTMLファイルを生成する設計になっています。
システム構造もシンプルで管理しやすいため、現行システムのバグ取りが落ち着いた今回、過去ログを移行することにしました。

過去ログの移行作業(イメージ)
過去ログの移行作業(イメージ)


移行作業で問題になったのは、nicky!とStaticLeafでデータ形式が異なっていたことです。
そこで、nicky!のコード、StaticLeafのコード、そして移行元データのサンプルをChatGPTに読み込ませ、データ移行用コードを書いてもらいました。
ちなみに、文字コードについては、過去にnicky!デフォルトのEUC-JPからUTF-8へ移行する改造を行っていたため、文字コード変換では特に問題は発生しませんでした。
ただ、過去ログ側の記事カテゴリは現行のブログとは異なるため、StaticLeafをカスタマイズして過去ログ専用の管理システムを作成しました。
記事データ自体の移行は比較的うまくいったのですが、カテゴリ移行がなかなかうまくいかず、最終的には約700件の過去記事のカテゴリを手作業で付け直すことになりました。
骨が折れましたが、全記事を最初から手作業で移行するよりは、充分楽でした。

URL移行については、すべての旧URLを新URLへリダイレクトするのは現実的ではないため、外部サイトからリンクされているものや、Google検索で上位に出ているURLのみリダイレクト対応を行っています。
当初はアクセス解析で検索上位の記事を特定しようとしていたのですが、貼っていたつもりだったアクセス解析タグが、実際には何年も貼られていなかったことが発覚し、愕然としました。

記事内の画像のリンクについては、以前は相対リンクで統一していましたが、StaticLeafの構造上の都合もあり、今回の移行で絶対リンクに変更しました。
そのほうがRSS生成時の扱いも楽になりますし。
また、サイトマップについては、現行ブログ側へ完全統合することを諦め、以下の3系統に分割しました。

  • 現行ブログ用サイトマップ
  • 今回移行した、過去ログ用サイトマップ
  • 今回の移行対象ではない、さらに古い過去ログ用サイトマップ


また長年書き続けてきたブログなので、カテゴリの付け直し作業の際に、HTMLタグが正しく閉じられていない記事を発見してしまいました。
気がついたものについては、この機会に合わせて修正していますが、追々全件見直しを行っていきたいと思います。

しかし20年以上前の記事を読み返していると、当時の自分の考え方や興味の変化も見えてきて、なかなか面白いものですね。