5

Firefox は、次のようにメタ タグに設定されているものをすべてプリフェッチするようです。

<link rel="next" href="http://domain.com/page/2">

詳細については、こちらをご覧ください: http://developer.mozilla.org/en-US/docs/Link_prefetching_FAQ

現在、私のサイトでは、コメントなどのために複数のページがある場合、rel="next" と rel="previous" を使用しています。これは良いマークアップであり、特定の読者や検索エンジンを支援するために使用される可能性があると考えたからです。ボット。

ただし、ユーザーが最後に読んだコメントが何であったかを追跡しようとしましたが、これは機能していません (単純なことに何時間も費やしたばかげた時間の 1 つです)。

基本的に、たとえばユーザーが 3 ページ中 2 ページ目を読んだ場合、データベースを更新して、2 ページ目は読んだが 3 ページ目は読んでいないことを伝えます。ただし、3 ページ目はプリフェッチされるため、そのページのコードが実行され、SQL 更新が発生します。ユーザーが実際にページ 3 を読んだことがないにもかかわらず、そのページも同様に表示されます。

だから本当に私はいくつかの質問があります:

  • 「次」と「前」のマークアップを維持しながら、これを回避する方法はありますか? それとも、それらのメタ タグを削除する方が簡単ですか?
  • 私が知っていて対処すべき他の形式のプリフェッチはありますか?
  • 何かが特別なリクエスト ヘッダーなどの単なるプリフェッチであるかどうかを確認する特別な方法はありますか?
4

1 に答える 1

3

あなたの質問への回答は次のとおりです。

  1. 並べ替え。URI の末尾にa をスローし?somethingて、URI をプリフェッチできないようにすることができると思います。
  2. ほぼ間違いない。Chrome もさまざまなプリフェッチを行いますが、そこではこの?somethingトリックが機能しない場合があります。
  3. はい。リンク先の FAQ のhttps://developer.mozilla.org/en-US/docs/Link_prefetching_FAQ#As_a_server_admin.2C_can_I_distinguish_prefetch_requests_from_normal_requests.3Fを参照してください。
于 2012-09-07T06:31:43.700 に答える