http://studio3110.com
齋藤電子工房
Studio3110 WebSite Asset Loading...

齋藤電子工房

2016.01.13 : 齋藤電子工房 サイトリニューアル

これまで "studio3110" としてサイトを運営しておりましたが、正式に屋号を登録しまし...

サイト構築のためのWordPressの使用

齋藤電子工房では、サーバー側のプログラムでは主にWordPressを扱っております。 WordPressは基本的には「ブログツール」ではありますが、「PHPのフレームワーク」としても威力を発揮します。
ここでは、齋藤電子工房がWebサイトを構築する際の WordPress を扱う方向性について記させていただきます。(技術サービス向けに難しい用語もございますがご容赦ください)

テーマの作成

有志の方々が配布されているテーマは、背景や配色のカスタマイズが可能であったり 多言語化を前提としたプログラムとなっておりますが、特定のサイト構築が目的の場合は このような汎用性を持たせることにあまり意味はありませんので、ややハードコーディングに近い形でテンプレートを作成しております。
テンプレートではなるべくHTMLの論理構造が見やすい形式を維持し、インラインレベルの出力に関しては function.php にて作成したstaticなclassを経由して出力処理を記述します。 また、(ログイン処理やcaptcha出力のように)ある程度の汎用性を持たせた方が良さそうなものについては、プラグインとして別途作成し、そのインスタンスを経由してテンプレートにて出力処理を行います。

WordPressでサイトを構築する際、一般的には

「テーマの選定」→(「子テーマの作成」→)「プラグインの選定・追加」→「サイトに特化した部分のコーディング」

といった手順になりますが、WordPressを「ブログツール」として扱う場合は優れたアプローチです。(工数が減り、低価格でサイトを提供できます) ただし、WordPressで一般的に想定されている範囲以上の機能を持たせた場合、このアプローチでは 動作が重く 拡張性の低い サイトとなってしまいがちです。

このため、齋藤電子工房では、WordPressを「PHPのフレームワーク」として扱っております。決して「激安価格」ではありませんが、このような背景があることをご了承ください。

Webアプリケーションへの応用

WordPressにはもともとユーザーを管理する機能が備わっておりますので、会員制サイトも比較的容易に作成することができます。(齋藤電子工房にて既にプラグイン作成済みです)
加えて「カスタム投稿タイプ」を使用することで、データベースのテーブルと同等のデータ構造を持たせることが可能です。大量データ・大量アクセス数でない限り、Webアプリケーションとして十分耐えられる程度の動作です。
以前は個別にデザインされたWebアプリケーションは非常に高価なものでしたが、このような事情により、現在は少ない工数で作成することが可能となりました。
「美容室の予約システム」「飲食店のオーダーシステム」といったシステムの導入をご検討の際には、是非ご相談ください。

既存サイトのCMS化


既存の固定HTMLサイトをCMS化したい という案件は少なくありませんが、前述のとおり、CMSサイトを構築するためには テーマの作成 が必要になります。 そのため、結局は「リニューアルの方が安く済む」といった、お客様にとってなかなか納得しがたい事態が発生してしまいます。
これは「PHPのフレームワーク」としてWordPressを扱っている業者が少ないことが原因であり、実際には、(サーバー環境さえ整っていれば)早ければ1日程度でCMS化が済んでしまいます。

サーバーの設定を変更し、拡張子htmlのファイルでもPHPが動作するようにする → documentRootの1つ子階層にWordPressをインストール → 従来のhtmlファイル内にWordPressをロードし、動的なデータ出力個所のみ修正する → WordPressの階層への直接のアクセスを制御するように.htaccessを設定する

このような流れになります。
これだとWordPressの利点を半分程度しか活かしていませんし 技術的にあまりお行儀の良い構造でもないのですが、重要なのはお客様がどこに重点を置くか ですので、技術力に比例して幅広いご提案ができるよう努めていきたいと考えております。

WordPress以外のCMS


「サイト構築にブログ前提のWordPressを使うのは馬鹿げてる」といった議論をよく見かけます。「ブログ」の点でおおよそ同意です。
ただし、「PHPのフレームワーク」として扱う限りは、WordPressの前提がブログだろうが固定ページだろうが あまり関係がなく、ブログが前提のツールだから困った といったことは今までまったくありません。何が前提なのかは 技術者だけの問題だろう… と思っています。
他のCMSは、WordPressと比べるとドキュメントが圧倒的に不足しているので、当面はWordPressのみをご提案させていただく予定です。

ただ、WordPressは管理画面のカスタマイズ性に難があり、これに関しては「PHPのフレームワーク」というよりも「制約で雁字搦めにされている」といった具合です。 もちろん、それでも可能な限り管理画面の使い勝手が良くなるように作り込んでいますが、「ログイン状況を管理した通常ページ上で管理画面を構築」(もちろん、セキュリティ対策優先)といったことも視野に模索していくことになりそうです。