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

CMS実装時の機能定義。やり方、押さえておくべきこと。

2023年08月09日 2023年08月09日

CMS実装時に何を定義するのか?設計者により対応がまちまちな現実。

CMSのソフトウェアは色々あります。例えば

  • WordPress
  • PowerCMS
  • MovableType
  • WebRelease2

などなど。

エンタープライズCMSと呼ばれる高価格なものからWordpressのようなオープンソースのものまで。

静的CMSと呼ばれるコンテンツ配信型のものもあれば、動的CMSと呼ばれるwebサーバ上でページが表示されるたびにデータベースと連携して都度ページを生成するようなものも。

それらCMSのアプリケーションで何を゙使うかが決まった後、webサイトの設計者は、そのCMSを使ってどのようにwebサイトを更新するのか設計する必要がありますが、ここのステップの対応がサイト設計者によりまちまちだなぁと感じることがあるので、自分の場合このあたりのことを押さえて機能定義してますよ、ってことを備忘録を兼ねて整理しておこうと思います。

自分自身も手探りで進めているところもあるし、書籍とかwebサイトを検索してもあまりマッチした情報が見つからないので、以下記載のことの精度や網羅性は怪しいと思ってます。 なので、「あっ。これは定義しといたほうがいいな」ってことがあったら都度更新していこうと思っています。

CMS実装時、要件定義時に定義すること

CMSで更新されるのはどのページか。

全ページCMS管理というケースももちろんあるが、更新頻度が1年に1回しかないページをCMSで更新できるようにすべきか、とも言える。 完全にCMSで機能化せず、CMSの管理画面にHTMLコードを打ち込んで、あとで画像等のリソースファイルのパスだけ書き換えるという方法もあるけど、それはそれで結構面倒な作業だったりする。なので、CMS更新するページは、例えばコーポレートサイトを例にすると、お知らせ、商品、オウンドメディアコンテンツ、トップページあたりに限る方が無難という印象。

ファイル管理?ページ内容管理?

CMSでページの内容管理はせず、あくまでファイル管理だけに使うというケースも見かける。 FTPクライアントソフトを使わず、CMSを介してファイルアップロードするというやり方。 ファイルアップを対応したユーザーを明確にしやすい、ファイルアップロードツールが個人の環境依存にならず一元化できる、というメリットもある。

詳細ページ?一覧ページ?

そのページが詳細ページか、一覧ページかは、コンテンツマップ上で要件定義時に定義しておきたいこと。

詳細ページは、記事の内容や商品の内容ページそのもの。サイト管理者が、記事のタイトル、テキスト、画像などを登録してページを作り上げる。

一覧ページは、登録された詳細ページの情報(詳細ページ登録時に保存されたページタイトルや画像)から自動的に生成される記事や商品の一覧ページ。

ページ間連携、情報の参照表示があるか。

よくあるものとしては、トップページに、最新のお知らせや最新の商品情報を掲載するといったもの。あくまで情報の参照ではあるが、トップページの情報をCMSで更新できる様にすることに変わりはない。

ページのURL

コンテンツのカテゴリごとでディレクトリを分けるかどうか、等。 制作側で指定するか、サイトの運用者側で自由に設定いただく、という場合もある。 いずれにせよどういう方でURLが決定されるのか、ということは決めておく必要がある。

illustration of smartphone application screenshots

CMS実装時、サーバ環境準備で確認すること。

SSIは使えるか?

使えない場合、共通部分をCMSのテンプレート化する必要がある。静的CMSの場合、共通部分に変更が入ると、全ページの再構築が必要になることがある)

phpやデータベースは使える?

動的CMSの場合は必須になることがほとんど。 サーバインストール型のCMSか、クラウド型のCMSかにもよるが、サーバインストール型の場合には確認が必要。

最近はクラウド型のCMSを提案することが多くなっているようには思いますけどもね。

開発用の環境は作れる?

開発用の環境をそのままDNS切り替えで本番環境に切り替えるというやり方が最も事故のない一般的なやり方だと思う。ただ、公開後は、開発用の領域がなくなってしまうので、本番環境を複製して、新たな開発環境として準備する必要がある。

その場合、サーバ上にその開発用の領域を作る必要があるのと、開発用の領域を閲覧するためのバーチャルホストの設定などが必要になるので、それができるのか、誰がやるのかは決めておくべき。

CMS実装時、管理機能設計時に定義すること。

ここに関しては数が多いのでざっとリストアップだけしておきます。 主に管理画面の入力内容に対応するものです。

  • 入力必須項目かどうか
  • フリー入力項目か、選択式か
  • 最大文字数指定があるか
  • 画像サイズは固定か任意か
  • 選択可能項目はなにか
  • WYSIWYGの機能は使えるか、そこにある機能はすべて利用可能か

必須ではないが、管理画面定義要素として一応気にしたほうが良い項目

  • canonical設定
  • マージン設定
  • ウィンドウの開き方設定
  • リンク定義へのアイコン自動付与
  • ファイル参照時のファイルサイズ自動付与
  • クリック計測用のclassやID
  • アンカーリンクの飛び先用のID
MacBook Pro on brown wooden table inside room

CMS実装時、画面設計時に定義すること。

  • ページ内のどこがCMS更新可能なエリアか
  • 最大表示数は何件か
  • 自由編集か固定編集か
  • 表示文字は全部を表示するか、抜粋表示するか
  • CMSですべて表示制御するか、CMSで吐き出した情報をJavaScriptで整形して表示するか
  • CMS管理画面入力項目の何と対応するか
  • 表示条件はなにか
  • ソートのキーは何か
  • 表示要素として何を゙選択できるか