ユーザーが Google で入力した検索語を取得して、ロングテール ランディング ページに到達させたい (そしてそのページで使用したい)。
応答リファラー (ASP C#) を使用してクエリ文字列から "q" 変数を取得するのはうまく機能しますが、参照元の Google ページがhttps として読み込まれていない場合に限られます。
これは明らかに問題です。ほぼすべての人がブラウザで常に Google アカウントにログインしており、ログインしている場合、すべての Google ページが https を使用するように自動的にロード (およびリダイレクト) されるためです。
ユーザーが ( https://www.google.comで) 何かを検索して検索結果をクリックすると、Google はユーザーを中間ページにリダイレクトして、クエリ文字列のリクエストを取り除き、別の文字列に置き換えているようです。これには、中間ページがリダイレクトする必要がある URL (つまり、私のロングテール ランディング ページへの URL) のみが含まれています。
とにかくhttps://www.google.comで使用された元の検索用語を取得する方法はありますか? たぶん、JavaScript がブラウザの履歴などにアクセスできるとしたら?