ゲーム攻略サイト用WordPressプラグインを自作|CGSの開発理由・機能・検証記録

ゲーム攻略サイトを運営していると、記事を書くことに加えて、読者が攻略情報へたどり着く道筋も考える必要があります。ゲームタイトルごとに攻略TOPを用意し、キャラクターやマップ、装備などの記事へ迷わず移動できる形が理想でした。

Colorful Mediaでは、この仕組みをWordPressで実現するために独自プラグイン「Colorful Game System(CGS)」を開発しています。

きっかけは、大手攻略メディアのようなゲーム別TOPを作りたいという思いでした。AIへの相談や既存プラグインの試用を経て、自サイト向けのシステムへと発展しています。

この記事では、CGSが生まれた経緯から、実装した機能、開発中に見つかった不具合、2026年10月の本番検証までを紹介します。製品の宣伝や配布方法の紹介ではなく、個人の攻略メディアで試行錯誤した記録です。

この記事の要約

  • CGSは、ゲームタイトルごとの攻略TOPを作りたいという目的から生まれた、Colorful Media専用のWordPressプラグインです。
  • 記事一覧や公開操作、ゲーム情報の管理を改善し、2026年10月には対象を絞った本番検証まで行いました。
  • 独自開発は必要な機能がある場合に有効ですが、既存ツールで足りるならゲーム攻略を優先するのが私の考えです。

この記事でわかること

  • なぜカスタム投稿タイプやAdvanced Custom Fields(ACF)を検討し、CGSを開発することになったのか。
  • 攻略TOP管理の機能、開発中の不具合、数値付きの検証結果と適用範囲。
  • 独自プラグインの開発を検討する条件と、攻略時間を圧迫しない進め方。
目次

Colorful Game System(CGS)とは?

Colorful Game System(CGS)は、Colorful Mediaのゲーム攻略コンテンツをWordPress内で管理・表示するために開発した独自プラグインです。

記事を投稿するだけなら、WordPressの標準機能でも対応できます。しかし、ゲームごとに攻略TOPを組み立て、記事一覧やメニューをまとめて表示するには、そのサイトに合った管理方法が必要になります。CGSは、その部分を支える仕組みとして使っています。

ゲームタイトルごとの攻略情報と攻略TOPをまとめる仕組み

CGSでは、ゲームの情報と、そのゲームに関連する攻略記事・リンク・攻略TOPの構成を扱います。

管理する内容CGSでの役割
ゲームの基本情報画像、対応機種、発売日、公式サイトなどを管理
攻略TOPセクションや表示順、表示する情報を整理
攻略記事・リンクカテゴリーの記事取得と任意URLの追加
表示・ナビゲーションゲーム別メニューや一部の表示設定を管理
公開操作下書き保存、保存済みプレビュー、明示的な公開を分離

この仕組みは、WordPress、SWELL、対応する子テーマと組み合わせて使うColorful Media向けの構成です。CGSだけで動く独立したCMSではなく、他サイトへそのまま導入できることを保証した汎用プラグインでもありません。本記事では、一般向けの配布・販売も案内していません。

CGSを開発したきっかけ|ゲームタイトル別の攻略TOPを作りたかった

最初から「WordPressプラグインを自作しよう」と考えていたわけではありません。出発点は、ゲーム攻略サイトの見せ方でした。

大手攻略メディアのような、ゲーム別攻略TOPを作りたかった

大手のゲーム攻略メディアには、ゲームタイトルごとに攻略情報がまとまった入口があります。Colorful Mediaでも、ゲームごとに専用の攻略サイトがあるようなTOPページを作りたいと思っていました。

目指していたのは、大手と同じ規模で記事をそろえることではなく、読者がキャラクター攻略やマップ攻略などへ進みやすい構造です。記事が増えても必要な情報が探しにくければ、攻略サイトの入口として十分に機能しません。

開発の途中では、WordPressで作られていると思われるサイトも少し参考にしました。ただし、そのサイトが実際にWordPressを使っているかどうかや、内部でどのようなプラグインを利用しているかまでは、調べて確認していません。

AIに相談した結果、カスタム投稿タイプを提案された

ゲームタイトルごとに攻略情報を分けて管理したいとAIに相談したところ、「カスタム投稿タイプ」を使う方法を提案されました。

カスタム投稿タイプは、WordPressの通常投稿とは別の種類のコンテンツを扱うための仕組みです。たとえば、通常のブログ記事とは区別して攻略情報を整理したい場合に検討できます。WordPressにはカスタム投稿タイプを登録する機能が用意されています。

参考:WordPress公式|カスタム投稿タイプの登録

当時は、個人のゲームブログで通常投稿とカスタム投稿タイプを分ける人は、それほど多くないのではないかとも思っていました。これは私の印象であって、利用率を調査した結果ではありません。

なお、カスタム投稿タイプを用意することと、ゲーム別の攻略TOPが自動で完成することは別の話です。記事の分類方法に加えて、一覧の見せ方やページ内の導線も設計する必要があります。

Advanced Custom Fields(ACF)の管理が自分には使いづらかった

その過程で利用したのが、WordPressプラグインのAdvanced Custom Fields(ACF)です。ACFはカスタムフィールドの管理を支援し、バージョン6.1以降は、カスタム投稿タイプや分類の登録機能にも対応しています。

参考:ACF公式|Post Types and Taxonomies

ACF自体が悪いプラグインというわけではありません。ただ、私には管理・編集の操作が使いづらく感じられ、「自分の攻略サイトで使う部分を自作できないだろうか」と考えるようになりました。

大手攻略メディアのようなゲーム別TOPを作りたいという希望と、管理画面を自分の運用に合わせたいという課題。その両方を検討するうちに、開発する仕組みがCGSへと発展していきました。

CGSで実現した主な機能|攻略TOP・記事一覧・公開操作

CGSでは、記事を探して並べる作業と、編集内容を公開する操作を分けています。すでに動いている攻略TOPを不用意に変更しないことも、運用上の重要な条件でした。

複数カテゴリーの攻略記事をまとめて取得する

攻略記事には、キャラクター攻略、マップ攻略など複数の分類があります。CGSの攻略TOPビルダーでは、選んだカテゴリーのいずれかに該当する公開記事を取得するOR条件を扱えるようにしました。

取得対象は、指定したゲームの攻略記事です。別のゲームの記事が紛れ込まないことも確認対象にしています。

改善前は、複数カテゴリーを指定すると想定した記事が取得できないという課題がありました。改善後の本番検証では、2026年10月26日時点の対象75件についてID集合の一致を確認しています。どの条件で検証したのかは、後述の「本番検証の結果」で説明します。

攻略記事と任意リンクを整理し、表示順を調整する

攻略TOPには、WordPressの攻略記事だけでなく、任意のURLも掲載できます。以前は手動記事の追加とリンクの管理が分かれていましたが、改善後は統合した一覧で整理できる構成に変更しました。

記事やリンクの上下操作と詳細設定も分け、普段の操作で必要な項目を見つけやすくすることを目指しています。画面下部にあった一部の新規作成・取り込み操作も、日常UIからは外しました。

これは管理画面の整理であり、バックエンド側の互換機能をすべて削除したという意味ではありません。また、クリック数や編集時間が何%減ったかは測定していないため、数値を伴う効率改善としては評価していません。

下書き保存・プレビュー・公開を分けて管理する

攻略TOPの編集は、次の流れで行います。

  1. 編集するセクションを選ぶ
  2. カテゴリーの記事を読み込む、または記事・任意リンクを追加する
  3. 必要に応じて並び順を調整する
  4. 下書きを保存する
  5. 保存済みの内容をプレビューで確認する
  6. 公開する内容を確認し、明示的に公開する

記事を読み込んだだけでは、公開ページの表示は変わりません。画面上で並び順を動かしても、その操作が未保存であれば、公開設定には反映されない設計です。

編集中の内容と実際の公開内容を切り分けることで、運用中の攻略TOPを確認しながら更新できるようにしています。

Advanced Custom Fieldsへの依存を見直した範囲とデータ保全

CGSの開発では、ACFが担当していたゲーム情報の編集・保存・読み取りを、CGS側へ移す作業も行いました。単に管理画面を作り直すだけでなく、既存の保存データや参照方法を維持することが前提です。

ゲーム情報9・表示設定5・ナビ2の計16項目をCGS側へ移管

ACFから管理機能を移した対象は、合計16項目です。

対象項目数主な内容
ゲーム情報9キャッチコピー、メイン画像、対応プラットフォーム、発売日、開発元、発売元、公式サイトURLなど
表示設定5最新記事、ニュース、攻略ジャンル、基本情報、公式サイトの表示切り替え
ゲーム専用ナビ2メニューの選択、スマートフォン向け表示設定
合計16CGSが編集・保存・読み取りを担当する対象

既存のmeta名や値の扱いを引き継ぎ、以前から保存されている情報をCGSから利用できる構成にしています。

ここでいう16項目は管理対象の数です。公開REST APIで互換性を維持している項目数は14で、両者は数えている範囲が異なります。また、カスタムフィールドの管理機能を移したことと、WordPressのカスタム投稿タイプそのものを廃止したことも、別の話です。

既存データの互換性を保ち、ACF本体は停止・保全

2026年10月18日、対象16項目や攻略TOPビルダーについて、ACFを稼働させずに利用する構成を正式採用しました。対象の実装は、固定版r13として管理されていました。

ACF本体を完全に削除したわけではありません。停止したうえで公開領域外に保全し、旧データへの参照や既存の保存形式との互換性も重視しています。

REST応答に残る「acf」という名称も互換性のためのもので、ACFプラグインの稼働が必須という意味ではありません。

なお、10月18日のACF非稼働構成の採用と、10月26日に完了した攻略TOPビルダーの操作性改善は、別の工程です。すべてを一度の更新で完成させたわけではなく、段階的に確認しながら進めました。

CGSの開発中に発生した不具合と改善方法

実際の開発では、自己QAでは問題が見つからなかったものの、別担当AIによる独立QAで不具合が判明したこともあります。完成した機能だけでなく、保存データをどう守るか、どの条件で公開できるかが課題になりました。

触っていない設定が保存時に書き換わる問題

既存の設定を編集する際、操作していない選択式の値や古い形式の日付などが、保存処理によって意図せず変わる条件が見つかりました。

管理画面では同じ内容に見えても、データベース内では値の型や保存形式が変わることがあります。特に以前から使っている設定を扱う場合は、見た目の一致だけでは十分ではありません。

そこで、フォームの表示、APIで取得する値、データベースの元の値を分けて確認し、変更していない項目を不要に保存しない修正を行いました。

SQLiteとMySQLで古い日付の扱いに差が出た再現条件もあったため、テスト環境と本番に近い条件は区別しています。

公開確認チェックが送信されない問題

攻略TOPを公開する際には確認チェックがありますが、実際のブラウザー操作でチェックを入れても、公開が受け付けられない不具合が見つかりました。

調べたところ、WordPress管理画面のJavaScriptによって確認欄が移動し、フォームとの関連付けが失われる状態を、実際のDOMで確認できました。フォームへの所属を明示する最小限の修正で対応しています。

HTTPリクエストだけの試験では見つけられなかった問題です。公開操作に権限や確認を設けていても、ブラウザー画面から正しく送信できるかは、別に確かめる必要があると分かりました。

504エラーの調査とバックアップ・限定復旧

本番での保存操作時に504エラーが発生し、更新をいったん止めたこともあります。関連する調査では、同期的なキャッシュのpreload処理によって遅延する条件が確認されました。

ただし、当時の504エラーを最終的にどの層が返したか、保存処理がどこまで進んでいたかまでは確定していません。後の限定保存で再発が見られなかったことと、過去の原因を完全に特定したことは、分けて考えています。

本番更新を再開する前には、最新のバックアップに加え、必要な範囲を復元できるかも確認しました。古いデータベース全体を巻き戻すと、その後に作成した攻略記事などを失う可能性があります。そのため、CGSと関係するデータを限定して戻せる条件を重視しています。

「バックアップを取得したから大丈夫」と判断せず、復旧可能な条件がそろわない段階では更新を保留しました。

本番検証の結果|確認できたこと・できなかったこと

複数カテゴリー75件、90termmeta、142属性比較の確認

主な確認項目をまとめると、次のようになります。

確認項目結果対象・条件
複数カテゴリーの記事取得75件のID集合が一致、重複0・別ゲーム混入0『真・三國無双2 with 猛将伝 Remastered』のキャラクター攻略+マップ攻略、10月26日時点
攻略TOPの保存・公開内容を変えず各1回実施無双攻略TOPの6セクション。確認ダイアログでは本人が操作を補助
ゲーム設定データ90件のtermmetaの行ID・キー・raw hash等が不変保存・公開の直前後を比較
WordPress投稿データ1,727行のdigestが一致投稿・固定ページなどを含むwp_postsの比較対象
本番の属性比較142/142のassertionsが一致指定した属性比較であり、142回の利用者テストではない
公開ページの確認匿名GET 9件+OPTIONS 2件を前後各11件確認対象URL・SEO要素・リンク・ナビ等の限定比較
復旧に関する検証5種類のバックアップを隔離環境に復元33テーブルなどの整合を確認。本番DB全体の巻き戻しではない

75件という数字は、その日に選択した1ゲーム・2カテゴリーの対象記事数です。前日の本人確認は74件でしたが、確認時点が異なるため、両方を同じ時点の結果として比較していません。

1,727行も、攻略記事の本数を表す数字ではありません。WordPressの投稿テーブルにある各種データを含む、今回の比較範囲の件数です。

PC1280px・モバイル相当390pxでの攻略TOP表示

表示確認ではChromeの画面幅を変え、390pxで攻略TOP2ページと代表記事2ページ、1280pxで攻略TOP2ページを確認しました。

指定した計6画面の範囲では、重大なレイアウト崩れや横方向へのはみ出しは確認されていません。

ただし、これはブラウザーの表示幅を指定した検証であり、物理スマートフォンの実機テストや、すべてのブラウザー・画面サイズでの動作保証ではありません。掲載する表示画像も、この検証条件を説明できるものとして選ぶ必要があります。

897件の非本番QAと、未測定の時間・SEO・収益効果

別の開発段階では、ACF依存を見直した候補版r13について、897/897の内部独立QA assertionsが確認されています。これは非本番での検証であり、10月26日の本番属性比較142件に足して「1,039回の本番テスト」と数えることはできません。

また、独立QAは別担当AIによる内部確認であって、外部の第三者認証ではありません。

採用後も、性能面の負担、人工的な高負荷試験のFAIL、過去の504エラーの未確定部分など、残る注意事項があります。今回の本番検証で問題が見つからなかった範囲と、保証できない範囲を混同しないことが大切です。

CGSの開発目的には管理負担の削減もありますが、編集時間・クリック数・実際の開発工数・サイト全体の表示速度・PV・検索順位・収益への影響は測定していません。

「ACFを停止したのでサイトが高速化した」「CGSでSEO順位が上がった」といった効果は、実績としては書けない段階です。

個人のゲーム攻略サイトにも独自プラグインは必要?

私の考えは、本当に必要な機能や、独自にほしい機能があるなら開発に賛成というものです。ただし、既存のツールで実現できるなら、同じものを自作するよりゲーム攻略に時間を使ったほうが良いと考えています。

CGSを作ってきたからこそ、誰にでも独自プラグインの開発をすすめるわけではありません。

最初から自作せず、WordPress標準機能で不足する場面を確認する

通常投稿やカテゴリー、固定ページ、既存プラグインで目的が実現できるなら、最初から新しいシステムを作る必要はありません。導入・運用の負担も含め、既存機能で十分かどうかを先に確認します。

CGSの場合は、ゲームタイトル別の攻略TOPを作るという具体的な目標があり、既存のACFを使った管理方法にも個人的な使いづらさを感じていました。それが、独自開発を考える理由になっています。

一方で、同じ機能を既存プラグインで無理なく実現できる場合もあります。ACFなどの既存製品を否定するのではなく、必要な機能と自分の運用方法が合っているかで判断するほうが自然でしょう。

ゲーム攻略サイトをこれから作る場合は、先に【ゲーム攻略サイトの作り方・始め方】で、WordPressと記事構造の基本を確認する方法もあります。

ゲーム攻略の制作時間と管理負担の釣り合いで判断する

ツールやプラグインのアイデアは、実際にゲームを攻略している最中に生まれることもあります。「この情報を整理できる仕組みがほしい」「同じ管理操作を何度も繰り返している」と感じたら、その場で必要な機能をメモしておくのが私の方針です。

すぐに開発を始めるのではなく、次のゲームを攻略するまでの合間や、現在の攻略が落ち着いた時期に必要性を検討します。遊んで調べるべき内容が多い時期に、開発へ時間を使いすぎないためです。

開発時期と必要性を考えるときは、次のように整理できます。

状況開発の考え方
既存のプラグイン・ツールで代替できる無理に自作せず、ゲーム攻略を優先する
攻略中に独自機能の必要性を感じたほしい機能と困った場面をメモしておく
同じ問題が繰り返し発生する既存機能での解決を調べ、専用開発を検討する
攻略の合間や、攻略が落ち着いた時期開発時間・効果・優先度を比較して着手を判断する

必要な機能を作ることには意味があります。ただし、開発したシステムが実際の攻略制作を助けなければ、開発時間そのものが負担にもなります。

CGSも、技術的に複雑なものを作ること自体が目的ではありません。ゲームをプレイして得た情報を、読者が探しやすい形で届けるための手段として育てていく考えです。

まとめ|攻略制作に必要な仕組みを、運営しながら育てる

Colorful Game Systemは、大手攻略メディアのようにゲームタイトルごとの攻略TOPを作りたいという希望から始まった、独自のWordPressプラグインです。

AIにカスタム投稿タイプを提案されたことや、Advanced Custom Fieldsを使う中で感じた管理上の課題も、CGSを自作するきっかけになりました。

その後は、攻略TOPの編集、記事取得、公開操作、既存データの保全を改善し、条件を限定した本番検証を行っています。

もちろん、CGSを使えばすべての管理作業がなくなるわけではなく、効果を数値で測っていない部分もあります。開発中の失敗や残る制約も含めて、今後の改善判断に活かしていく予定です。

個人のゲーム攻略サイトで独自プラグインが必要かどうかは、既存機能で解決できない課題があるかによって変わります。

攻略中に困ったことをメモし、攻略の合間に必要性を見直す。ゲームプレイと実機検証を中心に置きながら、必要な機能だけを作っていくことが、私にとって無理のない運営方法です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次