WordPressで関連記事Hubを自動更新する仕組みを作った|NIGHTREIGN開発の記録

AIとWeb制作

NIGHTREIGNの記事を書き続けていたら、いつの間にか記事を自動で分類し、ハブ記事を更新し、人間が必要なものだけレビューできる仕組みを作っていました。

最初から、こんな大きなシステムを作ろうと思っていたわけではありません。

始まりはもっと単純で、自分が過去の記事を読み返しやすくしたかっただけです。

NIGHTREIGNの記事が増え、過去記事を読み返したくなった

私は日々の出来事をデイリーノートとして残し、その中からブログ記事を書いています。

NIGHTREIGNはかなり難しいゲームです。

思ったように自分のスキルが上がらず、攻略もなかなか進まない。そのため、一時期は特に集中してNIGHTREIGNについて記事を書いていました。

すると当然、関連記事がどんどん増えていきます。

記事が増えるにつれて、

「以前ここで失敗した理由は何だったっけ?」

「このボスを練習していた頃、自分は何を考えていたんだろう?」

と、過去の記事を読み返したくなることも増えました。

そこで最初に考えたのが、NIGHTREIGN関連記事をまとめたHub記事です。

読者のためでもありますが、最初にその一覧を必要としていたのは、たぶん私自身でした。

Hub記事を作ったら、今度は更新する仕事が増えた

最初は、これまで公開した記事を整理して、1本のHub記事を作れば終わりだと思っていました。

ところが、そのHubを作っている間にもNIGHTREIGNの記事は増えていきます。

新しい記事を書く。

そのたびにHubを開いて、関連記事を追加する。

これでは、記事を書くたびに**「Hubを更新する」という新しい作業**が発生します。

それなら、新着記事も自動で拾ってHubへ追加できるようにした方がいい。

自動更新するなら、毎回自分で実行するのではなくCronで定期実行したい。

そんなふうに、少しずつ仕組みが大きくなっていきました。

ChatGPTとCursorで、最初の自動化は意外と早く作れた

実装にはCursorとChatGPTをかなり使っています。

そのおかげもあり、最初のHub記事と自動更新の仕組みを作るところまでは、思っていたより簡単でした。

大変だったのは、その後です。

実際の記事を流して動かしてみると、細かな不具合が次々に見つかりました。

そして、特に難しかったのが記事の分類でした。

WordPressの記事を自動分類する難しさ

Hubには、「ファーム・レベリング」「ボス・強敵」「操作・戦闘技術」といった分類があります。

人間なら記事を読んで、

「これはファームの記事だな」

と判断できます。

しかしRule-basedのプログラムで同じことをしようとすると、その判断過程を全部ルールとして書かなければなりません。

特定のキーワードがある。

別のキーワードとの組み合わせがある。

ただし、この文脈なら別の分類を優先する。

そんな条件が増えていきます。

しかも、今後私がどんなNIGHTREIGN記事を書くのかは、私自身にも分かりません。

今ある記事に合わせて完璧なルールを作ったとしても、次の記事がそのルールから外れるかもしれない。

自動化を進めているはずなのに、今度は自動化システムのルールを保守する仕事が増えてしまいます。

完全自動化ではなく、人間の判断を軽くする

人間が書く文章には、複数の話題、文脈、過去の記事とのつながり、その時の考え方など、さまざまなものが入り混じっています。

その揺らぎをすべてプログラムに記述するのは、現実的ではないと感じました。

そこで最初から、人間が最後に判断できるStandalone Review画面も作ることにしました。

自動化しても人間の判断が残るなら、その判断作業自体をできるだけ軽くする。

数クリックで「通常掲載」「編集者選定」「除外」を判断できる形です。

安定版まで完成した現在、レビュー作業そのものを面倒だと感じることはほとんどありません。

ただ、そのレビュー画面を安定して動かせるようになるまでが大変でした。

細かなバグが何度も出て、そのたびに一つずつ潰していく必要がありました。

GitHubで管理する規模の開発になった

この開発では、本格的な実装に入るかなり早い段階でGitHubを導入しました。

細かな修正を高い頻度で繰り返すことになると分かっていたからです。

変更履歴がなければ、

「どこまで直したのか」

「どの変更から不具合が出たのか」

が分からなくなります。

そして、修正後に壊れたとき以前の状態へ戻せないのは怖い。

最初は小さな自動化のつもりでしたが、実際の開発はほぼ最初からGitHub管理下で進めることになりました。

その後、Series番号の管理、Reviewの判断履歴、Cron、Git同期、通知なども加わり、現在はかなりきちんとした運用システムになっています。

#28の記事で、Rule-based自動分類の限界が見えた

Rule-basedの限界を強く感じた出来事の一つが、NIGHTREIGNの記事#28でした。

内容は、坑道や中央砦、西側商人などを覚えて、ファームの動きを安定させるための練習です。

私が読めば、これは明らかに「ファーム・レベリング」の記事です。

ところが自動判定では、それを正しく分類できませんでした。

さらに過去記事を見直してみると、もっと根本的な問題も見つかりました。

ELDEN RING本編で、NIGHTREIGNのために鈴玉狩りやモーゴットを相手に練習していた記事です。

表面的にはELDEN RING本編の記事なので、NIGHTREIGNという特定キーワードが少ないものもあります。

しかし、記事を書いた目的は明確にNIGHTREIGNの攻略です。

こうした記事の一部は、分類以前にHubへ載せる候補としてすら拾われていませんでした。

ここまで来ると、ルールを追加し続けるだけでは厳しいと感じました。

次はOpenAI APIで「意味を読む部分」を試したい

だからといって、Rule-based版が失敗だったわけではありません。

細かな不具合をかなり詰めたので、現在は実運用でもそこまで困らない状態になっています。

そこで2026年8月21日、AI導入前のRule-based最終安定版をGitHub Releaseとして固定しました。

次に考えているのは、文章の曖昧な意味判断だけをChatGPT/OpenAI APIへ任せる方法です。

記事をHubへ載せるべきか。

どの分類に入れるべきか。

そのような「文章を読まないと分からない部分」をAIに任せ、Series番号やWordPressへの書き込み、安全確認などは従来どおり決定論的なプログラムで管理する。

そんな構成を試そうとしています。

WordPressの古い記事をHubでもう一度表に出したい

私は複数のWebサイトを運営していて、それぞれで記事を書き続けています。

新しい記事が増える一方、古い記事は少しずつ埋もれていきます。

でも、古い記事の中にも今読んでも価値のあるものはたくさんあります。

それらをテーマごとに拾い上げ、Hubとして再び表へ出すことができれば、読者にも読みやすくなるはずです。

Chatons.jpでも、今後NIGHTREIGN以外にHubが必要になる記事群が出てくるかもしれません。

そのため、最終的にはNIGHTREIGN専用ではなく、他サイトにも持っていける共通のHub生成システムにしたいと思っています。

提供方法はまだ決めていません。

有料記事としてまとめるかもしれないし、WordPressプラグインにするかもしれない。無料版と有料機能を分ける方法も考えられます。

ただ、もし私がお金を払って読む側なら、考え方だけではなく、自分のサイトへ実際に導入できるところまで持ち帰りたいと思います。

もし形にして提供するなら、そこまで作り込みたいです。

今はまだ、その途中です。

でも、自分の記事を読み返したかっただけの小さなHubが、ここまで育つとは思っていませんでした。

この先、AIによる記事判定を入れるとどう変わるのか。

そして本当に他のサイトへ持っていける仕組みになるのか。

しばらく、この続きを作ってみようと思います。

この記事を読んで、何か感じるものはありましたか?
読んで何か感じるものがあったら、そっと「いいね」を押してもらえると嬉しいです。

関連記事

目次