webサイト制作、便利アプリ、Apple製品について考えるブログ

CMSの機能要件として求められることが多いものをまとめてみた。【要件定義】

2021年05月25日 2021年07月25日

今回はCMSのテンプレート開発を行うとき、クライアントから要求されることが多いと思われるものを整理しておこうと思います。

以前、要件定義全般について項目をリストらアップしましたが、機能要件に絞って具体的にそれがどういうことを示すものかを整理した感じです。

1. 管理全般

1-1. ページのステータス表示

これはCMSでの更新対象ページ一覧でだいたいどのCMSにおいても表示されていると思います。よくあるステータスとしては

  1. 編集中
  2. 承認待ち
  3. 公開待ち
  4. 公開中
  5. 公開終了待ち
  6. 公開終了

といったものですね。
ページのライフサイクルに合わせたステータスって感じです。

1-2. サイト内検索機能

CMS独自のサイト内検索機能を持っているかどうかです。
WordPressでは標準のサイト内検索機能を持っていますが、機能そのものは貧弱なので、機能としてどこまで求められるかで、有償の検索APIを使うかどうかという判断が必要になります。

1-3. 管理者管理、権限設定

管理者管理はどのCMSにも標準で備わっているはずです。
登録したユーザーごとでどこまでのことが対応可能かを定義します。

  • ページを編集できる
  • ページを公開できる
  • CMSの設定を変更できる、管理者を追加できる
  • CMSのテンプレートを編集できる

こういったものです。
高機能なCMSであれば、Webサイトのディレクトリ単位で権限設定できるものもあります。

1-4. CMSのアップデート対応

CMSのアップデートは、有償CMSの場合、サポートライセンス的なものを契約しておく必要があります。セキュリティアップデートや、機能追加のアップデートのサービスを受けられるかどうかは、予め取り決めを求められることが多いです。
企業のWebサイト管理でCMSを使う場合、CMSの脆弱性により機密情報漏洩とか、Webサイトの改ざんとかあったら大変ですからね。

1-5. 管理情報全般ステータス表示

ページ個別のステータスではなく、サイト全体としてのステータス表示機能です。
例えば

  • 承認待ちページ数
  • 公開ページ数
  • 最新リビジョン作成日

などがあるでしょうか。

1-6. プレビュー機能

CMS管理画面上で作ったページの見た目を事前確認できるかどうか、という機能です。スマホでのプレビューが出来ないCMSもあるので、その点は注意が必要かもしれません。
PCのCMS管理画面上で、スマホでの表示をエミュレートするものもあるようですが、そこの再現性は怪しいところも多いと思います。
プレビュー用のURLを発行し、それを実際のスマホで表示して確認できるCMSとあるのでそれが一番理想かもですね。

2. コンテンツ管理機能

2-1. CMS上でのメディアの一括管理

テキスト、画像、動画に限らない、Webサイトを構成するデータ管理をどのようにするか、ということですね。
CSSやJavaScriptは、Webサイトオーナーであるクライアント側で直接編集されることは基本ないものの、FTPでのデータアップを嫌うクライアントも多いです。

2-2. コンポーネント定義可否、コンポーネント積み上げによるページ作成

コンポーネントとは、ページを構成する要素、パーツのようなものです。
画像コンポーネント、リストコンポーネント、テキスト+画像のコンポーネント、ボタンコンポーネント・・・色々です。
そういったコンポーネントを選択してHTMLのコーディングを行うのではなく、ブロックを積み上げるようにページ生成ができるかどうか、ということですね。

2-3. Webページの読み込み

ページのインポート機能です。
他のCMS のページデータをまるっとインポートする、みたいなことは基本難しいですが、単純に静的なHTMLデータをWebサーバ上に配置するために、CMSからデータをインポートする、ということもあります。
体裁はあくまで、CMSでデータ管理できるようになる、という程度のものが多いように感じます。例えば、Webサイトのリニューアルで、1,000ページのニュースリリースの記事を新サイトに移行したい、とかそういうときですね。

2-4. リダイレクト設定

リダイレクトは通常、.htaccessファイルというもので行います。
そこに新旧のURLを対応付けて記載しておき、旧サイトのURLにアクセスがあったら自動的に新サイトの対応したURLに飛ばす、というものです。
その機能を直接.htaccessファイルを触ることなく、CMS上で編集できる機能を求められることもあります。

2-5. メタ情報設定

メタ情報とは、例えば、ページタイトルやページの要約文(デスクリプション)といったものですね。ページ編集画面に基本で備わっていることが多いです。
ただ、SNSに連携する情報のOGP画像なども設定できるかどうかはCMSにより差異がありそうです。

2-6. WYSIWYG機能

WYSIWYGとは
What you see is what you get.
の略で、CMSの管理画面上で、実際のWebページの見た目をプレビューしながら編集できる機能です。
例えるなら、CMSのページ編集画面がWordの編集画面になっているような感じですね。文字サイズを変えたり、文字の色を変えたり、画像を読み込んだり、表を作ったり。編集が終わると、作った見た目のままがWebページとして公開される、というものです。
一見柔軟な編集方法のようにも見えますが、注意しないと、デザインルールに即さない、印象がバラバラのチープな見た目になる可能性もあるので注意が必要です。

2-7. ページの複製機能

作成したページを複製する機能です。
以前作成したページを元に同じようなページを作りたい、という時によく使う機能です。こちらも概ねほぼすべてのCMSに備わっている機能だと思います。

2-8. ヘッダー、フッター等共通パーツ管理

ヘッダーやフッター等サイト全体で共通で使うパーツをCMS管理できるかどうか、というところです。

2-9. サイトマップの自動更新機能

サイトを構成するページを一覧表示するサイトマップページ、sitemap.xml
の更新がCMSと連動させる機能です。
新規にページを追加したら、その都度サイトマップページを更新するのは若干手間ですよね。それを自動化するCMSもあります。

3. 公開管理機能

3-2. 多段承認フロー

承認者として設定した人が承認したらページ公開という機能はどのCMSでも標準で備わっていると思いますが、複数人の承認を経て公開する、といった運用が可能かどうか、というところですね。

3-3. 予約機能

これもだいたいどのCMS にも標準で備わっていると思います。
新規の公開予約は問題ないが、ページの更新予約が出来ないというCMSもあったと思います。どこまでのことが予約できるのかは、確認しておいた方がよさそうです。

予約機能と一言で言っても、公開予約に限りません。

  • 公開予約
  • 更新予約
  • 削除予約

が問題なく対応しているかは確認が必要です。

3-4. バージョン管理

更新内容を履歴として持っており、過去の状態に戻すことができるかどうか、という機能です。

4. 便利機能・チェック機能

その他便利機能としてよく挙がるものです。
デフォルトの機能で備わっていなくてもプラグインの実装で対応できることが多い気がします。

4-1. ページング機能

例えばお知らせページを作成したする際、その一覧ページをどうするか、ということに関係します。全件を1ページにリスト表示することもありますが、あまりに多い場合は、50件ずつ表示し、次の50件は別ページにする、ということもあります。その機能が自動で実現できるか、ということです。
動的CMSの場合は標準で実装されているものと思いますが、静的CMSの場合は実装に工夫が必要になることがあります。

4-2. 閲覧ランキング機能

よく見られているページの一覧表示機能です。
意外と標準では対応していない気がします。Wordpressなどはプラグインで対応できます。

4-3. 禁止文字チェック

言い回しとしてまずいもの、表現として古いものを抽出してくれる機能です。
SEO的な表現の揺れの対応にも効果的です。

4-4. リンクチェック

リンク先のページが存在しない場合がないかチェックしてくれる機能です。

4-5. アクセスログチェック

ページのアクセス状況をチェックできる機能です。
ただ、Google Analyticsに勝るアクセスログチェックツールは無いので、わざわざCMSの機能でサイトのアクセス状況を確認する、ということは少なくなっていると思います。

まとめ

今回はCMSの要件として挙がることが多いと思われる機能や仕様についてまとめてみました。あらゆるCMSを網羅してあげたものではないですが、CMSの要件定義に活用いただければと思います。
今後、「あー、こういう要件もあるなー」ということがあれば、また情報追加したいと思います。

あとは、いずれ、CMSの非機能要件についても追ってまとめたいと思います。
例えばセキュリティとか、ページの公開スピードなど。この辺りもどこまで定義するかは悩ましいですね〜。