WordPress開発
Systemシステムを運営していくご担当者様が使いやすいよう、WordPress上でシステムを構築するサービスになります。
先駆ではお客様の要望に応えるよう、いくつかのアプローチでWordPress開発をしております。
プロジェクトにおける重要な要素
一般的にプロジェクトにおける重要な要素(制約条件)として、QCDというフレームワークがあります。
Quality(品質)、Cost(費用)、Delivery(納期)の頭文字で、品質は徹底的にこだわる・費用はいくらでもある・納期も自由であれば、要望に限りなく近いシステムを構築することができます。
しかし現実問題では、予算には上限があり・納期も決められており・品質については妥協することがほとんどです。
実際のシステム開発ではこれらのバランスをとりながらプロジェクトの進め方や、あるべきシステムの姿を模索していくことになります。

WordPress開発も同様に、システムを作るにあたっていくつかのアプローチがあり、それらもQCDの観点でどれを選ぶべきかが見えてきたりします。
ここを見誤ると、「想定より高いシステムになってしまった」「想像していたものと違うものができてしまった」「システムがなかなか完成しない」などの問題が発生します。
ご発注いただく際には、なにがトレードオフになっているのか事前に知っておくことで、スムーズにWordPress開発を進めていくことができます。
WordPress開発のアプローチ
大きく分けてWordPress上でシステムを構築する手段として以下の3つがあります。
- プラグインを導入する
- 外部APIを利用する
- フルスクラッチで作成する
どれを選べばいいかについては、「何をどれだけ独自に」「いくらぐらいで」「どれだけ早く」実現したいかによって変わります。
WordPress開発としてイメージしやすいよう、Qualityを「システム自由度」、Costを「開発費用」、Deliveryを「開発スピード」として上記の手段について評価したいと思います。
プラグインを導入する
プラグインとは、WordPressを機能拡張するための追加プログラムです。
このプラグインは不特定多数の人に向けて世界中の開発者によって作られたものになり、フリーのものもあれば有料のものもあります。
種類もたくさんあり、ほんの一例だと以下のものがあります。
- お問い合わせフォーム(例: Contact Form 7)
- ECサイト機能(例: WooCommerce)
- SEO対策(例: Yoast SEO、All in One SEO)
- セキュリティ (例: Wordfence Security、SiteGuard WP Plugin)
- 表示速度改善(キャッシュ機能)
- 自動バックアップ機能(例: UpdraftPlus)
他にも会員サイトや検索データベースなど複雑なシステムにも対応したものもあります。
実例
カンファレンスや講習会などの参加予約システム – Events Manager
Webサイトの静的化配信システム – Simply Static
複数言語に対応した言語切り替えシステム – WPML
評価
システム自由度:低い
基本的にはプラグインが提供している機能、設定の範囲で運用することになります。
多くの要望がある場合、なるべくクリアできるものを選定しますが、すべて解決できるわけではないことをご理解いただく必要があります。
また、とても作り込まれているプラグインもありますが、追加でプログラムを記述することで拡張性できたり、設定項目が複雑になってくるなど専門性が高く、使いこなすのは難しいケースもあります。
開発費用:低い
割り切って使うことができれば無料のもので対応することができ、また機能や制限のなくなった有料版であっても年間数万円程度のライセンス販売がされているケースが多いです。
不特定多数に販売しているので機能が汎用的であったり、開発コストを分散できるなどの背景があり低価格での提供ができています。
開発スピード:速い
シンプルなシステムであればインストールと設定のみで完結するため最速になります。
多少複雑なシステムであっても、検証や調査にかかる時間はイチから作るよりも断然速いです。
リスク
プラグインを導入する際はおそらく複数のものを導入することになります。
それによりシステムが重たくなることや、プラグイン同士の機能干渉など他のトラブルが発生する可能性があります。
また、プラグイン開発元がメンテナンスを放置してしまう場合は、セキュリティリスクにも繋がりますので、セキュリティ要件次第で選ぶことができないケースもあります。
外部APIを利用する
外部APIとは、先ほどのプラグインをWordPressの中にある機能とすると、外部APIはWordPressの外にある機能になります。
わかりやすいところでSNSの投稿埋め込みは外部APIになります。
SNS自体はWordPress内に構築しているわけではないので、外部のサービスからデータを取得してサイト内に埋め込んでいます。
また、プラグインでも同様の機能は存在しているけど、あえて外部APIを選択するケースもあります。
例で言うと検索システムの場合、プラグインでもサイト内検索などを行うことは可能です。
しかし、データを検索する処理や、検索用データベース(インデックス)の作成をWordPressの中にある機能で行うと、ホスティングしているサーバーに負荷がかかり、サイトが重たいなどの現象が発生ます。
外部APIだと、それらの検索処理や、インデックス化などはサービス側のサーバーで専門的に管理されているため、安定性が高いです。
また、機能的な作り込みについてもプラグインよりも高い傾向があります。
実例
WordPressの記事として登録されている論文の検索システム – Algolia
WordPressとJapan Searchの更新一元管理化 – Japan Search
評価
システム自由度:中
こちらもプラグイン同様、外部APIが提供する機能の範囲での実装であることには変わりはないですが、サービス専用のサーバーを用意していることで、プラグインよりも高度な機能が用意されていることが多いです。
また、デザインに関しても外部APIはデータのみのやり取りで、フロントエンドの見せ方に関しては実装次第で融通が効きやすいです。
開発費用:中
初期に連携するためのプログラム開発費や、ランニングコストとして外部API利用料が発生します。
外部API利用料は従量課金で提供されていることが多いため、サイトを利用するユーザ数と比例して費用が上がっていきますが、かなり大規模なサイトが対象で、中小規模であれば比較的安い料金での利用ができるケースが多いです。
開発スピード:中
プラグインのインストールして設定するだけと違い、外部APIの仕様を理解した上で、サイト上に表示するための連携プログラムの開発が必要になります。
外部API側のドキュメントの充実度や、ネット上の情報の多さに比例して実装スピードが上がっていく傾向があります。
リスク
外部のサービスに依存しているため、外的要因でリスクに繋がるケースが想定されます。
自前のWordPressやホスティングサーバーが正常でも、連携している先のサービスがダウンした場合は、正しく表示できません。
また、外部APIの仕様変更が稀にあり、その際には連携プログラムの修正・再開発が必要になることもあります。
フルスクラッチで作成する
こちらはプラグインや外部APIで実現不可能な、独自な要件だった場合に採用する最終手段になります。
WordPressの基本的な機能を駆使しつつも、プログラムをゼロから作り上げていく独自プラグインや独自のAPIの開発になります。
機能として特殊過ぎる場合や、セキュリティ要件が厳しい、閉ざされたインターネット環境など、プラグインで対応できる機能でなかったり、外部APIとの通信ができない環境が想定されます。
事例としては以下のものがあります。
- オリジナルなサービスを展開する必要がある
- 特殊な公開手順が要求されている
- ミドルウェアの出力結果を機能として使用したい
- オープンソースをセキュリティ規定で使えない
- ハードウェアとの連携を行う必要がある
実例
複数のWordPress間でのデータ同期 – WordMove
PDFファイル等を検索用に自動文字起こし – pdftotextの拡張
評価
システム自由度:高い
ゼロから作るためビジネスロジックの確認から始まり要件定義を行い、お客様の承認のもとプロジェクトを進めていくため、画面や機能、データ構造・更新の仕方などを細部に渡って決めていくことができます。
開発費用:高い
間違いのないシステムを構築するため、多くの工程が必要になり、各工程も専門的な知識やスキルが要求されるため、他に比べると費用がかかります。
開発スピード:遅い
お客様と認識を共有するために、要件定義、設計、開発、テストなど開発の各工程についても、システムが複雑であったり、特殊であるとさらに工程を細分化したり、検証調査に多くの時間を使うことになります。
リスク
最大のリスクとしては、費用や期間をかけたプロジェクト自体の失敗です。
本格的なシステム開発のアプローチであるため、お客様の協力がとても重要となります。
費用や期間の制限がある中で、なかなか形や方針を共有できない場合、品質にその影響が出てくるためです。
弊社でも極力サポートを行いながら進めて参りますが、多くの要求確認や提案を判断する必要があり、QCDのバランスを取るための決断を行っていただくシーンがあります。
お客様側でもプロジェクトチームや承認フローを確保することを推奨します。
実際のWordPress開発シーン
大きく分けて紹介しましたが、WordPress開発ではこれらのアプローチを複合的に提案することがほとんどです。
システムが巨大化・複雑化するのに比例して機能も増えていきます。
限られたリソース(費用・納期)でお客様の要望をどう効率的にシステム(品質)へ反映していくかを、多様な経験と知識をもとにリードしています。
以下にアプローチについて簡易的にまとめます。
| アプローチ | システム自由度 | 開発費用 | 開発スピード | 概要 |
| プラグイン | 低 | 低 | 速 | 低コストでスピーディに開発したい |
| 外部API | 中 | 中 | 中 | 外部サービスとの連携が必要 |
| フルスクラッチ | 高 | 高 | 遅 | こだわり抜いた開発 |
ご依頼いただく場合は、どういったものが作りたいのが具体的なイメージを持っていただくとスムーズに共有できるかと思います。
加えて費用感や納期を提示いただけると、そのバランスを考えたシステムをご提案できます。
まずはお気軽にご相談ください!