• ベストアンサー

トップページからのみのアクセスに限定したい

HPを製作しています。検索エンジンでトップページ以外でのヒットや直リンクで正確なヒット数が把握できなくて困っています。良い方法がありましたらよろしくお願いします。

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

  • ベストアンサー
  • wolfwood
  • ベストアンサー率50% (199/398)
回答No.4

セッションが使えるのは#1の方が書かれている言語です。 あなたの環境によって使えるものが違います。 しかし、初心者ということで全ページを他の言語で書くのはつらいですね。 色々問題がありますが、JavaScriptとCookieを使って簡単に実現できます。 例を書いたので載せておきます。 問題は、見る相手のブラウザ環境によって無効化されることです。 下で紹介しているサンプルの関数を用いても良いです。 Cookieについて http://tohoho.wakusei.ne.jp/wwwcook.htm JavaScriptのCookie処理関数サンプル http://www.age.jp/~dfj/javascript/function/cookie_func.html Cookieを用いたセッション管理(CGIなので参考までに) http://www.rfs.jp/sitebuilder/perl/03/04.html 例) ・トップページ <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function cookie_set(){ //セッション識別用の文字列をセット var en_cookie = "セッション"; //文字列を暗号化 en_cookie = escape(en_cookie); //Cookieに文字列をセット document.cookie = "session="+en_cookie+";"; } // --> </SCRIPT> </HEAD> <BODY onLoad="cookie_set()"> </BODY> </HTML> ------------------------------------------ ・各ページ <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function cookie_read(){ //Cookieを読み込む var session_cookie = document.cookie; //文字列を抜き出す session_array = session_cookie.split("="); var session_data = session_array[1]; //文字列の暗号化を復元 session_data = unescape(session_data); //文字列を判定し違っていたらトップへ飛ばす if(session_data != "セッション"){ location.href="top.html"; } } // --> </SCRIPT> </HEAD> <BODY onLoad="cookie_read()"> </BODY> </HTML>

a11806
質問者

お礼

ありがとうございました。大変助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • wolfwood
  • ベストアンサー率50% (199/398)
回答No.3

アクセスカウンタに関しては他の方の書かれている通りIPアドレスでの重複禁止をした方がよいですね。 あとは検索エンジン対策は下記を<HEAD></HEAD>内に記述してください。 <META NAME="ROBOTS" CONTENT="NONE"> <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW"> アクセス制限を掛ければトップを通らないと他のページに飛べないように出来ます。 #1の方が書かれているのはそのアクセス制限です。 セッションが使える環境なら良いのですが、CGIのみでも可能です。 やり方はセッションと同じです。 全ページCGIにしてトップページで変数に値をセットし、各ページの最初でその変数があるかどうか判断して ない場合はトップページに転送するというやり方です。 CGIが分かるという前提で書きましたが、分からない場合は補足か他に質問してください。

a11806
質問者

補足

ありがとうございます。私のHPはトップヘージにCGIページ?とHTMLページへのリンクが張ってあります。セッション変数等調べてみたのですがどのように導入すればいいかわからずで。初心者なもので。よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.2

access_logをあらゆる方法で解析するしかないでしょうねぇ。 私がやっているのは15分の分解能で同一IPは1訪問、連続時間帯での同一IPも1訪問などとする『ほぼ実数カウンター(自称)』という手法を使っています。 サーバーを自由に操作する権限が必要ですが。

全文を見る
すると、全ての回答が全文表示されます。
  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.1

いくつかパっと思いついたものを列挙します。 わからないキーワード等があれば補足します。 方法1 アクセスカウンタには一日にある同一のIPからのアクセスを一件とカウントするものがあります。それを全ページにカウントする機能だけ着ける。(カウントの表示はトップページのみ) 方法2 全ページ、ASP、JSP、PHP4などで構成し、トップページにセッション変数書き込み機能を実装する。 他のページではセッション変数読み込み機能をつけ、変数が登録されていない場合にはトップページへリダイレクトする。 方法3 2の方法をCookieで実装する。 なんにしてもただHTMLだけのサイトだとちょっと難しいように思えます。

a11806
質問者

補足

早速のご回答ありがとうございます。私の説明の足りない部分がありました。CGIのページもありまして。例えば BBS.cgi 等。トップぺージからのみのというのはやはり難しいのでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • TOPページから必ず見るように・・・

    検索エンジンなどで検索し、自分のHPにきたユーザーの、 最初に見るページがTOPページではなく、下位ページの場合、 TOPページに自動的にリダイレクトする方法はありますか? よろしくお願いします。

  • TOPページ以外への直リンクを禁止するCGI

    TOPページ以外への直リンクを禁止するCGIはありませんでしょうか。 TOP以外のページ以外からアクセスするとエラーメッセージが出る・またはTOPページへ飛ばされる というようなCGIを探しています。 検索してみたものの、検索方法が悪いのか見つかりません。 分かるかたいらっしゃいましたら教えて頂ければ幸いです。 宜しくお願い致します。

    • ベストアンサー
    • CGI
  • 「トップページへ戻る」のリンク。

    上・中・下の3つに分かれてフレームを使用してサイトを作成しています。 他のページ(検索エンジンなど)から来た方のために「サイトのトップページへ戻る」を作成したいのですが、 それぞれにそのリンクを貼ると、上下のフレームが重複してしまいますよね? そこでリンクを トップ   トップ[他のページから来た方] としてみましたが、イマイチしっくりきません。 何かいい方法はないでしょうか?

    • ベストアンサー
    • CSS
  • TOPページに自動的に飛ばす方法

    質問させていただきます。 私の勤める会社のホームページの製作をまかされ、素人ながらなんとか3分割フレームのホームページが出来ました。 そして10個所くらいの検索エンジンにも登録し一見落着と安堵していたのですが、よく見てみると検索エンジンによってはTOPページ(indexとしました)だけが登録されている検索エンジンと、その他のページも全て個別に登録されている検索エンジンがあり、問題は後者にあります。 登録されているTOP以外のURLをクリックすると当然フレームでは表示されずそのページが単体で表示されてしまいますよね? そうなるとメニューも表示されないのでそのページからは他のページを閲覧できないのでせっかく登録されているものの意味がなくなってしまいます。 前置きが長くなって申し訳ないのですが、ここで質問です。 他のサイトを見ていると、よくこの場合と同じように登録されているものがあり、そのサイト内のTOPページ以外のどのURLをクリックしても「10秒後にTOPページにジャンプします」と書かれたページがでてきてTOPに飛べるようになっているサイトを見かけますがあれはどのような方法なのでしょう? それについて具体的に教えていただきたいのですが、この場だけでは説明しきれないということであれば参考になるURLか書籍でも結構ですので教えていただけませんでしょうか。

  • トップからのリンクページが全く検索にのらないのはなぜですか?

    googleにトップページが登録されてから、1ヶ月半がたちますが、トップからリンクされている個別ページがまったく検索にのりません。クローラーはトップページから個別リンクをたどるということですが、全く反映されていないというのはなぜでしょうか?HPの作成方法が悪いのでしょうか?

  • リンクページのアクセスもホームページ(トップページ)のカウンターにカウントさせたい

    ホームページの各リンクページには相当数のアクセスがあるのですが、HPのトップページのカウンターにカウントされてなく増えません。リンクされたページに直接アクセスされた時でも、ホームページのカウンターが自動的にカウントされる方法を、どなたか教えてください。

  • ホームページのトップページが開かなくなった

    ホームページビルダー10でホームページを作成しています。パソコンを更新して(Windoes7 Home Premium 64bit)でームページビルダーを開き、トップページを更新(転送)したら今までのURLでトップページが開かなくなりました。検索エンジンで他のページを検索して開くとそのページは開きますし、開いたページよりリンクしている他のページは開きます。しかし、開いたページよりリンクしているトップページを開こうとしても開きません。どうしたらよいのでしょうか、教えてください。

  • トップページのリンク表示について

    質問させて頂きます ホームページビルダーにてHPを製作中なのですが トップページの左下に各ページのリンクが出てしまうのですが。。 例えて言えば以下のページの様な感じです 左下に各ページのリンク表示が出てしまっています http://e-238.hp.infoseek.co.jp/ これを表示しない為にはどうすれば良いでしょうか? よろしくお願い致します

  • トップページが登録されない

     新規に商用ホームページを立ち上げて1ヶ月になりますが、googleではヒットするのですが、なぜがトップページがヒットせず、他のページがヒットします。トップページを検索結果に出すにはどうしたらよいのでしょうか。  また、yahooをはじめとするgoogle以外の検索サイトではヒットすらしません。ロボット検索なので時間がかかることがあると聞きますが、1ヶ月もかかるのでしょうか(一応、yahooは管理サイトで登録はしました)。  ご存知の方、よろしくお願いします。

  • TOPページのランク4、相互リンクページのランクゼロ(0)

    凄く基本的で恐縮ですが 色々なHPに相互リンク依頼してまわってます。 相互リンクして頂けるサイトのTOPページがグーグルのランク4 しかし、実際被リンクしてもらえるページのグーグルランクはゼロです ヤフーとか、グーグルとかの検索エンジンにおける、 被リンク評価として、これは有効でしょうか?

    • ベストアンサー
    • SEO