Search Word Highlight for Multibyte

初出日: 2006年6月22日 | 最終更新日: 2008年2月7日
投稿者: hiromasa | パーマリンク

概要

サーチエンジンから WordPress サイトに飛んできた際に、サーチエンジンでの検索語をサイト上でハイライト表示する WordPress 用プラグインです。

ダウンロード

searchword-highlight-1.02.zip

インストール

以下の方法でインストールが行えます。

  • wp-content/plugin/ ディレクトリに searchword-highlight.php を格納する
  • wp-content/plugin/ ディレクトリに お使いの WordPress 言語設定にあった .mo 言語ファイルを格納する。ME の標準では searchword-highlight-ja_EUC.mo になります。(言語ファイルは、ME 用 3種類と WordPress UTF-8 設定版の4種類同梱されています)
  • WordPress 管理画面から “プラグイン” -> “Search Word Highlight for Mutibyte” の “有効化” を押下します
  • これで、サーチエンジン(google.co.jp と yahoo.co.jp)とWordPress 検索機能による検索語がハイライトされます
  • これらの状態を変更したり、対象サーチエンジンを追加/削除したい場合は、WordPress 管理画面から “設定” -> “Search Word Highlight” で設定できます

機能

以下の機能をもっています。

  • サーチエンジン検索語をハイライト表示する
  • WordPress の検索機能によって表示された結果の検索語をハイライト表示する
  • プラグイン管理画面から各種設定ができる
  • 対象サーチエンジンをメンテナンスできる
  • 漢字等マルチバイト文字でも正常に動く(ハズ)

スクリーンショット

searchword-highlight.png

特記事項

本プラグインはサーチエンジンからの訪問という主に第三者が行う操作に対して効果を表すプラグインです。 自分でサイトを操作している時は気がつかないような不具合が、プラグイン導入によって起る可能性があります。 導入の際には十分テストを行ってください。

以下、このプラグインのその他の注意点です。

  • ハイライトは1つのタグ中(例えば段落)で最初に現れた単語のみハイライトします。(あまりハイライトするとうるさいため)
  • サーチエンジンからの検索ハイライトは、ユーザが使うブラウザから発行される HTTP_REFERER を利用して実装されているため、これを抑止しているユーザにはハイライトされません
  • 管理画面のデバッグモードで HTTP_REFERER を上書きできます。対象サーチエンジン追加時の試験ができます。(サーチエンジンからリンクされたと仮定できる) デバッグモードが有効になっている場合、ハイライト対象語がこの設定に上書きされてしまうので、試験後は必ず無効にして下さい。
  • サーチエンジンが行う検索語の文脈解析には対応していないため、検索語によってはハイライトされません。(単純スペース分割後、検索処理を行っています)
  • 本文中に <script> を挿入しているエントリは無条件にハイライト処理を中止します。 これにより、ハイライト置換でスクリプトを壊すことを保護しています。
  • php マルチバイト関数を使っているので disable の環境では動きません(通常は大丈夫です)

追加サーチエンジンの設定

サーチエンジンで “日本語” という単語で検索した時に表示される URL を見てみると、

http://search.yahoo.co.jp/bin/search?fr=top&p=%C6%FC%CB%DC%B8%EC

こんなふうになっているのが分かります。 このプラグインでは3種類のパラメータを使ってこの URL を解析し検索単語を抽出しサイト上でハイライト表示しています。このパラメータを管理画面から追加することにより、ハイライト対象とするサーチエンジンを追加できます。

この URL (yahoo.co.jp) を対象にしたい場合は以下のように設定します。

  • Hostname + Path : “search.yahoo.co.jp/bin/search” と、「?」の前までを http:// を除いて入力します
  • Query : “p” とします。 “=” 以下が “%C6%FC%CB%DC%B8%EC” といった文字列が入力されている部分の引数(この場合 “p”)を入力します
  • Character Encode : “日本語” という単語で検索した結果のエンコード文字により以下のように設定します
    • EUC-JP : %C6%FC%CB%DC%B8%EC
    • UTF-8 : %E6%97%A5%E6%9C%AC%E8%AA%9E
    • Shift_JIS: %93%FA%96%7B%8C%EA

デフォルトで yahoo.co.jp と google.co.jp が登録されていますので、他のサーチエンジンも追加してみて下さい。

少しだけあたってみたところ、2005年 6月時点で下記のようになっているようです。

Hostname + Path Query Character Encode
search.msn.co.jp/results.aspx q UTF-8
beta.search.yahoo.co.jp/search p UTF-8
search.goo.ne.jp/web.jsp MT EUC-JP
www.infoseek.co.jp/OTitles qt EUC-JP
beta.search.msn.co.jp/results.aspx q UTF-8

パラメータはサーチエンジンの仕様変更で変わる可能性もありますので、たまにチェックして下さい。

サーチエンジンパラメータ

2008/2 の最新パラメータを、Masayan さんが調べてくれました。 :-)

SearchwordHighlight 最新調べ

いやぁ、思いのほか変わってますね。新しいURLになってたり、ベータが消えてたり。(汗) 日々検索エンジンも進歩しているんやね。

2005/7 時点のサーチエンジンパラメータです。←古いです。

Hostname + Path Query Character Encode
www.google.co.jp/search q UTF-8
search.yahoo.co.jp/bin/query p EUC-JP
search.msn.co.jp/results.aspx q UTF-8
beta.search.yahoo.co.jp/search p UTF-8
search.goo.ne.jp/web.jsp MT EUC-JP
www.infoseek.co.jp/OTitles qt EUC-JP
beta.search.msn.co.jp/results.aspx q UTF-8
search.yahoo.co.jp/bin/search p EUC-JP
search.nifty.com/cgi-bin/search.cgi Text EUC-JP
www.google.com/search q UTF-8
cgi.search.biglobe.ne.jp/
cgi-bin/search-tb40
q EUC-JP
search.msn.co.jp/spresults.aspx q UTF-8
blog.with2.net/find_all.php key EUC-JP
cgi.search.biglobe.ne.jp/
cgi-bin/search-ie_lp
q EUC-JP
blog.with2.net/find_item.php key EUC-JP
www.ceek.jp/search.cgi q EUC-JP

更新履歴



2006/11/26 1.02 オプション保存の不具合修正
2006/06/25 1.00j JSeries リリース(URI のみ変更)
2005/06/27 1.00 リリース

作者のエントリ

Search Word Highlight for Mutibyte アナウンス2@hiromasa.zone

Search Word Highlight for Mutibyte の最新版設定パラメータです。 今回は特に変更はなしで、みつけたのを追加しただけです。

WordPress Search Word Highlight plugin for Multibyte version 1.0 リリース!@hiromasa.zone

WordPress Search Word Highlight plugin for Multibyte (長い)が動き始めましたので置いてみます。 :-)