現在 Google にインデックスされている URL がたくさんあります。これらの URL から、Google が最後にそれらをクロールしたのはいつかを特定する方法はありますか?
手動で、Google でリンクをチェックして「キャッシュされた」リンクをチェックすると、クロールされた日付が表示されます。これを自動的に行う方法はありますか? ある種の Google API ?
ありがとうございました :)
現在 Google にインデックスされている URL がたくさんあります。これらの URL から、Google が最後にそれらをクロールしたのはいつかを特定する方法はありますか?
手動で、Google でリンクをチェックして「キャッシュされた」リンクをチェックすると、クロールされた日付が表示されます。これを自動的に行う方法はありますか? ある種の Google API ?
ありがとうございました :)
Google は、このタイプのデータ用の API を提供していません。最後にクロールされた情報を追跡する最善の方法は、サーバー ログをマイニングすることです。
サーバー ログでは、典型的なユーザー エージェントによって Googlebot を識別できるはずですMozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.com/bot.html)
。次に、Googlebot がどの URL をいつクロールしたかを確認できます。
これらのページをクロールしているのが Googlebot であることを確認したい場合は、逆引き DNS ルックアップで確認できます。. Bingbot は逆引き DNS ルックアップもサポートしています。
サーバー ログを手動で解析したくない場合は、splunkやlogstashなどをいつでも使用できます。どちらも優れたログ処理プラットフォームです。
また、SERP の「キャッシュされた」日付は、必ずしも最後にクロールされた日付と一致するとは限らないことに注意してください。Googlebot は、「キャッシュ」日以降にページを複数回クロールできますが、キャッシュ バージョンを更新することはできません。「キャッシュされた日付」は「最後にインデックスが作成された」日付と考えることができますが、それも正確ではありません。どちらの場合でも、ページを再インデックスする必要がある場合は、いつでも Google ウェブマスター ツール (GWT) を使用できます。GWT には、Googlebot に強制的にページを再クロールさせ、ページを再インデックス化させるオプションがあります。毎週 50 かその程度の制限があります。
<?php
$domain_name = $_GET["url"];
//get googlebot last access
function googlebot_lastaccess($domain_name)
{
$request = 'http://webcache.googleusercontent.com/search?hl=en&q=cache:'.$domain_name.'&btnG=Google+Search&meta=';
$data = getPageData($request);
$spl=explode("as it appeared on",$data);
//echo "<pre>".$spl[0]."</pre>";
$spl2=explode(".<br>",$spl[1]);
$value=trim($spl2[0]);
//echo "<pre>".$spl2[0]."</pre>";
if(strlen($value)==0)
{
return(0);
}
else
{
return($value);
}
}
$content = googlebot_lastaccess($domain_name);
$date = substr($content , 0, strpos($content, 'GMT') + strlen('GMT'));
echo "Googlebot last access = ".$date."<br />";
function getPageData($url) {
if(function_exists('curl_init')) {
$ch = curl_init($url); // initialize curl with given url
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // add useragent
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // write the response to a variable
if((ini_get('open_basedir') == '') && (ini_get('safe_mode') == 'Off')) {
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // follow redirects if any
}
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); // max. seconds to execute
curl_setopt($ch, CURLOPT_FAILONERROR, 1); // stop when it encounters an error
return @curl_exec($ch);
}
else {
return @file_get_contents($url);
}
}
?>
この PHP をアップロードして Cron ジョブを作成するだけです。次のようにテストできます .../bot.php/url=http://www....
リンクhttp://www.gbotvisit.com/を使用して、Google ボットの最後のアクセスを確認できます。