マンガでよめる痔のこと・薬のこと

ショッピングサイトを運営しております。
現在、どのサイトや広告からアクセスがあって、最終的に申し込みまで至ったかの件数を把握するために、

○○○.net/shop/
○○○.net/shop1/
○○○.net/shop2/
○○○.net/shop3/

のように、全く同じデータの入ったフォルダを複数つくり、それぞれのアクセス元に別々のURLへリンクするように設定してもらっています。(現在30ほどあります)

ショッピングサイトといっても商品点数が少ないため、申し込みフォーム、フォーム用のCGIもそれぞれのディレクトリにおいております。

例えば、Aというサイトに出している広告のリンク先は
○○○.net/shop3/
として、この/shop3/のcgiフォーム経由で申し込みのあった件数を、Aからの申し込み件数としてカウントし、広告効果の測定を行っています。

現在問題がありまして、この/shop**/の「**」がどんどん増えていった場合、メンテナンスが煩雑になるのと、ミスが生じやすいということで、別の方法はないか模索しているところです。

「Cookieを使う方法、cgiやphpを使う方法などがある」というところまではわかっているのですが、どのようにすればいいのかもう少し具体的にお教えいただければと思います。

また、現在の方法をそのまま継続したと仮定して、もっと簡単にメンテナンスをする方法があればお教えいただければと思います。商品点数は少ないのですが、定期的に商品が変るため、画像と説明文を変更する必要があり、そのたびに商品紹介ページのhtmlファイルをそれぞれのディレクトリにアップロードしなくてはなりません。例えば、あるディレクトリを更新したら自動的にコピーされる方法があればお教えいただければと存じます。

よろしくお願い申し上げます。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> 最終的に申し込みまで至ったかの件数を把握するために


どのようにカウントしているのかな? CGIで行っているのなら、CGIを修正して引数を取らせる方法が一般的だろう。
今まで
http://free_easy.tld/shop/index.cgi
http://free_easy.tld/shop1/index.cgi
http://free_easy.tld/shop2/index.cgi
となっていたものが、
http://free_easy.tld/shop/index.cgi?linkid=1
http://free_easy.tld/shop/index.cgi?linkid=2
http://free_easy.tld/shop/index.cgi?linkid=3
などとなるわけだ。この場合、セッションなどを利用して、注文が確定するまでこのlinkidを保持しておく必要がある。このように、ディレクトリではなく引数にしてやる事で、1ディレクトリで複数の場所からを切り替えてやるわけだ。
他にも、単純にReferを使うという手もあるが、あまり確実ではないかも知れない。

> 現在の方法をそのまま継続したと仮定して・・・
これについては、Windows NTでNTFSを使っている場合とLinuxなどを使っている場合に、「シンボリックリンク」で対応できるかも知れない。
つまり、
/home/httpd/html/shop3/goods.html -> ../shop/goods.html
という事だ。こうすると、/shop/goods.htmlを修正すると、/shop3/goods.htmlは同じものを見に行くので、自動で全サイトが同じページを返す事ができそうだよ。その際、httpd.confでFollowSymLinksなどは設定していただきたい。
Windows OSは、標準でリンク機能を提供していないが、NTFS自体はシンボリックリンク機能を備えているので、リンク作成ソフトを使おう。

この回答への補足

お返事送れてスイマセン。最近教えてGoo重くて困りますよね(笑)また、アドバイスいただきまことにありがとうございます。

さて、
>CGIを修正して引数を取らせる方法が一般的だろう。

なるほどですね、例えばもといたサイトの情報を参照して自動的に因数に割り当てると言う方法でもいいわけですよね?

つまり、バナー広告からのリンク先は
http://free_easy.tld/shop/index.cgi?linkid=3
とあらかじめ指定したIDにリンクさせて、

http://free_easy.tld/shop/index.html
にアクセスしてきた人には、リンク元のURLを参照して
例えばhttp://shop_reserch.com/shop/link.htmlから
アクセスがあった場合は、

http://free_easy.tld/shop/index.cgi?linkid=shop_ …

などとすれば良いですよね?
って、これは可能でしょうか?・・・(笑)


シンボリックリンクについては実ははじめて聞いたのですが(当方技術系ではないのでスイマセン・・・)もう少し調べてみたいと思います。

補足日時:2005/03/06 15:26
    • good
    • 0

>って、これは可能でしょうか?・・・(笑)



可能だと思います。というか、それがReferと呼ばれるものです。
よりシンプルな例として、例えばPerlを用いたCGIならば、index.cgiに
if($ENV{'HTTP_REFERER'} =~ "shop_reserch.com"){$linkid="shop_reserch.com";}
のようなコードを入れれば良いと思います。

ただ一つ気をつけないといけないのは、アクセス元情報がどこまで必要なのか?です。
バナーのリンク先を http://free_easy.tld/shop/index.cgi?linkid=3 にしておけば、
トップページへの訪問数はindex.cgiによってアクセス元ごとにカウントできますが、
例えば、アクセス元ごとの購入数などをカウントするためには、
トップページ以外へのリンクも
http://free_easy.tld/shop/menu.html ではなく、
http://free_easy.tld/shop/menu.cgi?linkid=3 とする等の工夫が必要です。
またさらに、ある一人の閲覧者に注目して継続的にログを取るためには、
#1の回答者さんが仰るようにセッションなどを利用する必要があります。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング