この記事についてClaude(Anthropic)との共同編集により作成されました。
要約
- 「deeplearning」「automation」「other」の3カテゴリ体制を7カテゴリに再設計した
- カテゴリ設計の調査から、69記事の物理移動・リダイレクト設定までの全工程を記録
- 判断に迷う記事の振り分けロジックと、カテゴリ・タグの使い分けルールも整理した
Before:3カテゴリに全部入り
このブログ「ゆるディープ」はもともと機械学習ブログとして始まった。カテゴリは3つだけ。
| カテゴリ | 実態 |
|---|---|
deeplearning | ML記事もAI Coding記事もLLM論考も全部ここ |
automation | Twitter自動化スクリプト系 |
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 | 表示名 | 記事数 | 備考 |
|---|---|---|---|
deeplearning | AI・機械学習 | 20 | ML/DL技術記事に特化 |
aicoding | AI Coding | 4 | 新設。今後急増見込み |
automation | 自動化 | 8 | 変更なし |
devenv | 開発環境 | 9 | other + deeplearningから環境構築系を吸収 |
web | Web・ブログ | 9 | otherからブログ運営系を吸収 |
review | 書評・レビュー | 7 | otherから書評系を吸収 |
essay | エッセイ・雑記 | 12 | otherから雑記系を吸収 |
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: フィールドを書き換えた。
# 例:deeplearning → aicoding への移動mv deeplearning/2024/20241129.md aicoding/2024/20241129.md# frontmatterのcategory行を書き換えsed -i '' 's/^category: .*/category: aicoding/' aicoding/2024/20241129.md2. リダイレクト設定
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 シリーズ名reviewessay「機械学習 × 入門」「開発環境 × Mac」のように、カテゴリとは別の切り口で記事を横断的に探せるようにする。
タグの運用で気をつけるのはこの4つ。
- 1タグに最低5記事紐づく見込みがあるものだけ作る
- 1記事しか紐づかないタグは作らない — タグページが薄いコンテンツになる
- カテゴリ名と同名のタグは作らない — SEO競合を避ける
- 表記ゆれを統一する — 「機械学習」「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
-
Tags vs Categories: Must-Know Tips & Tools to Boost Your SEO in 2026 https://www.nichepursuits.com/tags-vs-categories/ ↩ ↩2
-
ブログのカテゴリー完全ガイド! SEO効果、応用テクニックなど徹底解説! https://blogrou.com/categories/ ↩ ↩2 ↩3
-
ブログのタグ完全ガイド! SEO効果、カテゴリーとの使い分けなど徹底解説! https://blogrou.com/tags/ ↩ ↩2 ↩3
-
Research: WordPress publications misuse tags https://joost.blog/research-wordpress-publications-misuse-tags/ ↩