特定のブランドのアルコール用の単純な年齢確認jQueryスクリプトを作成しました。ユーザーに「はい」または「いいえ」ボタンが付いた法定飲酒年齢かどうかを尋ねます。はい、ウェブサイトはCookieを保存し、1か月間は年齢確認ができなくなります。
年齢確認スクリプトは、次のようなものを使用して、背後のすべての要素をカバーする画面を埋めます。
.verify {
position: fixed;
top:0;
left: 0;
width: 100%;
height: 100%;
}
明らかに、これはユーザーにとってはうまく機能しますが、検索エンジンに対してはそれほど機能しません。 Google/Bingに[はい]ボタンをクリックするように伝えたいのですが、残念ながら、それほど簡単ではないことがわかります。
ナイフ、短剣、隠しマントがなければ、どうすればこの問題に取り組むことができますか?
私は同様の質問を知っています であり、この質問の違いは、一般的な推奨事項ではなく、具体的な設定を念頭に置いていることに注意してください。
たとえあなたが数秒のタイマーを使用してそれを遅らせたとしても、Googleはおそらくオーバーレイを見るでしょう。 GooglebotがJavaScriptを処理するとき、タイムアウトをスキップ(またはスピードアップ)できるようです。過去に、30秒のタイマーの後に出力を生成し、GSCの「取得してレンダリング」ツールが「見る」ものを確認しようとしました。 Fetch and Renderツールは、多くの場合、すでに「レンダリング済み」の「タイミング」JS生成コンテンツとともに「即時」に戻ります。
ただし、Googlebotが「はい」をクリックした場合でも、Cookieは保存されないため、オーバーレイは永久に存在します。ただし、Googlebotはオーバーレイの下にあるものを潜在的に「見る」ことができますが、「ユーザー」ができない場合、Googleはそれを無視することを選択できます(最近)。
いくつかの可能性:
この特定のJSファイルをrobots.txt
でブロックします。 Googlebot(または「ナイス」ボット)はこのJSファイルをフェッチして実行しないため、オーバーレイは表示されません。
Cookieをサポートするユーザーエージェントにのみオーバーレイを表示します。 Googlebotおよびほとんどの検索エンジンボットはCookieをサポートしていません。 Cookieをトリガーとして使用してオーバーレイを非表示(または「非表示」)にしているため、これはとにかく賢明なチェックになります。
最初のリクエストで無条件に設定される「テスト」Cookieの存在を確認した後にのみ、オーバーレイを表示します。 (おそらく、2番目のリクエストを待つのではなく、AJAX呼び出しを発行して「テスト」Cookieを確認できます。このオーバーレイをすぐに表示したい場合は、2番目のリクエストで十分かもしれませんが。)Googlebot(およびほとんどの検索エンジンボット)は「テスト」Cookieを設定(または厳密に言うと「リターン」)しないため、チェックは成功せず、オーバーレイは表示されません。これにより、ブラウザでCookieを無効にしている「パワーユーザー」に対してオーバーレイが繰り返し表示されることもなくなります。