• ベストアンサー

CGIカウンタの設置場所

 CGIを使ったホームページデビューをしたいと思っているのですが、一つ設計面での重要な問題に突き当たってここに問題を投げかけてみることにしました。  (CGIの際に使う言語はPerlでして、中級者レベルにはなっているという前提でお話しします)  まず、アクセスログを残すためにどのCGIの教科書にも載っているアクセスカウンタを設置したいと思っていて、プログラムを書いています。  プログラム自体を作るのは問題ないのですが、ここで一つの大きな壁にぶつかりました。  それは、プロバイダはCGIの使用は許可しているのですが、SSIは許可していないという問題です。  多くの場合、訪問者が最初にアクセスするのはメインページだと思うのですが、これをプロバイダはindex.htmlにするようにしています。しかし、htmlだと静的ページなのでCGIを使うことができません。カウンタは訪問者がメインページに訪問した回数で数えたいのですが、SSIが禁じられているためにこれもできません。  確かに強引に/cgi-bin/main.cgiとして、訪問者にはここにアクセスしてもらうようにしてもいいのですが、URLの見た目として(つまり、美感の問題)として美しくない気がします。  まとめると、SSIの使えない環境にて、index.htmlをメインページとした場合、アクセスカウンタをどのように設置するのが適切か?というのが現在の私の問題です。  (もしくは、解決案はありえないというアドバイスも一つの有益なアドバイスです)  カウンタの作り方はどのCGIの教科書にも書いてありますが、設置のためのホームページ全体の設計方法については書いていません。  ですので、経験豊富な方々のいそうなこの場所にて聞いてみることにしました。  自宅サーバーを使えば、こうした制限はないとは思いますが、セキュリティ上の問題が心配でそれをやる勇気がまだありません。サーバー用のマシンを買ってもいいのかもしれませんが、そのための費用もまだ不足しています。  ですので、プロバイダ上での公開という前提でアドバイスをいただければと思います。  何か名案があれば教えてください。  よろしくお願いします。

  • CGI
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.3

ご質問に対する回答というよりアドバイスですが,何のためにカウンタを 設置したいのかということをよく考えられた方がいいと思います. > 訪問者が最初にアクセスするのはメインページだと思うのですが、 私もホームページを開設していますが,そうでもありません. 確かに開設当初は,プロバイダのホームページ一覧からメインページに来る訪問者が たまにいた程度でしたが,検索エンジンで検索できるようになってからは,ほとんど 検索エンジン経由の訪問者で,メインページ以外の各ページに直接訪れます. そして,そのページ以外は見ずに帰ってしまう人が多いです.(苦笑) したがってメインページではカウントされません. 私はホームページ開設当初から,すべてのページにカウンタとアクセス解析用タグを 設置しています.参考までに現在のカウントを示すと,メインページが約 1,100 なのに 対し,来訪者の多い別の2つのページはそれぞれ約 1,400,約 1,600 となっています. そういうわけで,メインページだけにカウンタを設置しても, ほとんど意味がないと思います. ではどうすればいいのかという話になりますが,それは何のために カウンタを設置したいのかという目的によって変わってくるでしょう. 単に訪問者が多いか少ないかを知って一喜一憂するだけなら, 各ページにカウンタを設置するだけで十分でしょう. しかし訪問者を増やしたいというのが目的であれば,単なるカウンタでは全く不十分です. 訪問者数を調べて,訪問者数の多いページの内容をさらに拡充するにせよ, あるいは訪問者の少ないページをテコ入れするにせよ, どのように改良すればいいかという情報はカウンタからは全く得られません. ホームページ改善のヒントを得るには,カウンタよりもアクセス解析タグを設置 すべきです.これから得られる一番重要な情報は,訪問者がどういう検索語句で 検索して自分のページにやって来たかということだと思います. 検索語句がそのページのテーマに合致していれば,その内容をさらに充実させれば いいわけですし,テーマに近いが現在の内容から少しはずれているということであれば その方向の内容を追加することで訪問者やリピーターを増やすこともできるでしょう. フリーのカウンタやアクセス解析ツールは色々あるようですので, それらを利用するのが一番簡単で効果的だと思います. (なお,これらは訪問者がブラウザの画像表示と JavaScript を OFF にしていると,  カウントもされず,アクセスログにも足跡が残りません.  したがって上で示した私のホームページのカウントも正確ではなく,  実際はもっと多いはずです.) ┌ちなみに私は,ここのカウンタとアクセス解析タグ, │および Google Analytics を使っています.(いずれも無料) ↓ http://www.ninja.co.jp/

big-west
質問者

お礼

非常に丁寧な解説をありがとうございました。 カウンタの目的を考えよということですね。 プロの方々は各ページにそれぞれ設置しているというのも驚きでした。 そこまでは本には書いてありませんでした。 他の方々のホームページ作りの状況がわかっただけでも、質問をした会がありました。

その他の回答 (2)

回答No.2

カウンターのcgi本体を別に設置してカウンター画像を表示させればいいだけではないでしょうか。 これならindex.htmlでもカウンターが表示されます。 レンタルカウンターも同じ方法です。

big-west
質問者

補足

ありがとうございます。 まずは試してみたいと思います。

  • maura
  • ベストアンサー率46% (48/104)
回答No.1

殆どのポータルサイトのトップページは SSIを禁止しています。  レンタルスペースやレンタルサーバーでしたら 使用できる場合もありますが、こういった問題について Perlだけの知識では、なかなか解決案が見えにくいと思います。 SSI禁止の時に使用するカウンタ http://www.kent-web.com/count/dream2.html <img src="/cgi-bin/counter.cgi"> 画像を出力するCGI 上記がオーソドックスな解決案です。

big-west
質問者

お礼

こういうカウンタもあるのですね。 とりあえず、まだ理解が不十分なのですが、やってみたいと思います。 ありがとうございます。

関連するQ&A

  • CGIでカウンターの設置をしたのですが反映されません

    CGIでカウンターの設置をしたのですが反映されません. 数字も自分のページに送ったのですが×印が付いているだけです どうしてかわかりません あなたは × 人目の訪問者です とINDEX.HTMLに表れます。

    • ベストアンサー
    • CGI
  • HTMLにCGIカウンターを

    初歩的なCGI(Perl)のアクセスカウンターの作り方を学びました。 今まではHTMLでHPを作成していました。そこでトップページにアクセスカウンターを付けたいのですが、当然のことながら今のトップページは「index.html」ファイルです。このファイルにCGIによるアクセスカウンターをつける場合、「index.html」のファイルを一から「index.cgi」ファイルにPerlで書き換えなければならないのでしょうか。今の「index.html」の一部分を書き換えるだけでCGIのアクセスカウンターが設置できないものでしょうか。

    • ベストアンサー
    • CGI
  • アクセスカウンターCGI型とSSI型

    HPのアクセスカウンターについて教えていただきたいです。 CGI型とSSI型ってどう違うのでしょうか? ある解説書には訪問者数と、ヒット数の違いというあるですが、 よくわかりません。どなたか素人にもわかるように教えてください。

    • 締切済み
    • CGI
  • CGIカウンタを別のページに設置

    http://www.kent-web.com/様のhttp://www.kent-web.com/count/ecount.htmlを利用しています。 現在はINDEXにカウンタを設置していますが、この度同一サイト内のひとつ下の階層に新たなカテゴリのページを作ったので、そこのページを訪れた人の人数が把握できるように、ここにも同じカウンタを付けようと思ったのですが上手くいきません。 まずは単純に設置してみたら、全く同じINDEXページにあるカウンタと連動するカウンタができてしまったので、ディレクトリ名をcgi-binからcgi-bin2に変えたりecount.cgiの内容をすこしずついじってみましたがうまく反映しません。 具体的にどこをどう改変すればいいのでしょうか。 なにぶん初心者のため、この説明もやっていることもおかしいことが多いと思うのですがお助けください。

    • 締切済み
    • CGI
  • カウンタCGIについて

    今、カウンタを自作しています。 カウンタの種類はテキストカウンタです。 ですがカウンタを設置しているページからその他のページへ移動し、ブラウザの「戻る」ボタンで戻ってきたときにカウントがされないんです。 カウンタをテキストで表示したい、SSIを使いたくないと言う理由でHTMLページではJavaScriptを用いてCGIの内容を取得するようにしています。 どうしたら解決できるでしょうか?よろしくお願いします。 <index.htm> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>カウンタ</title> </head> <body> <p> <SCRIPT language="JavaScript" src="count.cgi"></SCRIPT> <noscript>JavaScriptをONにしないとカウンタは動きません。</noscript> </p> <p> <a href="http://www.yahoo.co.jp/">Yahoo!Japan</a> </p> </body> </html>

    • ベストアンサー
    • CGI
  • アクセスカウンタの設置場所

    私は、今回始めてHTMLを利用し、HPを作成しました。 だいたいどれくらいの人がアクセスしてくれているのか知りたいので、 カウンタを設置したいと思います。 カウンタ設置場所ですが、index.html(TOPページ)に設置した場合、TOPページにアクセスした人しかカウントされないのでしょうか。 私としては、TOPページには、アクセスしていなくても、TOPページからリンクできるa.htmlやb.htmlやc.htmlも一緒にカウントしてほしいのですが・・。 この場合、TOPページとその他のページ一つ一つにカウンタを設置しなければならないのでしょうか? 教えてください。

  • CGIファイルへのブラウザからの直接入力によるアクセスについて

    自作のカウンターをSSIで設置するという前提では 『設置先のWebページ以外ではカウンターを作動 させない』または『設置先のWebページを経由して いないアクセスにはエラーを返す』という方法は 無いでしょうか? 通常、出回っているカウンターはブラウザから カウンターのURLを入力して直接カウンターCGIの ファイルにアクセスしてもカウントされてしまい ますが、このようなアクセスをカウントしない カウンターを作りたいのです。 (実際にカウンターCGIファイルに直接アクセスして  更新ボタンを押しまくるような人はまずいないと  思いますが、自己満足のためにやってみようと  思ったらできなかったため、気になって仕方が  無いのです・・・。) IFRAMEタグで設置するという前提では何とかなったの ですが、SSIで設置する場合はブラウザからの直接 入力によるアクセスと設置先へのアクセスを見分ける 方法が思い付かず、どうにも上手くいきません。 SSIでも設置先のWebページでしか作動しない カウンターCGIの組み方について、何か名案の ある方がおりましたら、何卒ご指導いただけますよう よろしくお願いします。

    • ベストアンサー
    • CGI
  • CGIカウンターの設置場所と表示場所

    こんばんは。 この説明で分かっていただけるかどうか不安ですが、 CGIカウンター(無料配布しているもの)を設置するのに、 設置場所(カウントしたいページ)と、表示場所(数字が出る場所)を、 別々にしたいと思っています。 無料のものはどうも設置場所と表示場所が同じようで、 なかなかうまくいきません。 何かアドバイスをお願いします。

    • 締切済み
    • CGI
  • アクセスカウンタの設置をしたいのですが・・・。

    はじめまして。この度初めてHPを作成しています。サイトにアクセスカウンターを設置したいのですがタグの入力知識が無い為どのように入力していいか分からなく困ってます。CGIはプロバイダからのカウンタを設置しようと思っていまして、入力の仕方などはプロバイダのサイトで入力方法が載っていますので分かるのですが、根本な事が分からない為、うまく設置することができませんでした。何度か試しましたが・・・・。 ちなみにプロバイダは生協インターネットです。 すみません、よろしくお願いします。

  • アクセスカウンタの設置方法

    アクセスカウンタの設置の仕方が全くわかりません。ビルダー2001で製作、プロバイダはニフティで、自作CGIのURLと転送先ディレクトリは取得してます。トップページに、「・・・人目の・・・」という言葉は打ち込んであります。このあと、どうすればいいのか分かりません。

    • ベストアンサー
    • CGI

専門家に質問してみよう