Pythonの活用によるSEO分析
Python(パイソン)は自然言語処理に優れた性能を持つプログラミング言語です。AI活用にPythonが使われることからビッグデータの活用や機械学習に利用されると思われていますが、情報収集やテキスト解析などにも利用できます。
SEOではユーザーにどこまで有益な情報を提供できるかが課題になっており、その1つの目安として検索上位に表示されている記事があります。
Pythonとは
Python(パイソン)とは1991年にオランダで開発され、オープンソースで運営されているプログラミング言語です。
プログラミング言語としての特徴としては、短いコードでプログラムを書けることや専門的なライブラリが豊富にあること、コードが書きやすく読みやすいことなどが挙げられ、組み込み開発、WEBアプリケーション、デスクトップアプリケーション、AI開発、ビッグデータ解析などの分野で使われています。
有名なところではYouTubeやDropboxにPythonが深くかかわっており、現在ではなくてはならないプログラミング言語といえます。
特に近年ではAI(人工知能)の浸透によりPythonはAIに活用できると思われていますが、AIに使われるようになったのは自然言語処理が得意なプログラム言語であることに起因しています。
そして、この自然言語処理が得意なことをSEOに活かすことができます。
自然言語処理とは
自然言語処理(Natural Language Processing)とは、自然言語(日本語や英語など人の話す言葉の総称)を機械で処理し、内容を抽出する作業のことです。言葉や文章のような話し言葉から、学術論文のような書き言葉までを対象として、言葉が持つ意味をさまざまな方法で解析する処理技術を指します。
人間の言葉は文脈や区切りによって意味が変わる曖昧さがあり、機械が人の言葉を明確に理解することは難しいことも多いのが実情です。しかし、自然言語をうまく処理することで機械でも文章を正しく理解することができます。
GoogleでもBERTアップデートではBERT(Bidirectional Encoder Representations from Transformers、Transformerによる双方向のエンコード表現)を利用することで文章を正しく理解することに成功し、言語AIであるGPT-3では機械学習により文章を理解しAIライティングをすることに成功しています。
PythonがSEOに利用できることの例
Pythonは自然言語処理に優れた性能を発揮するプログラミング言語なので、SEOに利用するにはWEBデータを抜き出し、分析するということを活かすことができます。
例えば、次のようなことはPythonを使うことでおこなうことができます。
- 特定のキーワードの検索結果の一覧の取得
- 特定のサイトのURL、タイトル、メタディスクリプションなどの抽出
- H1~H6までの見出しタグの抽出
- 記事の文字数の抽出
- 記事内の画像の枚数やURLの抽出
上記のことはGRCやラッコキーワードなど既存のツールを利用することで代用可能ですが、日常的に競合サイトやマーケットを分析し、コンテンツを作っている方にとって都度ツールを開くことは手間がかかることです。
これをさらに深く分析したり、自動集計したりすることでSEOに活かすことができるのがPythonの強みです。データ量が多ければ多いほど自動化による効率化は高まりますので、WEBデータを扱うアナリストには非常に便利なツールを作ることができます。
PythonはSEOにどう使えるか
PythonをSEO施策に活用する方法は大きく2つあります。
- スクレイピング(情報収集)
- 形態素解析
スクレイピングとは
スクレイピング(Scraping)とはゴシゴシこすってかき集めるという意味ですが、転じてWEBデータやデータベースを深堀してデータを抽出する方法のことを意味します。
Googleをはじめとした検索エンジンがおこなう情報収集にはクローリング(Crawling)がありますが、スクレイピングは特定の目的をもって情報を抽出する事に対して、クローリングではWEB上を巡回して情報(WEBサイトの構造や要素)を集めるという点で異なります。
ただし、実務ではクローリングツールでスクレイピングまでおこなってしまうこともありますので、似通っていることは事実です。
形態素解析とは
形態素解析とは、文章を言葉の意味を持つ最小単位(形態素)に分けて、それぞれの品詞や変化などを判別する自然言語処理の一部です。
例えば、「SEO対策ならGoogleSEOの検索上位まで導く東京SEOメーカーまでご相談ください。」という文章を形態素に分けて意味を考えると次のようになります。
SEO / 対策 / なら / Google / SEO / の / 検索 / 上位 / まで / 導く / 東京 / SEO / メーカー / まで / ご相談 / ください。 |
SEOで狙ったキーワードで順位を上げたいのであれば内部SEOも重要ですが、コンテンツの質は極めて重要な要素です。タイトルや見出しにキーワードを入れるのは当然のこと、文章内にも意識して狙うキーワードと共起語や関連語を含める必要があります。
現在ではキーワード比率はSEOとは直接の関係は持ちませんが、特定のキーワードで上位化しようとしたときに、競合サイトではどのようなキーワードをどのくらい使っているのか、傾向としてどのような関連語が多いのかなどは参考になります。
つまり、キーワード比率ではなく、検索上位サイトの傾向やトレンドを把握することができます。
スクレイピングと形態素解析によるSEO検討
上記の2つをまとめると、Pythonによりスクレイピング(情報収集)をおこない、形態素解析をおこなうことで検索上位サイトの分析をスムーズに実施できます。
形態素解析だけであればテキストマイニング(文章を単語や文節で区切り、出現頻度や共出現の相関、出現傾などを解析することで有意な情報を取り出すデータ分析方法)をおこなうことででき、テキストマイニングツールも存在しますので、手動で検索上位のサイトデータを収集し、テキストマイニングツールに入れることで分析は可能です。
しかし、回数を重ねるほど手動作業の効率が悪くなり、大量のデータを処理するには不向きです。
※余談ですが、手動部分を自動化するだけであればRPA(Robotic Process Automation、ロボティックプロセスオートメーション)により実現可能です。
また、テキストマイニングツールは月額10万円以上するものも多く、意外にコストがかかります。ExcelでCOUNTIF関数、SUM関数、INDEX関数などを利用してテキストマイニングをおこなうこともできますが、できることがかなり限定されてしまうため効率的ではありません。
その意味でPythonによるスクレイピングと形態素解析は非常に効率的で優れた手法といえます。
PythonをSEOに活用できる例
実際にSEOエキスパートが実施しているPythonをSEOに活用している例は次のようなものです。
- Pythonで複数のサイトのインデックスページ数を取得する
- PythonとScreaming Frog SEO Spiderを使用して大規模なレンダリングの問題を見つける
- Screaming Frog SEO Spiderで抽出されたURLを再クロールする
- GoogleサーチコンソールとPythonを使用してキーワードカニバリを見つける
- PythonとリクエストによるWebスクレイピング
- Pythonでユーザーエージェントをランダム化する
- PythonでXMLサイトマップを作成する
- Robots.txtをPythonで解析します
- キーワード密度とエンティティ計算機
- PageSpeed API、Lighthouse、Pythonによる速度向上の予測
参考:Python for SEO: Complete Guide (in 8 Chapters)
上記のとおり、Pythonにより普段手動でやっていることを自動化したり、ほかのSEOツールと組み合わせて使うことでより深い分析をしたりすることができます。
なお、一覧のなかにあるScreaming Frog SEO Spiderは有料ではありますが、無料版でも他社サイトの分析に利用できる優れたSEOツールです。
Pythonを使うには
Pythonを使うには開発環境を整える必要があります。有名なものとしては次の2つが挙げられます。
- anaconda(アナコンダ)
- Google Colaboratory
anaconda(アナコンダ)は汎用的なプログラミングではなく、データサイエンスや機械学習などを目的とした場合に優れているといわれています。
また、Google ColaboratoryはWEBブラウザ上でコードを書いて実行できるためインストールの必要がなく、すぐにPythonを実行できる点が特徴です。
しかし、いずれにしてもプログラミング言語であることには変わりがなく、WEBの知識があり、HTMLを理解している程度ではPythonのコーディングにはかなり敷居が高く、現実的にはエンジニアが必要です。
まとめ