イントロ
キーワード・トラッキングの重要性を考慮しても、グーグルのToS(利用規約)はSERP(検索エンジン結果ページ)のスクレイピングを禁じている。
CAPTCHAやIPブロックのようなGoogleのスクレイピング対策は、プロキシを回転させるコストを含め、CAPTCHA解決サービスのコストを押し上げる。このため、ウェブスクレイピングによるSEO監視プロセス全体が、さらにフラスト レーションのたまるものとなっている。
もしあなたがこのような状況に陥っていたり、キーワードのランキングを追跡するための正確で合法的なGoogle検索データの取得に苦労しているのであれば、ここに合法的で信頼できる代替手段がある。PythonとGoogle Search APIを使ってランキングトラッカーを構築する方法を探ってみよう。
PythonとGoogle Search APIを使ったランクトラッカーの構築
PythonとGoogle Search APIを使ってランクトラッカーを構築するには、Pythonプログラミング、APIハンドリング、データベース管理、データ分析のスキルが必要です。
このガイドでは、グローバルキーワード追跡のためのランクトラッカーの構築に焦点を当てていることに注意してください。ローカルで高度なキーワードトラッキングを行うには、Pythonスクリプトを ランクトラッカーAPIと統合すると便利です。
それでは、PythonとGoogle Search APIを使ってランク・トラッカーを構築するプロセスを掘り下げてみよう。
1. Pythonプログラミング環境と要件の設定
キーワードランキングを追跡するPythonスクリプトを書く前に、公式ウェブサイトから最新バージョンのPythonをインストールする必要があります。インストール手順は、お使いのオペレーティング・システムによって異なります。
インストールが完了したら、コマンドラインまたはターミナルでインストールを確認する。次に、好みのIDEやコードエディタをインストールする。IDEの中では、ほとんどのPythonスクリプト拡張をサポートし、軽量 なVS codeが最もおすすめです。
効果的なSEOのためのオールインワン・プラットフォーム
ビジネスが成功する背景には、強力なSEOキャンペーンがあります。しかし、数え切れないほどの最適化ツールやテクニックがあるため、どこから手をつければいいのかわからないこともあります。でも、もう心配はありません。効果的なSEOのためのオールインワンプラットフォーム「Ranktracker」を紹介します。
次に、開発する各プロジェクトの依存関係を分離し、潜在的な競合を防ぐために仮想環境をインストールする。そして最後に、必要なPythonライブラリとツールをインストールする。
Pythonのライブラリやツールのうち、Google Search APIへのAPIコールを行うにはRequestsライブラリ、APIのレスポンスを処理するには_JSON _、クエリのタイムスタンプを付けるにはDatetime、ランキングデータと履歴を保存するにはSQlite、視覚化にはPlotlyかMatplotlibが必要だ。
2. Google Search APIを設定する
Pythonプログラミング環境のセットアップとテストが終わったら、Google Programmable Search Engineのページに行き、新しい検索エンジンまたはカスタム検索エンジンを作成します。
このチュートリアルでは、カスタム検索エンジンをウェブ全体で検索するように設定し(グローバル検索)、そのIDまたはCX値をコピーします。次に、Google Cloud Console にページを切り替え、カスタム検索 JSON API を有効にして API キーを取得します。
CX値とAPIキーを取得したら、その2つを設定ファイルに安全に保存します。セキュリティリスクを軽減するため、CX値やAPIキーのハードコーディングは常に避けてください。
3. 構造化されたPythonスクリプトを書く。
ここまでで、正しく設定されたプログラミング環境と、カスタムGoogle検索エンジンのID(とAPIキー)を手に入れたことになる。
ここでは、Pythonスクリプトをモジュール化された関数で構成し、キーワードの順位追跡プロセスをスムーズかつ自動化する方法を紹介する。
最初に、より良いナビゲーションと保守性のために、_config.py, tracker.py, database.db, requirements.txt _file を含むようにプロジェクトを構成します。
効果的なSEOのためのオールインワン・プラットフォーム
ビジネスが成功する背景には、強力なSEOキャンペーンがあります。しかし、数え切れないほどの最適化ツールやテクニックがあるため、どこから手をつければいいのかわからないこともあります。でも、もう心配はありません。効果的なSEOのためのオールインワンプラットフォーム「Ranktracker」を紹介します。
保存されたランキング履歴を格納するdata/フォルダも忘れずに。これらのファイルとフォルダを配置したら、ファイルからの読み込み、ファイルへの書き込み、ファイルの変更を行うために以下の関数を記述する:
a) Google Search APIに問い合わせる機能
この関数は入力としてキーワードを受け取り、config.pyファイルからCX値とAPIキーを使用してAPIリクエストURLを作成します。そしてGoogle Search APIにリクエストを送信し、Google Search APIはJSONレスポンスを返します。
最後に、この関数はJSONレスポンスを解析し、最初の100ページのタイトル、URL、スニペット、ランキング順位を抽出する。
b)ランクデータを抽出して保存する機能
検索結果を解析した後、この機能は、返されたリストの中からあなたのウェブサイトのURLを見つけ、ランキングの位置を決定し、ランキングデータをSQliteに構造化された形式で保存します。
この関数は検索結果をループし、あなたのサイトのURLの位置を見つける。見つかれば、ランキングの位置を抽出して記録する。見つからなかった場合は、あなたのサイトは指定されたキーワードで100位以内にランクインしていないと見なします。
効果的なSEOのためのオールインワン・プラットフォーム
ビジネスが成功する背景には、強力なSEOキャンペーンがあります。しかし、数え切れないほどの最適化ツールやテクニックがあるため、どこから手をつければいいのかわからないこともあります。でも、もう心配はありません。効果的なSEOのためのオールインワンプラットフォーム「Ranktracker」を紹介します。
検索されたキーワード、トラッキングのデータと時間、ランク付けされた順位、URLといったSQliteデータベースのフィールドにデータを構造化させることができます。
c)データを分析して可視化する機能
この関数は、一度データベースに入ると、保存されているランキングデータをデータベースから取り出し、分析し、Plotlyや Matplotlibのようなライブラリを使って 傾向を視覚化する。また、ランキングの低下や上昇を検出する統計モデルにデータを渡すこともでき、SEOの取り組みを監視するのに役立ちます。
1. Pythonランクトラッカーの自動化
スクリプトの機能をテストし、エラー処理を実装する。
例えば、スクリプトはタイムアウトを処理したり、失敗したリクエストを再試行でき るようにすべきである。また、データの消失を避けるために、失敗したリクエストのログを記録する。
特定のインターバル後にランキングを監視するには、cronのようなスケジューラを使ってトラッキングプロセス全体を自動化し、特定のインターバル(1日に何回、週に何回、月に何回)後にキーワードトラッキングを自動化する。順位が大幅に下がったときに警告を発するトリガーを設置する。
2. Python ランクトラッカーに高度な機能を追加する
最後に、基本的なランク・トラッカーの構築に慣れてきたら、次のような高度な機能を追加するオプションがあります:
-
デバイス別トラッキング:モバイルとデスクトップのランキングは異なります。そのため、Google Search APIでは、どちらのランキングも個別に追跡することができます。
-
競合他社の追跡:あなたのウェブサイト以外に、競合のURLを追跡することができます。
-
ジオロケーションベースのランク追跡:特定の場所に絞り込み、特定の都市や国のユーザーの検索意図を反映した結果を取得することができます。
-
SERP機能の検出:自分のサイトのページが、画像検索結果やフィーチャードスニペット、その他のSERP機能に表示されるかどうかを知りたい場合、Google Search APIを使えば、このような特定が可能です。
高度な機能にもかかわらず、1日あたり約100の無料クエリがあることに注意して ください。これを使い切った後は有料となる。また、検索結果は100件までしか引き出せない。そのため、ランク・トラッカーをサードパーティのランク・トラッカーAPIと組み合わせて機能を拡張することが不可欠なのだ。
まとめ!
これで完成だ!PythonとGoogle Search APIを使ってランクトラッカーを構築するために必要な5つのステップです。
Google Search APIでは、トラッキングは1日100検索結果、100クエリまでに制限されていることをお忘れなく。にもかかわらず、IP禁止やCAPTCHAをトリガーすることなく、効率的かつ合法的にキーワードランキングを追跡することができます。さらに、複数のアカウントにリクエストを分散させることができるため、1日に送信できるクエリの数を増やすことができます。