私がすること - 年齢確認をセッションデータに保存します。セッション変数が存在しない場合、サーバーは本体の末尾 (フッターの後) に div を追加し、クリックして確認するか、クリックして終了します。CSS を使用してコンテンツをカバーします。
CSSの場合-私は次を使用します:
display: block; width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; z-index: 9999;
これにより、本体の最後に配置されていても、グラフィカル ブラウザーで div が他のすべてのコンテンツをカバーします。
JS が有効になっていないユーザーの場合、「Enter」リンクは、セッション変数を設定し、要求したページにユーザーを戻す Web ページを指します。その結果、必要なコンテンツに到達するためにブラウザーの 2 ページの読み込みが発生しますが、これは理想的ではありませんが、非 JS 対応ブラウザーでこれを行う唯一の方法です。
JS 対応ブラウザの場合、「Enter」リンクの href リンクを # に変更し、非常に基本的な関数をクリック イベントに添付する小さな JavaScript がページに添付されます。人は「Enter」をクリックしました。次に、サーバーはセッションを更新し、XMLHttpRequest に 200 OK 応答で応答し、JavaScript をトリガーして、コンテンツをカバーする年齢確認 div を非表示にします。したがって、セッションが更新されるため、サーバーはユーザーが年齢を確認したことを認識し、ユーザーはブラウザーでページをリロードすることなく必要なコンテンツを表示できるため、ユーザー エクスペリエンスが大幅に向上します。
したがって、年齢確認は、ステートレスな方法で、または JavaScript を使用したより使いやすい方法でユーザーを確認ページに送信することにより、JavaScript を使用せずに機能します。
検索スパイダーがサイトをクロールすると、スパイダーには必要なセッション変数が設定されないため、すべてのページで年齢確認 div が取得されますが、div は html 本文の最後にあるため、スパイダーは実際のコンテンツを最初にインデックス付けします。 .