Scribble at 2021-12-07 15:12:38 Last modified: 2021-12-07 15:34:32

来年に入ってすぐ始まる受託案件で、ランディング・ページの内容をクライアントが簡単に書き換えるために CMS を導入するという作業を予定している。現実にエンド・ユーザへ提供するのは1ページなのだが、そのソース・コードをクライアントがダウンロードしたり、エディタで編集したり、アップロードできないため、WordPress を使うという。「たった1ページを運用するのに WordPress というか CMS を使うのか」と違和感をもつ人はいるかもしれないが、実はランディング・ページだけに限らず、中小企業のコーポレート・サイトが SPA (single page application) として設計されるようになった頃から、このような与件でサイトを作る事例は増えている。

このような与件において、僕がこれまで幾つかの案件で採用してきた仕様が(与件はクライアントの要望であり、それを仕様としてどう実現するかは、われわれプロのエンジニアが決めて責任を持つ)、これまで何度か紹介してきた「管理画面としてだけ WordPress を実装する」という手法だ。そろそろ素人向けの技術書とかオンラインでも解説する人が増えてもおかしくないはずなのだが、調べてもいないからか見かけないので、まだ普及しているとは言い難い手法なのだろうか。もしそうであれば、幾つかの案件で採用してきた実例があるため、一つの提案として当サイトにて記事として公開するのも、知命に至った者の余技としては相応しいものであろう。

もちろん、この手法を採用する目的の一つは情報セキュリティ上の安全性を高めることにある(クライアントはページを編集できないから CMS を求めているのであって、エンド・ユーザにページをレスポンスすることを WordPress で実行したいなどと願っているわけではないだろう)。ただし、その前提として WordPress のデータと連携させるランディング・ページを動作させる方のプログラムが WordPress のコア・システムよりも脆弱にならないという条件がある。WordPress とは独立に動かす方が攻撃に弱ければ、こんな分離プランに利点などない。よって、僕と同じ程度のシステム開発と情報セキュリティの知識なり技術なり経験をもっている者だけが採用できる。片手間に PHP を書いているようなデザイナーや JavaScript のコーダや日曜プログラミングの SE が真似をするのはお断りである。

なお、管理画面として動かす WordPress とは独立に動かすのが目的なのだから、フロント・エンド側でページをレスポンスするプログラムは別の言語で動作させる方がいいのかどうかという議論がある。僕は、これは非機能要件という観点から PHP でレスポンスすることにそれほど負荷や脆弱性があるのかどうかによると思う。もし PHP でレスポンスすることに大きな負荷がかかるとか、サーバに古い PHP しか入っていないなら、そもそも WordPress を管理画面として使うことにも疑問が出てくる。それから、WordPress を動かせるサーバだから、PHP が動くのは事実だ。しかしだからといって、他に選択の余地があるとは限らない。僕が今回の案件でシステムを実装するのはクライアントが借りているサーバだから、幾らでも選択の余地があるとは限らないのだ。そうした議論も、機会があれば書いておこう。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook