2314 文字
12 分
ブログ69記事をカテゴリとタグでゼロから整理し直した全手順
この記事について

Claude(Anthropic)との共同編集により作成されました。

要約
  • 「deeplearning」「automation」「other」の3カテゴリ体制を7カテゴリに再設計した
  • カテゴリ設計の調査から、69記事の物理移動・リダイレクト設定までの全工程を記録
  • 判断に迷う記事の振り分けロジックと、カテゴリ・タグの使い分けルールも整理した

Before:3カテゴリに全部入り#

このブログ「ゆるディープ」はもともと機械学習ブログとして始まった。カテゴリは3つだけ。

カテゴリ実態
deeplearningML記事もAI Coding記事もLLM論考も全部ここ
automationTwitter自動化スクリプト系
other上2つに入らない全て。書評もブログ運営も環境構築も雑記も

記事数が69本になった時点で、other に26本、deeplearning に26本が詰め込まれていた。other はもはや「未分類」と同義で、カテゴリとしての意味をなしていない。

サイドバーのカテゴリウィジェットを見ても「other (26)」が最大勢力という状況は、読者にとって何の手がかりにもならない。

きっかけ:カテゴリってどう設計すべきなのか#

「なんとなく分類しているだけ」の状態が気になり、まずカテゴリとタグの設計について調べた。複数のSEO専門サイトやWordPressエコシステムの知見を横断的にまとめて、設計ガイドを作成した。

調べてわかった基本原則#

ルール根拠
カテゴリは 5〜10個Yoast, blogrou, nichepursuits等が一致して推奨 123
1カテゴリに最低10記事入る見込みがあること薄いカテゴリページはSEO的にマイナス 2
1記事に付けるカテゴリは 原則1つ複数付けるとサイト構造がぼやける 13
カテゴリ=目次、タグ=索引カテゴリは縦軸(ジャンル分類)、タグは横軸(カテゴリをまたぐ属性)
カテゴリ名とタグ名を 重複させない同名のカテゴリページとタグページが共存するとSEO競合が起きる 23

タグについても重要な知見があった。Yoast創設者Joost de Valkの調査によると、約2/3のWordPressサイトがタグを過剰に使っている 4。極端な例では3,000記事に30,000タグというサイトもあったらしい。

1タグに最低5記事は紐づく見込みがあること、1記事しか紐づかないタグは作らないことが基本だ。

シリーズ記事の扱い#

このブログには「一問一答で学ぶ機械学習」シリーズが7本ある。これをカテゴリにすべきか迷ったが、結論は タグで管理 にした。

判断基準はこうだ。

  • 10記事未満で、ブログの「柱」というほどではない → タグ
  • 10記事超で、今後も増え続ける → カテゴリ昇格を検討

シリーズ物は最初タグで始めて、育ったらカテゴリに昇格させるのが実用的。

設計:3カテゴリ → 7カテゴリ#

調査結果を踏まえて、69記事の内容を棚卸しした。

deeplearning の中身を分析する#

deeplearning の26記事を内容別にクラスタリングすると、こうなった。

クラスタ記事数
従来型ML/DL実装(MNIST, CIFAR, ResNet等)10
一問一答シリーズ(ML/NLP/LLM学習教材)7
LLM・AI Coding・AI安全性4
NLP・テキスト生成2
その他(Kaggle, E資格, Stable Diffusion)3

注目したのはAI Coding系の4記事。MCP解説、バイブコーディング論、AI安全性記事など、「機械学習の技術記事」とは明らかに毛色が違う。しかも今後Cursor・Claude Codeなどの記事が増える予定がある。

10記事超の見込みが確実にあるなら、独立カテゴリにする価値がある。

other は全廃する#

other の26記事を1本ずつ確認すると、綺麗に4つのジャンルに分かれた。

  • 環境構築系(pyenv, Docker, HHKB等)→ 8本
  • ブログ運営・Web技術(WordPress, VuePress等)→ 8本
  • 書評・レビュー → 7本
  • 雑記・学習記録 → 11本(ただし2本はPython復習記事)

どれも「未分類」ではなく、明確にジャンルが存在していた。other というカテゴリが怠惰だっただけだ。

最終設計#

slug表示名記事数備考
deeplearningAI・機械学習20ML/DL技術記事に特化
aicodingAI Coding4新設。今後急増見込み
automation自動化8変更なし
devenv開発環境9other + deeplearningから環境構築系を吸収
webWeb・ブログ9otherからブログ運営系を吸収
review書評・レビュー7otherから書評系を吸収
essayエッセイ・雑記12otherから雑記系を吸収

7カテゴリ、合計69記事。設計方針の「5〜10個」に収まっている。

迷ったときの判断基準#

カテゴリ振り分けで一番悩むのは「2つのカテゴリにまたがる記事」だ。事前にルールを決めておくと迷いが減る。

ケース判断
AIコーディングツールの活用記事aicoding
LLMのアーキテクチャ解説deeplearning(理論寄り)
AI×開発環境(例:Claude Codeの環境構築)メインテーマが「環境」なら devenv、「AI活用」なら aicoding
AI校正ツールのリリース記事技術解説がメインなら deeplearning、プロダクト紹介なら aicoding or essay

原則は「1記事のメインテーマで1つに絞る」。 迷ったら「読者がこの記事を探すとき、どのカテゴリを開くか?」で考える。

実装:物理的にファイルを移動する#

このブログはAstro(Fuwari)で構築されており、記事ファイルのパスがそのままURLになる。

src/content/posts/{カテゴリ}/{年}/{YYYYMMDD}.md
/posts/{カテゴリ}/{年}/{YYYYMMDD}/

つまり、カテゴリ変更=ファイルの物理移動+URLの変更を意味する。やることは3つ。

1. ファイル移動 + frontmatter書き換え#

39記事を新しいディレクトリに移動し、各ファイルの category: フィールドを書き換えた。

Terminal window
# 例:deeplearning → aicoding への移動
mv deeplearning/2024/20241129.md aicoding/2024/20241129.md
# frontmatterのcategory行を書き換え
sed -i '' 's/^category: .*/category: aicoding/' aicoding/2024/20241129.md

2. リダイレクト設定#

URLが変わるので、旧URLから新URLへの301リダイレクトを public/_redirects(Netlify用)に設定した。

このブログはVuePressからAstroに移行した経緯があるため、リダイレクトは2段階ある。

# 旧VuePressパス → 新Astroパス(転送先を新カテゴリに修正)
/blogs/other/2020/20200520.html /posts/devenv/2020/20200520/ 301
# 旧Astroパス → 新Astroパス(今回追加)
/posts/other/2020/20200520/ /posts/devenv/2020/20200520/ 301

旧VuePressのリダイレクトは転送先を書き換えるだけ。旧Astroパス(/posts/other/...)からのリダイレクトは新規追加。これでどちらの旧URLからアクセスしても正しいページに到達する。

3. other/ ディレクトリ削除#

全26記事の移動が完了したら、空になった other/ ディレクトリを削除。3カテゴリ時代の名残を完全に消した。

ビルド確認#

pnpm build を実行して、69記事すべてが正しいパスで生成されることを確認した。

タグの使い分けルール#

今回はカテゴリの再設計がメインだが、タグの運用ルールも一緒に整理した。

カテゴリは縦軸(ジャンル)、タグは横軸(カテゴリをまたぐ属性)。

カテゴリ(縦軸) タグ(横軸の例)
───────────────── ──────────────
deeplearning 入門・チュートリアル
aicoding トラブルシューティング
automation 環境別(Mac/Ubuntu)
devenv 比較・選定
web シリーズ名
review
essay

「機械学習 × 入門」「開発環境 × Mac」のように、カテゴリとは別の切り口で記事を横断的に探せるようにする。

タグの運用で気をつけるのはこの4つ。

  1. 1タグに最低5記事紐づく見込みがあるものだけ作る
  2. 1記事しか紐づかないタグは作らない — タグページが薄いコンテンツになる
  3. カテゴリ名と同名のタグは作らない — SEO競合を避ける
  4. 表記ゆれを統一する — 「機械学習」「ML」「Machine Learning」は1つに

カテゴリの昇格・統合ルール#

カテゴリは固定ではなく、ブログの成長に合わせて変える。ルールを決めておくと判断が楽になる。

ルール条件
昇格(タグ → カテゴリ)10記事超 + 今後も継続的に書く予定
統合(カテゴリ → 上位カテゴリ)5記事未満 + 今後も増えない見込み
シリーズ物10記事未満ならタグ。10記事超でブログの柱になるなら独立カテゴリを検討

aicoding はまさにこのルールで昇格させた例だ。現在4記事だが、今後10記事を超える見込みが確実にあったので先行してカテゴリ化した。

After:7カテゴリ体制#

最終的なディレクトリ構成はこうなった。

src/content/posts/
├── deeplearning/ # 20記事 — ML/DL技術
├── aicoding/ # 4記事 — AI Coding(成長枠)
├── automation/ # 8記事 — 自動化
├── devenv/ # 9記事 — 開発環境
├── web/ # 9記事 — Web・ブログ(この記事もここ)
├── review/ # 7記事 — 書評・レビュー
└── essay/ # 12記事 — エッセイ・雑記

other を廃止して意味のあるカテゴリに分配し、deeplearning から AI Coding系を独立させたことで、サイドバーのカテゴリウィジェットが「このブログにはどんな記事があるか」を正しく伝えるようになった。

カテゴリ設計は地味な作業だが、ブログの骨格を決める作業でもある。69記事の段階で整理できたのは、タイミングとして悪くなかったと思う。

参考文献#

Footnotes#

  1. Tags vs Categories: Must-Know Tips & Tools to Boost Your SEO in 2026 https://www.nichepursuits.com/tags-vs-categories/ 2

  2. ブログのカテゴリー完全ガイド! SEO効果、応用テクニックなど徹底解説! https://blogrou.com/categories/ 2 3

  3. ブログのタグ完全ガイド! SEO効果、カテゴリーとの使い分けなど徹底解説! https://blogrou.com/tags/ 2 3

  4. Research: WordPress publications misuse tags https://joost.blog/research-wordpress-publications-misuse-tags/

ブログ69記事をカテゴリとタグでゼロから整理し直した全手順
https://yurudeep.com/posts/web/2026/20260416/
作者
ひらノルム
公開日
2026-04-16
ライセンス
CC BY-NC-SA 4.0