WordPressでの開発

はじめに

WordPressロゴ

私は、ワードプレス(WordPress)という、コンテンツ管理システム(CMS)を使用した開発を行います。
世界で最もよく使われているシステムで、組織サイト、法人サイト、ポータルサイトなど、いろいろな業種や用途のウェブサイトで使用されています。

レスポンシブウェブデザインとの組み合わせで、WordPressでの1回のみの更新で、スマートフォン、タブレット、パソコンに向けてコンテンツを配信できます。

開発で目指すこと

私は長年、WordPressの開発を行い、他者のWordPressの実績を研究してきました。
また、Googleの動向を注意深く見てきました。
どうしたら、顧客に必要とされるWordPressのウェブサイトを構築できるかを考えた結果、下記に列挙することを目指すことにしました。

・配布されている有償・無償のテーマを使わないこと。

・独自実装によるオリジナルテーマを作成すること。

・ビジュアルと高速軽量を両立させるウェブサイトを構築すること。

・採用するプラグインは必要最低限に抑えること。

PageSpeed Insightsで85点以上を目指すこと。

WordPressの配布テーマの弱点とは?

弱点とは、配布テーマをそのまま使うと、表示速度を遅くすることです。
サーバーがどんなに高仕様で、高速処理であってもです。
今や利用者が待てる応答時間の限度は、3秒です。

表示速度が遅くなる原因は、配布テーマをそのまま使うと、プラグイン特有のJavaScriptコード、CSSファイルの読み込み行、CSSのコードが、長いソース行数として書き出されるからです。
スマートフォン、タブレット、パソコンに搭載のブラウザは、ソース行数が長くなればなるほど、描写をする時間がかかります。

WordPressの配布テーマは、知識がなくても短時間で見た目がいいウェブサイトの構築ができることが美点です。
しかし、見た目が良くても表示速度が遅いウェブサイトは、利用者のユーザー経験を損ない、Googleの検索結果にも悪影響が出ます。

高品質なウェブサイトとは、見た目の良さに加え、コードが綺麗で軽量さを両立できています。

オリジナルテーマの作成

配布されている既存テーマをそのまま使用するだけの同業者が存在します。
この同業者によるWordPressのウェブサイトを見てきましたが、コンテンツを入れただけで、上述した弱点が表面化した結果となっています。
果たして、これで求められるウェブサイトを目指せるのでしょうか。

WordPressのテーマを使うにしても、開発者は結局はWordPressのテーマのソースに、何らかの手を加えないといけない場面が多いです。
そのため、最初から必要されるウェブサイトを目指すべく、オリジナルテーマを作成します。

WordPressのカスタマイズ

WordPressは公開ソースのため、サーバーへのインストール自体は無料です。
インストールしぱなしでは少なからず何かで困り、実運用に差し支えることが殆どです。
実際には、WordPressのプログラムのカスタマイズを有償で行わないといけません。
カスタマイズの内容は、依頼者とご相談となります。

カスタマイズの一例として、管理者画面でのデータ入力の定型化、利用者画面での表示の定型化がございます。
運営者により、実績紹介、お客様の声といった多くのコンテンツを作成、保守できるようになります。

可読で保守しやすい開発

上述したWordPressの弱点を踏まえ、私はPHPとHTMLを完全に分離して、可読や保守のし易い開発を行っています。

利用者画面のソースでは、最初は純粋なHTML構造で考え、プラグインのCSSファイルやJavaScriptファイルを読み込まずにウェブサイトを機能させられるかを第一に考えます。
機能しないものについては、独自で読み込むなどして対応を行います。

プラグインの利用範囲

私はプラグインの利用は極小で考えます。
コンテンツ文章や画像の保守更新を中心とした管理者側の機能を中心とし、利用者画面に影響が出ないように考えます。

なお、EC機能など、プラグインを使用しないと実現できない機能を搭載する場合は例外となります。

操作手順書の作成

運用者が自立してウェブサイトを運用できることが私の考えです。

全ての依頼者が、WordPressの操作に慣れているわけではありません。
運用者がWordPressの操作がわからないと、運営やコンテンツ保守に支障が出ます。

WordPressによる構築を行う場合、私はWordPressの操作手順書を作成する前提で提案し、見積項目の1つとさせてもらいます。

文書の作成には時間が必要になるため、有償となります。
操作手順書が不要の場合は、見積項目から外します。