• 締切済み

検索記事からURLをそのままにリダイレクトする方法

検索記事からURLをそのままにリダイレクトする方法 YUCASEE MEDIA(ゆかしメディア)(http://media.yucasee.jp/)で使われているリダイレクト法なのですが、 たとえば「プライベートバンク」で検索して、8位ぐらいの 「プライベートバンク | 様々なプライベートバンクについて | YUCASEE ...」の記事タイトルをクリックします。 すると、その記事に直接飛ぶのではなく、一旦、キャンペーンなどのフラッシュのページに飛びます。 その後、URLはそのままでリフレッシュで10秒後に、実際の記事に飛ぶ、という仕組みなのですが、これはいったいどのような方法と考えればよろしいでしょうか? 2度目は直接その記事に飛ぶのです。 できれば具体的に、サンプルソースなどがあれば教えていただければと思っています。

みんなの回答

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.2

1つ前のリンク(URL)は、document.referrerで取得できます。 検索サイトにもよりますが、Yahooなどは検索につかったキーワードがそのままURLに残っています。 その場合、検索ページから飛んでくると、そのページが判りますので、そのままURLにすると利用者と同じ検索ができます。 CGIでURLに検索ワードが残らない処理だとキーワードは不明です。 2回目のアクセスかどうかは、cookieを使うと良いでしょう。 document.cookieでアクセスしたことを読み取り、記録できます。読み取るクッキーがないときは1回目、あれば2回以上ということです。もちろん、アクセスカウンタにして何回アクセスしたかという記録にしても良いでしょう。 これをCGIと組み合わせるとこちらでそのアクセス状況も記録できます。 ブックマークからのアクセスや直接URLを入力してアクセスすると、document.referrerは空になります。 これを利用して、検索やリンクによるアクセスと切り分けることも可能です。

shinyalee
質問者

お礼

回答ありがとうございました。

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.1

JavaScriptを使う方法とCGIを使う方法が思いつきます。 どちらも似たような手順ですが、HTMLでフォームを送信する場合、呼び出すファイル(次のページ)にたいして、フォームの内容をURLの後ろに付けて受け渡しています。 CGIでは、常套手段とも言えますが、受け取ったデータを利用してページを作成しますから、CGIにリンク先のURLをデータとして送ります。これはJavaScriptでも同様です。 そして、受け取ったページが広告とリンク先を表示(リフレッシュで転送)すれば言い訳です。 最初のリンクはこんな風に出来ます。 <a href="ad.html?http://www.dammy.com/">www.dammy.com</a> これで、見せかけはwww.dammy.comへのリンクとなりますが、実際はad.htmlへのリンクです。そして、ファイル名の後に「?」を付けて、データが続くことを示します。 CGIの場合は、ad.htmlではなく、ad.cgiになります。 JavaScriptでは、document.location.searchで?以降のデータを取得できますので、ad.htmlが読み込まれた後、取得を実行します。「?」も付いてくるので、1文字目は削除します。 get_data = document.location.search; get_data = get_data .substring(1,get_data .length); あとは、location.href で転送するか、リフレッシュ用のタグを書き出しておけばOKかと。 CGIの場合は、フォームを受け取るCGIのほとんどにその機能がありますので、参考になるものは多数あるかと思います。 parlなら、$ENV{'QUERY_STRING'}で、上記のデータ部分を取得します。 とりあえず、仕組みを理解したいということならJavaScriptでやってみるのが簡単です。 スマートに作り込んだり、リンク先を名簿として作って名簿番号を渡すという手順にするならCGIが良いですね。

shinyalee
質問者

お礼

ご回答ありがとうございます。 基本的な仕組みは教えていただいた、Javaスクリプトで理解できました。 ただ、検索で表示されたリンクワードのURLをそのままJavaスクリプト取得できるのかがよくわからないところです。 1)キーワード検索から飛んできたユーザーには初め、キャンペーンページを見せる。 ↓ 2)10秒後にリフレッシュして、実際の記事に飛ぶ(URLの変更はない) ↓ 3)2回目以降のアクセスでは、キャンペーンページへは飛ばずにダイレクトに記事に。 という一連の流れは、やはりCGIなどになってしまうでしょうか? SEO対策的な目的でこの手法が導入したいと考えています。

関連するQ&A

専門家に質問してみよう