こんにちは、キノトロープの濱田です。
この連載ではWeb担当者の皆様からいただいたお悩みに答えていきます。
今回の質問は以下です。
まず結論を申し上げると、CMSで構築するのが理想です。
本来CMSの中にはサイト内のデータが全て入るはずで、わざわざ外部サービスと連携するよりもCMSの中にあるデータを直接検索する、ということが叶えば最良でしょう。
CMSが持っている機能で実現できるとより効果的なWebサイトを作ることができると考えています。
しかし、中には検索機能が充分ではないCMSもありますし、一口に検索と言っても、サイト内でのページやデータの検索だけでなく、条件を絞っての商品検索や店舗検索といった使い方も考えられます。
また、検索対象のデータ数もWebサイトやサービスによって様々でしょう。そのため、現実的には使用するCMSと検索の用途に沿った考え方での選定が必要と言えます。
本記事では、CMSでの構築と外部サービスの利用の違いについてご紹介します。
サイト内検索ではWebページを検索対象とするため、Webページを生成して表示するCMS内での検索の場合は適していると言えます。
ですが、商品検索の場合、色や価格、サイズなど、より詳細な検索条件が求められます。
そういった場合もCMSでの構築が適しているのでしょうか。
この場合、案件にもよりますがASP型の検索サービスを利用することが多くあります。
検索サービスは需要が高いことから機能が充実しているものが多く、想定している機能が揃っていることも多々あるため、それらを導入した方が必要な要件を満たしながら時間面・金銭面でもコストを抑えることができます。
一方、CMSの検索機能をベースにカスタマイズして機能を追加していくことや、特殊な場合では独自にスクラッチ開発を行うという選択肢もあります。
選定のポイントとして、例えば複雑な商品検索機能を追加したい場合、外部サービスとCMSの機能どちらを利用するとしても一定以上のカスタマイズは必要になるため、機能面で大きな差がないのであれば最終的には費用面で判断するといった形になります。
ASP型の外部サービスを利用する場合、初期費用は抑えることができますがランニングコストが負担となります。
反対に、CMSのカスタマイズやスクラッチ開発を行う場合は初期費用がかかってしまうものの、ランニングコストは抑えられます。
また、費用面を考える上では構築時に発生するコストだけでなく、インフラにかかる負荷も考慮しなければなりません。
弊社は大規模サイトを得意としており、ご担当させていただいた中にはページ数が数千~数万ページ、商品数だと数十万~数百万点取り扱っているサイトもあります。
そのようなケースでは検索速度のチューニングが課題となることが多くあります。
速度を上げるには負荷に耐えうる高スペックなインフラへの投資が必要となるため、外部サービスを利用し負荷をゆだねる形でコストの増加を抑える選択も視野に入ります。
外部サービスを利用するということにはこのようなメリットもあるのです。
反対に、取り扱うデータ量が数百~数千件程度と少ないのであれば独自で開発した場合でも検索速度の低下は気にする必要はあまりないため、数千~数万件を目安として費用と検索速度を踏まえて判断していきます。
実際にご提案させていただく場合でも、求める機能としては似通ったもの・仕組みでも取り扱うデータの件数によってどちらの場合を選ぶか分かれたり、件数に差がなくても、速度は求められない、キーワードだけで検索するのか複数条件を絡めて検索するのか、といった検索用途によっても作るものが変わってきます。
「この場合はこう」とセオリーに囚われず、クライアントごとに適した方法の選定が必要になります。
Webサイトリニューアルにおいて機能要件を精査していく段階で、CMSの開発で対応するか、外部サービスを利用するかの方針を定める必要があります。
その際、弊社では多くの場合、どの方法を取るかをこちらからご提案し、クライアントのご意見を伺い判断します。
ご提案の際は第一にユーザーの目線に立って考えますが、弊社では外部サービスの利用をご提案することが多々あります。
本来、CMSは基本的にコンテンツを管理することに特化したツールです。
クライアントの中にはCMS単体でECサイトのような商品検索ができると思っている方も多く、どこまでがCMSで実現できるのかまでを理解している方は少数です。
一方、外部サービスではECサイトにも適用されているような詳細な検索ができるだけでなく、カートシステムや自動翻訳などの機能も備わっており、CMSのカスタマイズやスクラッチ開発よりも初期費用を抑えて導入できることから、商品検索にこだわりたいクライアントに対しては多くの場合外部サービスをご提案させていただきます。
ランニングコストを懸念する場合や強い要望がある場合はそういった機能をCMSで構築したり、スクラッチ開発を行うこともできますが、あまり多くはありません。
理由は主にメンテナンス性にあります。
外部サービスのSaaSベンダーなどは自社サービスのメンテナンスに慣れているためその為の時間や費用を抑えられますが、制作ベンダーが独自に開発したものをメンテナンスする場合は同様のスピード感・コスト感で行うのは難しいでしょう。
また、大きな改修やバージョンアップの際、独自開発した部分が大きいと、一部の変更のために大幅に作り変えることになる可能性も否定できません。
また、SaaSベンダーは現状の案件に近しいケースについての情報を持っているので、提供しているツールやサービス単体だけではなく知見も利用するという考え方もできます。
それらを踏まえ長期的な不安や負担と費用を天秤にかけたとき、多くの場合は現状の検索ニーズにスピーディに幅広く対応できる外部サービスを利用するのが有効であると考えます。
とはいえ冒頭でも触れたように、CMSで管理しているコンテンツ自体を検索・表示する場合や、検索結果をパーソナライズするなどの表示のコントロールが必要な時には外部サービスのカスタマイズを行うよりもCMSでの開発を行うのが適しています。
現在のWebサイト構築のトレンドとしては、CMSでの運用がベースにあり、マーケティングに必要な機能を外部ツールやAPI連携で補う形での構築が主流です。
日本国内の企業では外部ツールを導入したうえでの独自のカスタマイズをよく好まれますが、開発にコストがかさみ、複雑で扱いが難しい、中途半端なものが出来上がってしまいかねないためあまりお勧めできません。
外部サービスを利用するのであればそのサービスのルールや仕様に従うべきであり、それを望まない場合はCMSで構築するべきでしょう。
カスタマイズすべきものはCMSで、外部サービスを利用するのであればカスタマイズしない、と割り切って考えることが必要です。
その一方で、絶対に避けるべきとは言い切ることはできません。
WordPressなどオープンソースのCMSで検索機能を含めて複数のモジュールを組み合わせる場合もありますし、最近ではAWSなどのクラウド環境の中にも検索を含めた機能が比較的簡単に作れるようなサービスもあるので、それらと組み合わせて構築することもできるため、正解は一つではないでしょう。
要件定義がしっかりできて、目的・目標にも沿っており、予算やスケジュールに余裕があり、投資効果も見込めるのであれば、CMSで構築を行ってユーザーに素晴らしいサービスを提供するのが理想です。
しかし、費用面や長期的な見通し、メンテナンスの負担などの理由から現実的には難しい場合がほとんどではないでしょうか。
そういった場合には適宜状況に応じて目的に適した外部サービスを利用しましょう。
選定のポイントとして、コストやスケジュールだけでなく、運用・更新、メンテナンスでの負担を鑑み、長期的な運用を無理なく続けられるよう考えていくべきでしょう。
特にCMSでどのように作るか、何が得意で何が苦手かといった各サービスの特性などは制作会社が一番詳しいはずです。
外部サービスのベンダーから得た情報を鵜呑みにするのではなく、制作会社に気軽に質問していただけると「この場合はこの方法をお勧めします」「この場合はこのCMSが適しています」といった最適なご提案ができます。


















