WordPress で Web サイトの制作を請け負って保守契約も結ぶときに意識しておいたほうが良い5つのこと

ちょっと前ですけど、下記の記事が話題になっていましたね。

反応をウォッチしていると「WordPress を導入する場合、セキュリティを考えると当然システム保守契約を結んで保守することが必要」という意見がちらほらあって、僕としてもそれは当然のことでむしろやっていない人は作成した後えらいことになってないのか少し心配になったりしてしまうのですが、じゃあクライアントと保守契約を結べたとしてどういうことに気をつけたほうが良いかということを少し書いてみたいと思います。

コア・プラグインのアップデートは必ず実施する

大前提すぎてあれなのですが、セキュリティを維持して攻撃を防ぐためにお客様にシステム保守契約を結んでいただくわけなので、コアやプラグインのバージョンアップは必ず行わないといけません。企業さんのサイト制作の場合だとテーマはオリジナルのことが多いと思いますが、テーマも自作でないのであればきちんとアップデートするべきです。

「コアの自動アップデートをとめる方法」なんて記事が結構目について愕然とするのですが、これは絶対にやめたほうが良いです。そもそも WordPress の自動アップデートはマイナーアップデートだけで、これは軽微な修正とかセキュリティアップデートが主になるので、自動アップデートしたからといってサイトがおかしくなるということはほとんど無いと思います。むしろ、わざわざ手動でアップデートする必要が無いなんてすごく素敵なことだと思います。もちろん、メジャーアップデートもきちんと動作検証してから適用しましょう(僕は結構えいやっとやりますが…)。

プラグインも自動アップデート

プラグインは標準では自動アップデートがオフになっています。プラグインについてはアップデートすると不具合が発生してしまう場合が無いとも言えないので、テスト環境でアップデートして問題なければ本番環境に適用という形をとるほうが良いかと思いますが、なるべく自動化したほうが手間が少ないので可能であれば自動化したほうが良いと思います。自動化するにはwp-config.phpに下記のコードを追加すれば良いです。

// wp-config.php に追加
add_filter( 'auto_update_plugin', '__return_true' );

信頼できるプラグインを使用する

WordPress の魅力の一つに「膨大なプラグインが存在すること」があると思いますが、残念ながら全てのプラグインが問題なく正常に動くわけではありません。一見すると正常に動いているように見えても、裏ではエラーログを吐きまくっているプラグインも少なくありません。上で「プラグインも自動アップデート」と書きましたが、自動アップデートするためにはアップデートしても恐らく問題が起こらないであろう信頼できるプラグインを使う必要があります。これについてはプラグイン本の著者でもある @miya0001 さんが先日記事を書いていたので読まれることをオススメします。

ちなみに僕は使っているプラグインのうち半分くらいは自作のものです。これらのプラグインはほぼ全て公式ディレクトリで公開しています。そうしておくと何かバグを見つけたり機能を追加したくなったときにすぐに全てのサイトに反映させることができてすごく便利です。みなさんも、どのサイトにも使いまわしているようなコードがあればプラグイン化して公式ディレクトリに申請してみることをオススメします!

「機能」はなるべくテーマに持たせない

WordPress のテーマレビューチームが下記のような記事を出しています。

恐らくテーマはユーザーさんが着せ替え感覚で切り替えて使うものなので、テーマを切り替えたときに何か「機能」が失われたり作成したコンテンツが見えなくなったりしてはいけない、だから「機能」はプラグインの領域でテーマはそれらを含んではいけない、ということだと思います。企業サイトの制作においてはテーマを切り替えるということはあまり無いと思うのですが、例えば Google Analytics や Facebook の埋め込みタグなんかはちょこちょこ仕様が変わり新しいコードを埋め込んでください、みたいなことが起こります。このときテーマにハードコーディングしてしまっていると、一つ一つ確認して修正し、手作業で更新作業を行っていかなければいけません。このようなものをプラグインとして独立させておけば、プラグインをアップデートするだけで全サイトに修正を反映できます(過去にこれをやっていなくて現在ハマり中…)。

バックアップも自動化する

システム保守契約ということは、「データの消失」からもシステムを守る必要があると思うので、必ず定期的にバックアップもとったほうが良いと思います。バックアップ系のプラグインもいろいろありますが、同一サーバー内にデータを保存したりするものはあまり意味が無いと思いますし、それらのプラグインにはだいたい良い思い出がないので、僕は自分でシェルスクリプトを組んで Amazon S3 にバックアップをとるようにしています。バックアップも手動でやるのは大変手間のかかる作業なので、何かしらの方法で自動化したほうが良いです。シェルスクリプトを書いてcronで自動実行させても良いですし、AWS ならスナップショットとれますし、VaultPress などのサービスを使うのも良いと思います。

ということで、こちらからは以上です。

MW WP Form

MW WP Form はショートコードベースのフォームプラグインです。多くの機能を持っており、例えば、多くのバリデーションルール、問い合わせデータの保存、そしてグラフ機能集計などを使用することができます。

さらに詳しく
Habakiri

Habakiri

Bootstrap ベースのシンプルな WordPress テーマ。レスポンシブ、多くのカスタマイズ機能。圧縮された CSS・JS を使用する高速化対策。Microformats 対応。Sass、クラスベースの functions.php。

さらに詳しく
basis-stylus

Basis

軽量なレスポンシブ Stylus/CSS フレームワーク。Flexbox ベースのグリッドシステム、疎結合なコンポーネント、バーティカルリズム。

さらに詳しく