WordPressからHugoへの移行
まえがき WordPressで運用していたこのページですが、夏休みの自由研究ということで、この度Hugoを利用して再構築することにしました。 理由としては、 WordPressは重いから WordPressの更新が面倒だから あたりでしょうか。 Hugoで生成すると、全部のページが単なるHTMLになるので、重いという問題はなくなります。 また、WordPressの更新に悩まされることもなくなります。 一方で、 ページをビルドしないといけない ビルド結果をサイトにアップしないといけない といったあたりは手間が増えることになります。 移行概要 自分で管理しているVPSにWordPressを入れていたので、WordPressのプラグインではなく、データベース(MySQL)から直接データを取得して、全部の投稿を1つずつのファイルにすることにします。 また、URLについては、WordPressの設定により、 /archives/%post_id% となっており、これはそのまま活かすよう、記事IDをファイル名にすることにします。 記事数もそこそこあるので、記事は年ごとのディレクトリを作って、その中に入れるようにします。 今後作成する記事については記事ID=YYYYMMDDとすればいいのかな、例えば 2026/20260722.md みたいな感じに。 Copilotが書いてくれた移行ツールの仕様は以下のような感じ。 データ移行ツール仕様 方針 URLは維持する HTML本文は維持する 画像URLは維持する WordPressの記事IDをファイル名に利用する コメントは無視する 入力・出力 WordPress の MySQL データベースを直接参照する。 利用するテーブルは以下の通り。 wp_posts wp_terms wp_term_taxonomy wp_term_relationships 各記事は以下のファイルに出力する。 content/posts/YYYY/ID.md 例: content/posts/2025/799.md 投稿日の年ごとにディレクトリを分ける。 content/posts/ ├── 2004/ ├── 2005/ ├── ... ├── 2024/ ├── 2025/ └── 2026/ ファイル名には、WordPressの記事IDをそのまま利用する。 799.md 800.md 801.md 対象記事 以下の条件を満たす記事のみ変換対象とする。 post_type = 'post' post_status = 'publish' Front Matter 出力例: --- title: "Ubuntu24.04でSkinny.phpが警告を出すことへの対処" date: 2025-02-26 00:00:00 categories: - "コンピュータ" --- 対応表: ...