最近、自社で外注していたWEB制作の受入をすることになり、サーバー構築して納品されたWordPressを公開するという作業をやっていました。 要件定義など上流での取り決めやら経緯も把握していないまま、案件の終盤にちょろっと入っただけですし、本職はシステム開発なのでWEB制作の決まりごととかは知らず、偉そうなことは言えないのですが、とはいえ、納品物を見てここは考慮して欲しいなぁという部分があったので、書き留めておきたいなと思います。 受発注どちらの側でもここくらいはお互いに留意して置いた方がいいよなぁという点をまとめておきました。 発注する時に齟齬がないように、また受注側は品質のいいものを納品できるように、自分への戒めとして今回は書き残したいと思います。
エンジニア目線ですので、SEO対策については特に触れません。
1.稼働環境について
1-1.稼働予定のサーバーについて
移行作業時にトラブルが発生するリスクを減らすために、使用できるWordPress、PHP、DBのバージョンは何かを確認する。
1-2.メールサーバーについて
使用するサーバーはメールサーバーとしても使用できるのか。メール配信ができない場合は、どのサービスで代用するのか。
メール配信のために外部サービスを使用する場合はどのプラグインを使用するか
1-3.ドメインについて
誰が購入・管理するのか
2.開発環境について
2-1.WordPressバージョン
原則最新の安定バージョンで構わないが、開発時点から本番環境時点の間でバージョンアップが発生する可能性があるため、予め決めておく。
2-2.PHPバージョン
稼働予定のサーバーがレンタルサーバーであれば、レンタルサーバーに搭載されているPHPのバージョンを、そうでない場合は最新の安定版かつWordPressの動作要件を満たしているものを選ぶ。
2-3.DBドライバおよびドライバのバージョン
稼働するサーバーのDBバージョンに合わせて開発をする。
2-4.JavaScriptのライブラリについて
JavaScriptライブラリに何を選定するか、バージョンについてもライブラリのバージョンは何を使用するかを擦り合わせる。指定がなくても古いjQueryを使わない。バージョン保守性、シェアなどを考慮して選定すること。
2-5.対象ブラウザについて
基本はシェアが大きいGoogleChromeを標準にするが、他のブラウザは考慮から外して良いのかを確認する。
2-6.レスポンシブ対応について
画面はレスポンシブで対応するのか、別の画面を作成するのかを確認する。
3.作業範囲について
3-1.アイコンについて
ファビコンは設定するかを確認する。設定する場合はその素材があるかを確認する。設定しない場合でもWordPressのファビコンは表示されないようにする
3-2.メールの配信について
メールの配信内容の設定は行うのか確認する
4.納品物について
4-1.納品方法について
テーマファイルなのかバックアップファイルであるか。バックアップである場合はどのプラグインを使用するかを確認する。
4-2.管理者権限の設定
WordPressのID、PASS、メールアドレスは本稼働時に使用するものに設定した状態で、受け渡しし、バックアップファイルと共にユーザー情報を納品する
4-3.コンソールのエラーログ
警告およびエラーはなるべく消す。プラグインなど、自分がコード変更するのが難しいものは別として自分がコーディングを行った範囲についてはエラー及び警告、無駄なログはださないようにする。
4-4.無駄なファイルは消す
無駄なプログラムファイルや画像、動画ファイルは消して納品する。特に別のクライアント向けのデータは含まないこと。
4-5.不要なプラグインは削除する
デフォルトでインストールされているプラグインでも使用しないプラグインは削除する。
4-6.ファイルの権限管理
ファイル権限は適切に行われているか
4-7.プログラムファイルについて
不要なコメントは消すこと。
5.移行・サーバ関係
5-1.移行について
本番サーバの構築移行は誰が行うか。移行手順書は必要か
5-2.SSL証明書について
SSL証明書はドメイン認証型、企業認証型、EV型のどれを使用するか
5-3.wp-adminのURLについて
wp-adminのURLは変更するかを確認する。 またBasic認証をかける必要があるか試行回数を限定するかなども確認する。
5-4.ファイルのアクセス権限について
アクセス権下記推奨のアクセス権とすること
.htaccess:604か606
wp-config.php:400か600
ディレクトリ:705
ファイル:604
まとめ
割と当たり前なことですが、確認することによって双方にとって作業に漏れがなくなりますし、公開直前になってトラブルが起きるのを防ぐことができると思います。
また、クライアントによって確認項目は多少の変化もあることを考慮してもらえたらと思います。
今回はここまでになります。最後まで閲覧くださりありがとうございました。