3

ユーザーが Google で入力した検索語を取得して、ロングテール ランディング ページに到達させたい (そしてそのページで使用したい)。

応答リファラー (ASP C#) を使用してクエリ文字列から "q" 変数を取得するのはうまく機能しますが、参照元の Google ページがhttps として読み込まれていない場合に限られます。

これは明らかに問題です。ほぼすべての人がブラウザで常に Google アカウントにログインしており、ログインしている場合、すべての Google ページが https を使用するように自動的にロード (およびリダイレクト) されるためです。

ユーザーが ( https://www.google.comで) 何かを検索して検索結果をクリックすると、Google はユーザーを中間ページにリダイレクトして、クエリ文字列のリクエストを取り除き、別の文字列に置き換えているようです。これには、中間ページがリダイレクトする必要がある URL (つまり、私のロングテール ランディング ページへの URL) のみが含まれています。

とにかくhttps://www.google.comで使用された元の検索用語を取得する方法はありますか? たぶん、JavaScript がブラウザの履歴などにアクセスできるとしたら?

4

3 に答える 3

3

https://www.google.comで使用された元の検索用語を取得する方法はありますか

いいえ、セッションの全文はhttpsSSL を介して保護されます。これには、ヘッダー、URL などが含まれます。シナリオでは、セキュリティ上の理由から、ブラウザーはヘッダーを省略する傾向があるためreferer、アクセスできません (宛先 URL も保護されていない限り)。 HTTPS 経由)。これは、HTTP 仕様 - 15.1.3 Encoding Sensitive Information in URI's の一部です。

あなたができる唯一のことは、サイトに https では機能しないという免責事項を記載することです。

于 2012-08-24T08:49:15.013 に答える
1

グーグルですので、あなたのウェブサイトとの共有リンクがないためできません。

HTTPSを使用すると、REFERRERヘッダーの送信が許可されなくなります。ヘッダーは操作可能で信頼できないことをご存知だと思いますが、Googleは信頼できます。ただし、プライバシーポリシーにより、GoogleユーザーがGoogleで行ったアクティビティは、サードパーティによって共有されません。リンク

繰り返しますが、サーバー側の言語では、HTTPリファラーの関数を見つけることができますが、HTTPSリファラーは見つけることができません。それが理由です!

あなたがあなたのウェブサイトに対してのみHTTPリファラーを許可するためにRFCのものに例外を作成するかもしれない元のサーバーとのコラボレーションがない限りそしてそれまで。それは不可能です。

お役に立てば幸いです。(先に進む):)

編集:ウィキペディアリンクリファラーの非表示を参照(最後から2行目)

于 2012-08-24T08:45:34.037 に答える
1

リファラー データを表示するには、有料の Google 広告の顧客である (および訪問者が広告クリックでアクセスする) か、サイトが HTTPS である必要があります。最近の証明書は安価ですが、CloudFlare のような仲介者を使用して SSL を実行し、サイトに自己署名証明書を配置することもできます。

また、Google ウェブマスター ツールを使用すると、使用する方法に関係なくクエリを確認できます。

私はこれについてここに少し書きました: http://blogs.dixcart.com/public/technology/2012/03/say-goodbye-to-keyword-tracking.html

于 2012-08-24T19:18:19.540 に答える