2012-05-08 11 views
1

Googleには現在インデックスされているURLがたくさんあります。これらのURLを前提に、Googleが最後にクロールしたのはいつですか?API for Googleが最後に自分のサイトをクロールしたときにURLを指定しますか?

手動で、Googleのリンクを確認して「キャッシュされた」リンクを確認すると、クロール時の日付が表示されます。これを自動的に行う方法はありますか?何らかのGoogle APIですか?

ありがとうございました:)

答えて

3

GoogleがこのタイプのデータのAPIを提供していません。最後にクロールされた情報をトラッキングする最善の方法は、サーバーログをマイニングすることです。

サーバーログでは、通常のユーザーエージェント(Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.com/bot.html))でGooglebotを識別できるはずです。次に、GooglebotがクロールしたURLと、いつどのようなURLが表示されるかを確認できます。

Googlebotがこれらのページをクロールしていることを確認したい場合は、verify it with a Reverse DNS lookup.とすることができます。 Bingbotは逆DNSルックアップもサポートしています。

サーバーログを手動で解析しない場合は、いつでもsplunkまたはlogstashのようなものを使用できます。どちらも素晴らしいログ処理プラットフォームです。

SERPの「キャッシュされた」日付は必ずしも最後のクロールされた日付と必ずしも一致するとは限りません。 Googlebotは「キャッシュされた」日付の後に複数回ページをクロールできますが、キャッシュされたバージョンは更新されません。 「キャッシュされた日付」は「最後にインデックスされた」日付のほうが良いと考えられますが、それは正確ではありません。どちらの場合でも、ページを再インデックス化する必要がある場合は、Google Webmaster Tools(GWT)をいつでも使用できます。 GWTには、Googlebotにページの再クロールとページの再インデックスを強制するオプションがあります。週ごとに50以上の制限があります。

1
<?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); 
} 
} 
?> 

を使用して最後の訪問Googleのボットを確認することができます。 次のようにテストできます.../bot.php/url = http:// www ....

関連する問題