2009-08-14 9 views
2

私は、訪問者が検索エンジンから来たものかどうかに基づいて、私のページを違う方法で表示したいと考えています。私は検索エンジンの紹介を検出していると思いますか?私はまた、私のサイトに到着するために使用された検索用語を知りたいと思います。私のウェブサイトの訪問者は検索エンジンから来ていますか?検索用語は何ですか?

私のソリューションは、これまでのところ、このです:

1)一般的な検索エンジンのURLを含むHTTPリクエストのリファラーのフィルター、すなわちhttp://www.google.com/searchhttp://www.bing.com/search、またはhttp://search.yahoo.com/search

2)のクエリ文字列パラメータを解析検索用語のリファラー"q =検索+条件+ for + my +ウェブサイト+ go +ここ"

これは最も知られていない検索エンジンを逃し、各検索エンジンには独自のクエリ文字列パラメータ検索用語のために。たとえば、GoogleとBingの検索語パラメータは両方とも「q」ですが、Yahooの「p」は私が知る限りです。 +、 - などの特殊演算子はどうですか?

もっと一般的な方法はありますか?または、より多くの検索エンジンを処理するのに役立つライブラリがありますか?私はJavaでTomcatを使って作業していますが、どの言語やサーバー設定のアイデアも大歓迎です。

答えて

1

あなたのアプローチはできる限り最善です。私は、Drupalの上

http://drupal.org/project/search_engine_referers

を同様のモジュールを実行したあなたは、コードを見れば、それはあなたが言ったまさにありません。私はまだ彼らがBing.comをサポートしているバージョンを持っているとは思わない。

Google(AOLはGoogleを使用)、Bing、Yahooを扱うことができれば、検索市場シェアがどこにあるかを考えれば、検索の90%以上を得ることができます。他の検索サイトについて本当に心配する必要はありますか?あなたが私のように中国にいたら、リストにbaidu.comを追加してください。

あなたが処理できない奇妙な小さな検索サイトがあります。彼らはしばらくしてパラメータを変更します。照会を送信するためにPOSTを使用する人もいますので、参照元では使用できません。 http://www.gdargaud.net/Hack/Searches.html

、ここで:

1

PHPの場合、$ _REQUEST ["HTTP_REFERRER"]を要求し、いくつかのpregまたはeregで検索文字列を解析します。

関連する問題