SEO対策キーワードの難易度チェッカーを自作 - 日報 #110
寒いと肩凝りませんか?
寒い→なんかこわばる→ずっと肩に力が入る→肩こる
俺だけかな。
俺だけの特異体質だったら、やだな。
さて、本日は利尻昆布のお話を。
もとい、rishirikonbu.jpのお話を。
SEO対策にのぞむさい、
必ず戦略キーワードを選定するシーンというのは出てくると思います。
キーワードツールやアクセス解析を用いて、
「なんかこの辺のワード対策するといいわな」
っていうリストを作ったとして、実際に取り組む順番ってのは「勝てそうなワード」がいいわけですよね。
まぁこのへんの話はSEO対策でググれば死ぬほど出てくると思います。
ところでその「勝てそうなワード」選定の時に、
多くの解説サイトですと http://rishirikonbu.jp/difficulty_checker/ このサイトを用いて、
キーワードの難易度をチェックしたらええで的な事が書かれるわけです。
ということで僕もそれを叩きに行くのですが、、、
なんと、なんらかの仕様変更があったのか、
何度やっても取得失敗になります。
(これ僕だけでしょうかね。。。)
コレがないとSEO対策始まらんのに、
困ったものです。
困ったので自作するしかないですね。
難易度チェッカーのやっていることは、指定キーワードのGoogle上位10サイトにおいて、
ページランクと被リンク数の平均値を出力し、
「そのキーワードの競合サイトがどんだけ強いのか?」を判定することなわけです。
利尻昆布先生がどうやっているのかはわかりませんが、
mozのAPIとGoogle customAPIを用いれば出来ないことはありません。
なのでやります。
まずmozのAPIから。
mozのアカウントを作成したら、
https://moz.com/products/api/keys
ここにいってAPI Keyを、ゲットだぜ!
そしたら、今度はAPIリファレンスをみながら取得コードを書くのだけど、、、
それむっちゃ面倒だから、ここのGitHubにおもむろにアクセス。
https://github.com/seomoz/SEOmozAPISamples/blob/master/php/batching_urls_sample.php
そして、APIの結果JSON取得PHPコードを、ゲットだぜ!
とはいえ、取得したいパラメータをどうするかというと、
http://moz.com/help/guides/moz-api/mozscape/api-reference/url-metrics
ここのBit Flagを確認して、今回はmoz rank、moz auth、被リンク数、全リンク数くらいを取得する。
Bit Flagとしては、
<?php $cols = "32"; $cols += "2048"; $cols += "34359738368"; $cols += "16384"; ?>
こんな感じで書いとけば、指定URLのページランクと被リンク数、ゲットだぜ!
さぁ整ってきましたね。
最後はGoogle CostomAPIですが、コレ以外と厄介です。
厄介ですが、
http://ryutamaki.hatenablog.com/entry/2014/01/18/171640
ここのサイトの通り設定して、検索IDとGoogleのアクセスキーを、ゲットだぜ!
続いて、実際にキーワードでGoogleの検索結果を取得するphpを書く。
これも超簡単でいい。
<?php define('GGL_KEY', 'hogehoge'); define('CX_KEY', 'hogehogehoge'); $url_format = "https://www.googleapis.com/customsearch/v1?key=%s&cx=%s&q=%s"; $url = sprintf($url_format, GGL_KEY, CX_KEY, urlencode($keyword)); $json = curl_get_contents($url); $array = json_decode($json, TRUE); $items = $array['items']; var_dump($items); // curl で contents ゲットだぜ! function curl_get_contents( $url, $timeout = 60 ){ $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_HEADER, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_TIMEOUT, $timeout ); curl_setopt( $ch, CURLOPT_USERAGENT, 'RCEC2'); $result = curl_exec( $ch ); curl_close( $ch ); return $result; } ?>
さて、これでGoogleのキーワードごとの検索結果トップ10を、ゲットだぜ!
あとはキーワードリストCSVファイルでも作って、ぐるぐる回せば簡単にmozベースでのキーワード難易度チェッカーが出来るわけですね。
なんと簡単な事か。
ただ注意すべきことは、回数制限ですね。
まずmoz APIはフリーアカウントの場合 1call per 5sec とのこと。
そしてGoogleのAPIも無料なのは 100/day とのこと。
これに注意しながらキーワードぐるぐる回すときも sleep(10)とか適当に入れておく必要がございますね。
あぁ駆け足でしたが今日はこんなところで。
ちなみに、この手のスクリプトって最終的にcsvで吐き出すと思いますが、
macあるあるとして、
「エクセルで開くと化けるんだけどーなんでー」
状態になると思います。
そんな時はUTF-16にmi.appで変換するといいんですが、
それも一々面倒臭いなら、下記コードで変換するとよいです。
nkf -Lu --oc=CP932 --overwrite ./out.csv