0

私のサイトでは、訪問者に関するいくつかのデータを記録する必要がありますが、人間の訪問者のみを記録し、ボット、特に悪いボットを自動的に記録しないことが重要です (キャプチャなどはオプションではありません)。

現在行われている方法は、データ記録を実行する新しい JS を動的に追加する JS を実行することです (実際には、いくつかの作業を行い、JS コードを返す php サーバー側スクリプトを実行します)。このソリューションの問題点は、すべての画像が JS の後に読み込まれるため、既に遅いサイトが 0.5 秒から 1.5 秒 (サイトとサーバーの負荷に応じて) 遅くなることです。

背景画像 (CSS ファイルで設定) でピクセルを使用することは良い習慣でしょうか?

このようにして、次のことを達成します。

  1. ページ読み込みの高速化
  2. ボットは無視されます (ボットが CSS を読み込まないと仮定し、もしそうであれば bg 画像を読み込まず、Google のような正当なボットの場合は robots.txt でアクセスをブロックします)

他のソリューションは大歓迎です。

次のようになります。

<div id="pixel"></div>

CSS:

#pixel {background: url(/nobot/somephp.php); width: 1px; height: 1px;}

robots.txt

User-agent: *
Disallow: /nobot/

別の質問、

悪意のあるボットは背景の CSS 画像を読み込まないという仮定に頼ることはできますか?


ボットに関するスレッドがたくさんあることは知っていますが、これについて話している最新のスレッドを見つけることができませんでした。

4

1 に答える 1

1

JS ソリューションに固執し、非同期 HTTP 要求 ( XMLHttpRequest/ AJAX) を使用することができます。いくつかのトリッキーな側面 (キャッシュ制御など) を CSS ソリューションよりも正確に制御できるようになると思います。

もちろん、JS 非対応の訪問者は考慮されません。

于 2012-11-28T15:55:14.043 に答える