今はもう無くしてしまいましたが、dtnディレクトリでは登録サイト様のSEOチェックツールをオマケでご用意しておりました。とはいっても、単にMETAタグの情報を表示したり、被リンク数と検索インデックス数を取得して表示させてただけですので、ほとんど意味ない機能だったとは思っていますが。。。

さて、久しぶりにそのSEOチェックツールを見てみたところ、どのサイトも被リンク数が0件となってしまっておりました。

数年前は各社の検索エンジンでは、検索APIを大盤振る舞いで解放してくれていたので、被リンク数・インデックス数も気楽にAPIで取得出来ていたのですが、Yahoo!、Googleも検索用APIは次々サービス提供終了となってしまったようで、どうやらレスポンスが何もない状態となっていたようです。。。

このままでは申し訳ないので、代わりの方法で数値を取ろうと思いましたが、
APIが無い以上、数値を取得するにはHTTP_Requestとかで検索結果ページを丸っと取得して数値を引っ張るしかないかなぁとも思っておりました。

ただ、、、前にもやったことはありましたが、データ取得→数値引っこ抜きに
非常に時間がかかってしまうので、全くダメで。。。という訳で、色々探してみたところ、公式にはサービス終了となったGoogle Search APIがまだ使えるよということで、プログラム公開している人がいたので、これで対応してしまいました。これも近々使えなくなるとは思いますので、この先どうしましょうかねぇ。。。

function GoogleBL($domain){
 $url="http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=link:".$domain."&filter=0";
 $ch=curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
 curl_setopt($ch, CURLOPT_REFERER,"YOUR_REFERER");	//リファラ入れないとエラーになりました
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_HEADER, 0);
 curl_setopt($ch, CURLOPT_NOBODY, 0);
 curl_setopt($ch, CURLOPT_TIMEOUT, 30);
 $json = curl_exec($ch);
 curl_close($ch);
 $data=json_decode($json,true);
 if($data['responseStatus']==200){
  return $data['responseData']['cursor']['resultCount'];
 }else{
  return false;
 }
}
スポンサーリンク