WordPress純PHPコード実現記録検索エンジンクモ爬行記録【転載】
2073 ワード
新しいサイトやサイトの収録に問題がある場合は、検索エンジンのクモの捕獲状況に引き続き注目する必要があるかもしれません.サーバ側アクセスログを開くたびに表示するのは面倒で、特にログファイルが大きい場合は不便です.一番いい方法は、オンラインでクモの爬行記録を直接開くことです.そのため、プラグインを免除して純粋なPHPコードを使用してこの機能を実現することができます.以下は具体的な実装コードです.
使用説明:以上のコードをfuntionに挿入します.phpファイルを作成し、Webサイトのルートディレクトリの下にrobotslogsという名前を作成します.txtのファイルでいいです.ファイル名はカスタマイズできます.注意robotslogs.txtは書き込み可能な権限を設定します.777権限が望ましいです.755権限は、一部のホスト構成では書き込めない場合があります.以上のコードは検索クモの基本的なキャプチャ情報を記録することができますが、欠陥があります.現在、ウェブサイトをキャプチャしたときの状態を記録することはできません.例えば404、404の状態コードなどは表示できません.状態コードを取得する方法を知っている人はメッセージを教えてください.
//
function get_naps_bot(){
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, 'googlebot') !== false){
return 'Googlebot';
}
if (strpos($useragent, 'bingbot') !== false){
return 'Bingbot';
}
if (strpos($useragent, 'slurp') !== false){
return 'Yahoobot';
}
if (strpos($useragent, 'baiduspider') !== false){
return 'Baiduspider';
}
if (strpos($useragent, 'sogou web spider') !== false){
return 'Sogouspider';
}
if (strpos($useragent, 'haosouspider') !== false){
return 'HaosouSpider';
}
if (strpos($useragent, 'yodaobot') !== false){
return 'YodaoBot';
}
return false;
}
function nowtime(){
date_default_timezone_set('Asia/Shanghai');
$date=date("Y-m-d G:i:s");
return $date;
}
$searchbot = get_naps_bot();
if ($searchbot) {
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
$url=$_SERVER['HTTP_REFERER'];
$addr=$_SERVER['REMOTE_ADDR'];
$file="robotslogs.txt"; //
$time=nowtime();
$data=fopen($file,"a");
$PR="$_SERVER[REQUEST_URI]";
fwrite($data,"[$time] - $addr - $PR - $searchbot $tlc_thispage \r
");
fclose($data);
}
使用説明:以上のコードをfuntionに挿入します.phpファイルを作成し、Webサイトのルートディレクトリの下にrobotslogsという名前を作成します.txtのファイルでいいです.ファイル名はカスタマイズできます.注意robotslogs.txtは書き込み可能な権限を設定します.777権限が望ましいです.755権限は、一部のホスト構成では書き込めない場合があります.以上のコードは検索クモの基本的なキャプチャ情報を記録することができますが、欠陥があります.現在、ウェブサイトをキャプチャしたときの状態を記録することはできません.例えば404、404の状態コードなどは表示できません.状態コードを取得する方法を知っている人はメッセージを教えてください.