Google Custom Searchで検索するWordPressプラグイン


WordPressの検索結果はイマイチだと思っていませんか?標準だと単語が含まれるエントリーが新しいもの順に並んでいるだけですからね。。。

Googleカスタムサーチエンジン(Google CSE)で検索するためのプラグインがありました。これで、通常のGoogle検索のように、かつ自分のブログエントリーのみを検索出来るようになります。

image
↑Google CSEが簡単に組み込める。

1.インストール

プラグインはこちらから。
■Google Custom Search Plugin for WordPress – Aleem Bawany

それと、ご自分のブログ専用の検索エンジンを作ります。こちらから。ブログだけじゃなく、一般のサイトにも有効です。
■Google カスタム検索エンジン – サイト検索

2.設定

Google CSEのコントロールパネルから、「コード」タブを開き、こんな感じで設定。「検索ボックスコード」をクリップボードにコピーして、WordPressのダッシュボード「設定:Google Search」に貼り付け。

image
↑これを
↓こっちに貼り付け。
image

出力結果のコードも同様に貼り付けます。
image
↑これを
↓こっちに貼り付け。
image

3.出来上がり

こんな風に、検索ボックスがGoogle CSEになりました。

image

検索してみるとこんな感じ。広告は出したくないですが、Google CSEの有料版じゃないとダメみたい。
image

4.wp.Vicuna.Extの場合

という便利なプラグインですが、私が使っているテーマ「wp.Vicuna.Ext」との相性が悪く、うまくフックしてくれません。そこで、直接phpをいじることにしました。

/themes/wp.vicuna.ext/script/widgets.phpのvicuna_widget_search()の入力formを丸ごと入れ替えてしまいます。cxパラメータはご自分のものにしてくださいね。

/**
 * Display a widget of search form.
 */
function vicuna_widget_search($args) {
    extract($args);
    $options = get_option('widget_search');
    $title = empty($options['title']) ? __('Search', 'vicuna') : $options['title'];
    echo $before_widget . $before_title . $title . $after_title;
?>

<form action="http://www.google.com/cse" id="cse-search-box">
<fieldset>
  <div>
    <input type="hidden" name="cx" value="013002905073341684501:z9ybagspxew" />
    <input type="hidden" name="ie" value="UTF-8" />
    <input type="text" name="q" size="18" />
    <input type="submit" class="submit" name="sa" value="検索" />
  </div>
</fieldset>
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=ja"></script>

<?php
    echo $after_widget;
}

5.まとめ

ブログに書き留めることって、自分にも役立つ情報が満載ですので、効率よく検索したいものです。Google CSEを使って便利なサイトになるといいですね。