Joomla!のITP Google Search extensionでGoogleカスタム検索を自サイトに設置する
Joomla!のデフォルトのサイト内検索やスマート検索に不満があるため、Googleカスタム検索を替わりに設置することにした。
Googleカスタム検索は無料版だと広告が出るものの、有用なラベリング機能があり、自サイト以外も検索対象にできる他、Googleの本家の検索精度(に近い物)を使える。
Joomla!のプラグインで広く使われているらしい「googleSearch (CSE) component」
http://www.kksou.com/php-gtk2/Joomla-Gadgets/googleSearch-CSE-component.php#download
を適用しようとしたが、何故か検索結果でJoomlaのデフォルト検索結果を表示してしまいうまく行かなかった。しかも脆弱性*1があったことが過去に確認されている。
そこで、別のモジュール「ITP Google Search extension」を採用することにした。
【環境・準備】
【参考資料】
【手順】
1. Googleカスタム検索の設定
Googleカスタム検索の設定方法は以下のサイト参照。探すと他にも様々な分かり易いサイトがあるはず。
「設定」→「基本」タブ → 検索エンジンID で表示されるIDを別な場所に控えておくこと
2. ITP Google Search Package ( version 2.5 ) をダウンロードする
http://itprism.com/free-joomla-extensions/others/google-search-integration
にアクセスし、下の方にあるDownload ITP Google Search Package ( version 2.5 )のリンクからpkg_itpgooglesearch_v2.5-J3.2.zip (約60kb)をダウンロード
3. Joomla!の管理画面から、エクステンション → 管理 → インストール にアクセスし、「ファイルを選択」ボタンを押して、対象のzipファイルを選択、「アップロードとインストール」をクリックして「パッケージを正常にインストールしました。」と出る
4. コンポーネント →ITP Google Search を選択し、右上の「オプション」をクリック
5. Search Engine IDにGoogleカスタム検索のIDを入力し、Display search formをいいえにして保存して閉じる ※ここの部分が動作に影響するとの報告あり*2
6. エクステンション → モジュール へ移動し、ITP Google searchのリンクをクリック
7. 右側の各種設定を記入する。
デフォルトの検索ボックスと入れ替える場合は、
- 表示位置:(サイト内検索が設定されている位置)
- 状態:公開
- 公開開始日および公開終了日:入力しない
- アクセス権:Public
- 表示順: (サイト内検索のある番号)
のようにして、保存
8. 「メニューの割り当て」タブに移動し、モジュールの割り当てを「すべてのページに」として保存して閉じる
9. エクステンション → モジュール のモジュール一覧の画面で、デフォルトの「検索」の状態を、クリックして非公開(赤×印)にする。ITP Google Searchと競合しそうなモジュールが他にもあれば、公開(緑のチェック)から非公開にする。"公開中設定になってますが保留中です"と表示される状態(黄△印)の場合は、公開状態が競合しているか、公開開始日が間違っている可能性があるので修正する。
10. 「メニュー」 → 「Main Menu」 → 「サイト内検索」のチェックを外して非公開に
11. 公開Webページの検索ボックスから検索をおこなうと、Googleカスタム検索の結果に遷移するようになる。
以上。