2010.01.05
Yoshi 開発

自作アクセス解析 Vol.5 [被リンク数/内部リンク数 取得]

あけましておめでとうございます。
今年度も宜しくお願いいたします。

5回目になる今回は被リンク数と内部リンク数を取得する箇所を作成してみたいと思います。

ロジック自体は、前回と同じでソースから正規表現にて取得していきます。

link

まず、被リンク数と内部リンク数についてお話したいと思います。

被リンク数とは、他のサイトから自分のサイトがリンクされている数になり。
内部リンク数とは、自分のサイトから自分のサイトをリンクしている数になります。

SEOになぜ関係があるのか?と言われれば検索エンジンの仕様だからと言いきれなくも無いのですが、
被リンク数に関しては、人気があるページはリンクされますから被リンク数が多いサイトは良いサイトということなんでしょうね。
しかし、実際はただ多ければいいのかという訳ではなく量と質の両方が見られています。

では、質とは何か?
前々回書きましたページランクが質になっているのだと思います。

内部リンクは、昔はGoogleロボットが被リンクと内部リンクを区別せずに、内部リンクも別サイトとして認識していたのですが、
現在の仕様はどうなんでしょうね。
とは言っても全くカウントしないということは無いでしょうから、内部リンクを全ページに貼るというSEOは現在もよく行われていますね。
一ページあたりの推奨リンク数が100とされていますので、その辺は意識した上で行った方がいいとは思います。

ではどうやって調べるのかってところですが、さすがに手動で数えるって訳にもいきません・・・。
Yahoo! Googleの検索窓にて

被リンク数

link:https://bitstar.jp/

内部リンク数

site:https://bitstar.jp/

と入力して検索すると、取得する事ができます。

一つのサイトだけ管理している場合は、問題ありませんが複数サイトを管理している時
毎回検索するのは手間がかかってしまいますので、今回は楽に取得する為のプログラムを書いていきたいと思います。

$url = “https://bitstar.jp/”;
$result_list = array();
$result_list[“google”] = array();
$result_list[“yahoo”] = array();

$_google_link_url = “https://www.google.co.jp/search?hl=ja&q=”.urlencode(“link:”.$url);
$_google_link = ‘にリンクするページの検索結果(.*?)件中’;

$_google_site_url = “https://www.google.co.jp/search?hl=ja&q=”.urlencode(“site:”.$url);
$_google_site = ‘からの検索結果 約 (.*?)件中’;

$_yahoo_link_url = “https://search.yahoo.co.jp/search?search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=&p=”.urlencode(“link:”.$url);
$_yahoo_link = ‘<div id=”inf”>.*?約(.*?)件.*?</div>’;

$_yahoo_site_url = “https://search.yahoo.co.jp/search?search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=&p=”.urlencode(“site:”.$url);
$_yahoo_site = ‘<div id=”inf”>.*?約(.*?)件.*?</div>’;

// Google 取得
$tmp = file_get_contents($_google_link_url);
$tmp = mb_convert_encoding($tmp, “UTF-8”, “SJIS”);

mb_ereg_search_init($tmp,$_google_link, “i” );
while(TRUE === mb_ereg_search()){
$work = mb_ereg_search_getregs();
$result_list[“google”][“link”] = trim(strip_tags($work[1]));
}

$tmp = file_get_contents($_google_site_url);
$tmp = mb_convert_encoding($tmp, “UTF-8”, “SJIS”);

mb_ereg_search_init($tmp,$_google_site, “i” );
while(TRUE === mb_ereg_search()){
$work = mb_ereg_search_getregs();
$result_list[“google”][“site”] = trim(strip_tags($work[1]));
}

// Yahoo 取得
$tmp = file_get_contents($_yahoo_link_url);
mb_ereg_search_init($tmp,$_yahoo_link, “i” );
while(TRUE === mb_ereg_search()){
$work = mb_ereg_search_getregs();
$result_list[“yahoo”][“link”] = trim(strip_tags($work[1]));
}

$tmp = file_get_contents($_yahoo_site_url);
mb_ereg_search_init($tmp,$_yahoo_site, “i” );
while(TRUE === mb_ereg_search()){
$work = mb_ereg_search_getregs();
$result_list[“yahoo”][“site”] = trim(strip_tags($work[1]));
}

※公開時は上記で取得できますが、仕様が変更されると取得できませんのでご注意下さい。

$result_listには、
[“google”][“link”] = googleの被リンク数
[“google”][“site”] = googleの内部リンク数
[“yahoo”][“link”] = yahooの被リンク数
[“yahoo”][“site”] = yahooの内部リンク数
が入っていますので、それを表示側で工夫する感じです。

実際は、関数化してサイト毎にループ処理が一番だとは思います。

本当は、今回でアクセス解析に関しては終了して、次回からはFlexの事を書こうと思っていたんですが
最後にドメインの有効期限取得の箇所を作成して終わろうかと思います。

ドメインの有効期限もSEOには関係ありますしね!

って事で、また次回

Yoshi

一覧に戻る