Google検索順位取得(1000位まで):PHPで「Google検索の順位取得」。100位より圏外!いったいどのくらいに位置してるんだ?1000位くらいまでは調べたいよなぁ ・・・ 【PHP】
・Googleの「検索順位」取得ツール
・Google検索順位取得:PHPで「Google検索の順位取得」を試してみた。こりゃまた便利なクラスライブラリを利用 ・・・ 【PHP】
いろいろな、無料SEO解析サービスもそうなんだけど
「100以外は、みんな "圏外" だよね」
でも、いったいどの位の位置にいるんだろう?
もしかして、101位かも?
それとも「箸にも棒にも引っかからない」1000位外なのか?
知りたいよねぇ。
手動で検索して、頁遷移して調べるの大変だし・・・
▼
で、せめて1000位までは調査する
新しいツールを創った。
少し重いので、前回のものとは別に用意。
・Googleへの配慮と
・設置サーバーへの負荷も顧慮して、制限ありますが・・・
いつものように、左下に貼ってます。
(また、重くなっちゃいました、ね)

制限。
・ひとつのURL、キーワードで、
1日1回
・ひとつのURLで、
1日10キーワードまで
※ご容赦
追記に ▼
************************************************
◎ Google検索の順位:せめて1000位までにいないかなぁ? 調査ツール
************************************************
仕組みは簡単。
前回創ったものを改良して
・100件ごと ループ処理し
・ヒットすれば break
・検索URLとキーワードを記録して
・dayファイルに書き出し
・ひとつのURLで、同じキーワードは
1日1回にチェック限定させてもらい
・ひとつのURLは、
1日10キーワードでチェック限定
させてもらう
■Googleの 検索URLでの頁遷移は、
"&start=(頁でのスタート順位)" でできるわけだから
define('TEMP_CKNUM', "1000");
define('TEMP_CKONENUM', "100");ループごとに、baseURLに、
$row=0; $temp_cnum = TEMP_CKNUM/100;
for($c=0;$c<$temp_cnum;$c++){
$go_to_url = $to_url;
$go_to_url .= "&start=".($row * TEMP_CKONENUM);
・・・・・
$row++;
}
負荷を軽くするために
■取得したソースにまず
含まれているか? を見たで、
ソース内をチェックしてゆく。
$data = file_get_contents($go_to_url); # DOM
if(($data!='')&&(ereg($url,$data))){
}else{
$data_utf = mb_convert_encoding($data,"utf-8","auto");
$parser = new HTMLParser;
$parser->setRuleFile('*****/xhtml1-transitional_dtd.inc.php');
$parser->setRoot('html', array('lang' => 'ja'));
$parser->setGenericParent('body');
$parser->parse($data_utf);
$result = $parser->dump('utf-8');
$xml = $result;
$temp_euc1 = mb_convert_encoding($result,"EUC-JP","auto");
$doc = new DOMDocument("1.0","utf-8");
$doc->loadHTML($result);
$xpath = new DOMXPath($doc);
$query = "//li[@class='g']/h3[@class='r']/a[@class='l']";
$entries = $xpath->query($query);
if (!is_null($entries)) {
$temp_rank=1 + ($row * TEMP_CKONENUM);
foreach ($entries as $nodelist) {
if(ereg($url,$nodelist->getAttribute("href"))){
$get_rank_node=$nodelist->getAttribute("href");
$get_rank=$temp_rank; break; }
$temp_rank++;
}
・・・・・
}
}
■ご利用の記録は、外部テキストファイルを利用し
シリアライズすることで、実装
$tempgo=1;
if (!file_exists(*****)) {
// ない(新規)
$temp_arrays[0] = $ckstr_key; // 今回のキーワード
}else{
// ログファイル読込
$buf = mb_convert_encoding(file_get_contents(*****), 'euc-jp', 'auto');
if($buf!=''){
// あれば
// 配列変数に格納
$temp_arrays = unserialize($buf); // unserialize する
if (
is_array($temp_arrays)
&& count($temp_arrays)
){
// 配列分(検索されている分)廻して
$ck_row=0;
foreach ($temp_arrays as $key => $value) {
if ($value == $ckstr_key) { $tempgo=0;
$temp_errmes="すでに本日調査されています";
break; // 既検索キーワード:実行しない
}else{ $ck_row++; // カウント
}
}
if($tempgo==1){ // 既検索キーワードではない:実行
if($ck_row>=10){ $tempgo=0; // すでに10キーワード:実行しない
$temp_errmes="このURLで、本日、10キーワードを超えました";
}else{
$temp_arrays[$ck_row] = $ckstr_key; // 今回のキーワード
}
}
}else{$temp_arrays[0] = $ckstr_key; // 今回のキーワード
}
}else{$temp_arrays[0] = $ckstr_key; // 今回のキーワード
}
}
■この「創るmetaboy」での実態調査。
・"創る" でチェック

※ "2位" を死守。
最近、Yahooで下がっている。投稿ペース、落ちてるしなぁ。
・"サイト構築" でチェック

※ "670位" 。
ははは。道のりは遠いな。
・では、"サイト構築 ruby" では?

※ "18位" !
驚き、桃の木、このブログごときが・・・。
・さらに、"サイト構築 php" では?

※ "106位" を死守。
おぉ。微妙に好位置、かもしれない。
"圏外"脱出も 夢ではない!?
・じゃぁ、"サイト構築 創る" なら?

※ ははは、"1位" !
こんなんで、探す人いないと思うけど。
・"サイト構築 プログラム" なら?
※ 応えはない。
・・・・・。
・同じ
※重いし、うまく返ってこないときもあるけど
良かったら使ってみてください。
単独ページで試した方がいいかも。
・制限は、アラートが表示されます。







