Google Search Consoleで検索クエリを調べるのは一般的ですが、それをひと目で確認できるようになったら便利ですよね。
そこで今回は、Pythonで自ブログに来る訪問者の検索クエリをマイニング、可視化する方法を紹介します。
Google Consoleでデータを読み込む
まずはGoogle Search Consoleから必要なCSVデータを取得します。
Google Search Consoleにログインして、左側の【検索クエリ】をクリック、真ん中あたりにダウンロードマークがあるので【CSVをダウンロード】をクリック、指定の場所に保存します。
ファイルの名前はseo.csvとしましょう。
これで必要なデータは揃いました。
コードを書く
実際にプログラムを書いて行きます。
まずはMatplotlib、WordCloud、Pandasをインポートします。
import pandas as pd from wordcloud import WordCloud import matplotlib.pyplot as plt
次にPandasでcsvを読み込みます。
先ほど取得したCSVにはキーワード検索、クリック数、表示回数の行があります。一つのワードに対してクリック数を数えてもよいのですが、見た感じ同じような語句は複数回に渡って行に含まれているので、キーワード検索のリストだけ作成します。
df = pd.read_csv("seo.csv") keywords = list(df["検索キーワード"])
最後にWordcloudのプログラムを組みます。
txt = " ".join(keywords) font_path = "NotoSansCJK-Regular.ttc" wordcloud = WordCloud(background_color="white", font_path=font_path, width=1024, height=674).generate(txt) plt.imshow(wordcloud) plt.axis("off") plt.savefig("my_followers_profile.png") plt.show()
ここで注意したいのがWordCloudはフォントを設定しなければならないことで、ボクはパソコン内部に最初からあるフォントをコピーして仮想環境に入れました。
WindowsやMacの場合、WordCloudがどう動くのか分からないので、その辺は試行錯誤が必要かもしれませんが、Ubuntu18.04は/usr/share/fonts/にフォントがありますので、そこからフォントを選んで下さい。
ちなみにボクはNotoSansCJK-regular.cttを選びました。
そして、実行結果がコレです。
英語、コストコ、自転車関係といったワードが目立ちますね、典型的な雑記ブログという感じです。
まとめ
以上、Pythonでブログの検索ワードをマイニング&可視化する方法の紹介でした。
ブログ運営者は「こんなブログにしたい」と意識して記事を書いていると思いますが、実際にビュアーはどういった目的、ワードでブログに訪れているのかという確認は大事です。
その確認作業を簡単かつ見やすくするツールとして、今回のWordCloudを利用した方法はとても使い勝手が良いと思います。
個人に限らず、企業HPや通販サイトのクエリ調査やプレゼン資料など、幅広く応用が効くでしょう。