💧

属人CMS”からの脱却──Drupal全社導入と半年で6タイトルを同時展開した舞台裏

に公開

こんにちは。大手ゲーム会社でエンジニアとして働いています。

今回は、属人CMSの限界を打破し、Drupalを全社導入したプロセスと、
わずか半年で6タイトルを同時展開した現場の実情を紹介します。

  • なぜDrupalだったのか?
  • どんな課題があったのか?
  • 実際にどう乗り越えたのか?

OSS活用やCMS統合、多言語対応、翻訳ツール連携、情報設計、内製化──
これらに関心がある方のヒントになれば幸いです。


なぜDrupalを選んだのか?

当時、社内には複数のCMSが乱立しており、運用や保守に課題がありました。
特に課題だったのは、多言語対応と属人化による運用リスクです。

※以前はWordPressに多言語対応プラグインを重ねていましたが、構成が煩雑化し、結果的にコストがかえって嵩む状態になっていました。

会社の方針としても、「多言語対応ができるCMS」「運用・保守しやすいこと」「コストと性能のバランスが良いこと」「ベンダーロックが起きにくいこと」が条件として挙げられました。

Drupalを選定した理由:

  • OSSでライセンス費用が不要。柔軟なカスタマイズが可能
  • Phraseなどの翻訳ツールとの連携がしやすい
  • モジュールベースで拡張・共通化がしやすい
  • コアアップデートや脆弱性対応の情報が早く信頼性が高い
  • コア機能が充実しており、プラグインなしでも多くの機能が実現可能
  • 中〜大規模サイト向けに設計されている

WordPressを選ばなかった理由

  • 複数年運用+多言語対応という要件では、WordPressのスケーラビリティに不安があった
  • 実際に社内でも、複数タイトルでWordPress運用に失敗した例があった
  • プラグイン依存による管理負荷と、セキュリティ的な懸念が残っていた

初期導入と学習フェーズ

Drupalはオブジェクト指向かつDB構造をフル活用するCMSであり、
設定・構成の多くがDBやYAMLファイル、テンプレートエンジン(Twig)に分散しています。

  • ドキュメントは英語が中心で、やや技術者寄り
  • HTML構造すらもDBで管理される仕組みに最初は戸惑った
  • Drupal固有の概念(ノード、エンティティ、ビューモードなど)を理解するのに時間がかかった

一度構造が腹落ちすれば、非常に規則的で拡張しやすい仕組みです。

※初期導入プロジェクトは単言語対応でした。


多言語展開フェーズ

初期導入から約半年後、本来の目的である多言語対応に着手。

Drupalのコア機能だけでも多言語対応は可能ですが、運用面では以下の課題が判明:

  • 多言語の記事を同時にタイマー公開する機能がない
  • 多言語の記事を一括で「公開」状態にする機能がない

📌 例:10言語展開でのステータス遷移

「編集済み → 公開」の遷移を10回繰り返す必要があり、運用負荷が非常に高い状況でした。
これはミスの温床にもなります。


カスタムモジュールでの解決と提言

課題には独自のカスタムモジュールを作成して対応

ただし、個人的には:

「このレベルの機能はコアに取り込んでほしい」

コアで保守される機能であれば、将来的な運用負担が減るためです。
Drupalは柔軟ですが、“痒いところに手が届く”には自力が要るのが現実です。


社内で広がるシェア

安定運用が進むと、他チームでも「Drupalでよくない?」という声が。
既存の翻訳連携にも課題があり、独自モジュールの開発により評価がさらに上昇しました。


社内で実質的な標準CMSになる日は突然に!

上司が退職した直後、他CMSのサポート終了が発覚し、次期CMS選定が開始。このタイミングでDrupalのテーマをフォーマット化し、内製で導入できる体制を提案したところ、フラッグシップタイトル含め一気にDrupal移行が加速しました。


スケジュール鬼!

決まるまで遅いが、決まると爆速——あるあるですね。
実装担当は私ひとりで6タイトル並行立ち上げになり、業務をこなすだけで手一杯でした。


入れるからには説明は丁寧に

Drupalのテーマ開発はクセがあり、デザイナーさんへの負荷が大きいため、
なるべく丁寧にドキュメントとレクチャーを実施しました。

以下のような内容を共有していました:

議題 担当 詳細
Drupalの開発方法 主担当者 drupal/web/themes/custom/****** に基本的なリソースがあり、ディレクトリ構造やCSS・JSの役割、テンプレートやキャッシュの仕組み、パラメータ例、マニュアルリンク等を含めて共有
サーバー構成 主担当者 利用可能ディレクトリ制限、本番反映までのフロー、Notionへのリンク等を含めて共有
今後の進行について 主担当者・デザイナー テスト環境・要件調整・デザインカンプの流れ・MTGスケジュール・不明点対応フローなど
開発手法の説明 主担当者 git運用方針、デプロイフローなど
デザイナーの権限確認 主担当者 VPN環境とDrupalサーバーアクセスの許可取得、構成条件を共有

導入後の成果と信頼感

6タイトル同時導入は小さなトラブルも多発しましたが、
障害はほぼ30分以内に復旧、遅くても2時間以内には収束させました。

この結果、社内でのDrupalの信頼性が向上。
例えば、GW前の軽いアップデート連絡に対し、2時間以内に9チームが返信、2日後には全チームが対応完了という事例もありました。


まとめ

Drupal導入の成功要因は以下の通りです:

  • 導入初期に構造を深く理解し、ナレッジを蓄積しておいたこと
  • OSSの柔軟性を活かして、必要な拡張を自力で行ったこと
  • デザイナーや他部署に対して、丁寧な連携と説明を重ねたこと
  • 信頼と安定性を積み重ねて、導入拡大を“自然発生的”に実現したこと
  • 複雑な機構ゆえ、ベンダーさんと二人三脚できる体制を整えたこと

💡 これは「もしも」の保険として、全てのプロジェクトに共通する備えでもあります。
社内・社外問わず、しっかり引き継げる体制を整えることは何より重要です。


最後までお読みいただきありがとうございました。
Zennでは、今後もCMS・PM・社内整備・OSS運用に関する知見をシェアしていきます。

フォローやスキ・フィードバック、お待ちしております!

Discussion