サイト内検索をGoogle Custom Search Engineで
当サイトは、Movable Typeで構築されていますが、Movable Typeに標準装備されている検索エンジンは、ユーザビリティの観点で見ると、残念ながら少々不便なものになっています。
もともとMovable Typeは米国生まれのツールで、日本語版は英語版をもとにローカライズされたバージョンなわけですが、そのローカライズ過程において、日本語特有の検索ユースケースまでは十分に検討されなかった(あるいは検討したものの仕様がとても複雑になりそうで断念した?)ようです。具体的には、以下の問題点があります。
- 複数語検索をしようとして、単語の区切りに全角スペースを入れると、「単語A+全角スペース+単語B」をひとつの単語として認識してしまい、複数語検索にならない。
- 表記の揺れに対応していない(たとえば「引越し」と表記しているサイトの場合、「引っ越し」と検索したら引っかからない)。一般的に使われている検索エンジン(GoogleやYahoo!など)と比べてしまうと、どうしても「融通がきかない」印象になる。
特に、全角スペースで単語区切りができない問題は深刻で、今まで当サイトでは「複数語で検索するときは、間に半角スペースを入れてください」という注釈をわざわざ入れていました(悩ましい...)。
このような事情から、今回試しに、Google Custom Search Engineを導入してみました。Google Co-opのひとつですが、いわば「自分専用のGoogle」を作ることができるもので、検索結果を特定のサイト(自分で運営しているサイト)に限定したりできます。
Google Custom Search Engineを使ってみた印象は:
- 全角スペースで単語を区切っても、複数語検索ができる。
- 検索結果の表示順が適切である(Googleアルゴリズムによる「重み付け」がCustom Searchでも適用されていて、表示順がより「自然」な感じがする)。
- 表記の揺れの吸収など、Googleアルゴリズム側で吸収してくれるので、ユーザーのアクションからフィードバックまでの流れが、よりユーザーフレンドリーになっている。
- 意外に検索結果の表示が速い。
...という感じです。代表的な検索エンジンとして改良が重ねられ、こなれてきているGoogleの仕組みが、そのまま自分のサイトでも使えるというメリットは、なかなか大きいと言えますね。
なお、Google Custom Search Engineでは、検索結果を、自分のサイト/ドメイン内のページとして表示することも可能です(JavaScriptを応用してインラインで表示する仕組み)。当サイトでも、たとえば「http://website-usability.info/search.html」という検索結果表示ページを設けて、そこにGoogle Custom Search Engineによる検索結果を表示することも検討しました。ただ、いろいろと実験する中で、ユーザーインターフェースとして以下の問題点があることがわかり、特にアクセシビリティ面でのトレードオフを憂慮し、断念することにしました。
- インライン表示する検索結果エリアの幅が自由に制御できず(幅の設定に制限があったり、ブラウザで文字を拡大すると勝手に幅が広がったりする現象が見られた)、インライン部分で横スクロールの表示を許容せざるを得ない。
- 一部のブラウザ(Mac OS Safari 1.3で見られました)で、インライン表示がおかしい(検索結果が10件あったとして、7件程度しか表示されない、という具合)。
- 当サイト(ページ)で用意した[文字拡大][縮小]機能が効かない。
...というわけで、当サイトではとりあえず、検索結果はGoogleドメインで表示しています。ルック&フィールの一貫性という点ではイマイチかもしれませんが、検索結果の表示幅に悩む必要がないことと、致命的にユーザー行動を妨げることもないだろうという仮説のもと、しばらくこれで運営してみたいと思います。
トラックバック
この記事に対するトラックバックURL:
http://website-usability.info/cgi/mt/mt-tb.cgi/81
コメントを投稿する
(投稿いただいたコメントは、当サイト管理者による承認後、公開させていただきます。)