読者です 読者をやめる 読者になる 読者になる

廿TT

譬如水怙牛過窓櫺 頭角四蹄都過了 因甚麼尾巴過不得

[searchConsoleR]要対策キーワードをあぶり出す回帰分析

辻正浩氏によると、

ある程度以上の表示回数があり、かつ、ある程度以上の掲載順位があるが、クリック数がある程度以上になっていないキーワードを抽出するだけで、タイトル要素に何か問題があるのかもしれないとか、検索されている意図と実際のサイトが合っていないのかもしれないとか、すぐにわかります。

[対談]SEO 辻正浩氏×アクセス解析 小川卓氏:検索キーワードが見えない時代のSEOとは? | Web担当者Forum

とのことです。

これを R でやってみます。

searchConsoleR パッケージを使うと Google Search Console(旧ウェブマスターツール)の検索アナリティクスデータを引っ張ってこれます。

最大5000行までのデータが一発で取得できるので管理画面からダウンロードするよりは楽なはず。

library("googleAuthR")
library("searchConsoleR")
gar_auth()
sc_websites <- list_websites()
query <- search_analytics(siteURL = sc_websites[1,1],
                            startDate = "2015-01-01", endDate = "2016-01-31", #90日前のデータまでが取得可能
                            dimensions = "query",
                            searchType = "web", rowLimit = 5000)

以上でデータ取得は完了です。

インプレッションの小さいキーワードは対策の優先順位が低いので、インプレッションが 1000 を超えるデータのみを抜き出します。

sub1 <-dplyr::filter(query,impressions>1000)

とりあえず散布図を書いてみます。

plot(clicks~position,data=sub1,col="grey60",pch=16)
#nihongo() macユーザーは日本語のフォントを指定
text(clicks~position,label=query,data=sub1,cex=0.7)

f:id:abrahamcow:20160205030007p:plain

横軸が順位、縦軸がクリック数で、ひとつひとつの点がキーワードを表します。

検索順位とクリック数の関係を把握するために曲線を当てはめます。

特に根拠はないのですが、当てはめる曲線は指数型関数  y=a\exp(bx) がいい気がします。

#関数を定義
expfunc <- function(x,par){
  a=par[1]
  b=par[2]
  a*exp(b*x)
}
#フィッティング
fit1 <-nls(clicks~a*exp(b*position),data=sub1,start=list(a=10000,b=-0.1))
curve(expfunc(x,coef(fit1)),add=TRUE,col="red",lwd=2)

傾向線から外れたページは検索順位に見合った価値を発揮できていない、つまり何か改善の余地があると予想できます。

f:id:abrahamcow:20160205030544p:plain

residuals 関数を使うと残差(データの点から当てはめた曲線までの差)を出力することができます。

近似曲線から下にぶれたキーワードは、残差がマイナスになります。

残差がマイナスになり、かつ残差の絶対値が大きいキーワードが、要対策キーワードです。

zansa <-residuals(fit1)
sub1$zansa <- zansa
sub2 <-sub1[order(zansa),] #残差の小さい順に並べ替え

当ブログの要対策キーワードトップ 10 は以下の表のような具合でした。

query clicks position
同期 嫌い 156 3.994924
公理 56 5.764138
マジ感謝 44 6.109319
rjpwiki 7 7.004095
ラップ歌詞 76 6.235425
近似曲線とは 43 7.243437
ハーツ ルール 16 8.409498
累乗近似 42 7.528021
ゲーデル不完全性定理 119 5.962164
花札 枚数 4 9.578947

「同期 嫌い」のページと「ハーツ ルール」のページはタイトルを微妙にいじってみました。

これでなにか変化があったらおもしろいですね。

このような改善案を出すための示唆となる方法は、

abrahamcow.hatenablog.com

で紹介しています。

また以下のエントリでも似たようなことをやっています。

abrahamcow.hatenablog.com

あと、本文とは関係ありませんが野崎まどの小説(ラノベ)がおもしろかったのでアフィリエイトはっておきます。

買ってくだい。よろしくお願いします。

know (ハヤカワ文庫JA)

know (ハヤカワ文庫JA)

2 (メディアワークス文庫)

2 (メディアワークス文庫)