第三電子作事所 ロゴ第三電子作事所
2026-08-14

【Excel VBA×Selenium】楽天市場の検索順位を自動チェック!商品別・キーワード別の順位推移をExcelに記録するマクロ

ExcelVBAマクロSelenium楽天市場検索順位自動化業務効率化SEOEC楽天SEO順位チェッカーRPPスクレイピング検索順位チェック

楽天市場の検索順位を商品×キーワードごとに毎日自動チェック!
PR枠を除外した自然検索順位だけをExcelに記録するVBA×Seleniumツールの開発事例

こんにちは!

「楽天市場で自社商品が狙ったキーワードで何位に表示されているか、毎日手動で検索して確認している…」
「RPP広告(楽天プロモーションプラットフォーム)のPR枠と自然検索枠の区別がつきにくく、正確な順位を把握できていない…」
「複数の商品×複数のキーワードの組み合わせが増えるたびに、検索順位の確認作業だけで毎日1時間以上費やしている…」
「順位の推移を記録したいのに、Excelに転記するのが面倒でデータが断続的になってしまう…」

楽天市場に出店されているEC事業者様であれば、こうした検索順位チェック業務の課題に心当たりがあるのではないでしょうか。

楽天市場における検索順位は、商品の売上に直結する最重要指標のひとつです。楽天市場ではユーザーの約7割がサイト内検索を経由して商品にたどり着くと言われており、検索結果の上位に表示されるかどうかが、アクセス数・転換率・売上高を大きく左右します。特に1ページ目(45商品以内)に表示されるかどうかは、クリック率に顕著な差を生むため、日々の順位変動を正確に把握し、SEO対策やRPP広告の効果検証に活かすことが不可欠です。

今回は、楽天市場に複数商品を出品されているクライアント様からのご依頼で、楽天市場の検索結果ページをSeleniumで自動巡回し、指定した商品管理番号×キーワードの組み合わせごとにPR枠を除外した自然検索順位を特定→Excelシートに日付ごとの順位推移として自動記録するExcel VBA×Seleniumマクロを開発した事例をご紹介します。

導入前は、担当者が毎朝楽天市場のトップページからキーワードを1つずつ検索窓に入力し、検索結果を1ページずつスクロールしながら自社商品を目視で探し、順位をメモしてExcelに転記するという作業を行っていました。商品数が10商品、キーワードが商品あたり5〜10キーワードとなると、それだけで50〜100回の検索と確認が必要になり、毎日1〜2時間をこの作業だけに費やしていました。

ツールの実行ボタン画面
Excelシート上の「表示順位確認」ボタン:ワンクリックで全商品・全キーワードの順位チェックを一括実行

楽天市場の検索順位を正確にチェックするための課題

楽天市場の検索結果におけるPR枠と自然検索枠の違い

楽天市場の検索順位チェックで最も注意すべきポイントは、検索結果ページに混在するPR枠(RPP広告枠)と自然検索枠の区別です。

楽天市場の検索結果ページでは、楽天プロモーションプラットフォーム(RPP)による広告商品が、通常の検索結果に混在して表示されます。外見上は通常の商品カードとほぼ同じデザインで表示され、商品名の先頭に小さく「[PR]」と付記されているだけのため、目視では見落としやすい構造となっています。

手動で順位をカウントする際にPR枠の商品を含めてしまうと、実際の自然検索順位とは異なる数値を記録することになります。例えば、PR枠が5枠表示されている場合、手動で「10位」と記録した商品の実際の自然検索順位は「5位」である可能性があります。この誤差は、SEO施策の効果判定や広告投資の意思決定に重大な影響を及ぼします。

楽天市場の検索結果画面
楽天市場の検索結果:PR枠(赤枠内)と自然検索枠が混在しており、目視での順位カウントではPR枠を含めてしまいやすい

複数商品×複数キーワードの順位管理の煩雑さ

楽天市場のSEO対策では、1つの商品に対して複数のターゲットキーワードを設定するのが一般的です。例えば「お皿」を販売している場合、「お皿 おしゃれ」「皿 北欧」「食器 セット」「プレート 白」など、複数のキーワードで上位表示を狙うことになります。

商品数が10、キーワードが商品あたり5つの場合、1日あたり50回の検索と順位確認が必要となり、これを毎日継続すると月間で約1,500回もの検索作業が発生します。さらに、順位データをExcelに転記する工数、日付ごとの推移を比較する分析工数まで含めると、楽天SEOの順位管理だけでかなりの業務時間が消費されることになります。

自動化ツールの処理フローと主な機能

処理フロー図
楽天検索順位チェッカーの処理フロー全体像:マクロ実行からExcelシートへの記録まで完全自動化

Excelシートベースの設定管理

本ツールでは、検索順位をチェックしたい商品管理番号ごとに専用のワークシートを作成する設計となっています。管理画面となる「楽天」シートの右側に、商品管理番号をシート名としたワークシートを追加するだけで、監視対象の商品を自由に増減できます。

各商品シートのヘッダー行には、チェック対象の検索キーワードを横方向に並べて記入します。「お皿 おしゃれ」「皿 セット」「食器 北欧」といったキーワードを1セルに1つずつ記入するだけで、そのキーワードに対する検索順位が日次で自動記録されていきます。

設定に必要な操作は、シートの追加とキーワードの入力のみです。プログラミングやマクロの知識は一切不要で、楽天の店舗運営スタッフが自分自身で監視対象の追加・変更・削除を行えます。

Selenium WebDriverによる楽天市場の自動検索と順位チェック

マクロの「表示順位確認」ボタンをクリックすると、処理状況を表示するプログレスウィンドウが起動し、SeleniumBasicライブラリを経由してChromeブラウザが自動起動します。

ChromeDriverの自動更新機能: マクロ実行時にPCにインストールされているChromeブラウザのバージョンを自動検出し、対応するChromeDriverが最新でなければ自動ダウンロード・配置を行います。Chromeブラウザが自動更新された後にドライバーの不一致でツールが動作しなくなるトラブルを未然に防止する設計です。担当者がChromeDriverのバージョン管理を意識する必要は一切ありません。

シークレットモード(インコグニート)での検索: 検索結果がユーザーの閲覧履歴やCookieに影響されないよう、Chromeをシークレットモードで起動します。これにより、パーソナライズされていない「素の検索結果」を取得でき、他のユーザーが検索した場合に近い順位を計測できます。

キーワードのURL自動エンコード: 日本語キーワードをURLエンコードして楽天市場の検索URLを自動生成するため、特殊文字やスペースを含むキーワードでも正確に検索が実行されます。

PR枠を除外した自然検索順位の正確な特定

本ツールの最大の特長は、楽天市場の検索結果からPR枠(RPP広告枠)を自動的に除外し、自然検索順位のみを正確にカウントする点にあります。

楽天市場のHTML構造では、通常の検索結果商品は data-card-type='item' 属性を持つ要素として表示される一方、PR枠の商品は data-card-type='cpc' 属性を持つ要素として表示されます。本ツールでは、XPathセレクタで data-card-type='item' の要素のみを抽出することで、PR枠を確実に除外した自然検索順位だけをカウントしています。

各商品の順位判定は、検索結果に表示される商品ページのURLに対象商品の管理番号(ショップURL内のユニーク識別子) が含まれているかどうかで行います。URLベースの厳密なマッチング処理のため、商品名の類似や画像の見間違いといったヒューマンエラーが発生する余地がありません。

最大5ページ・約225位までの自動巡回

楽天市場の検索結果は1ページあたり最大45商品が表示されますが、対象商品が1ページ目に見つからない場合は自動的に「次のページ」ボタンをクリックして次のページに遷移し、最大5ページ目(約225位)まで順位探索を続行します。

ページ遷移時には、次のページの商品リストが完全に読み込まれたことを確認してから順位カウントを再開する待機処理を実装しており、ページ読み込み中の不完全なデータから誤った順位を記録するリスクを排除しています。具体的には、ページ遷移前のトップ商品と遷移後のトップ商品を比較し、内容が切り替わったことを検知してから処理を進める設計です。

5ページ以内に対象商品が見つからなかった場合は、該当キーワードのセルに「-」(ハイフン)を記録し、圏外であることを明示します。

アクセス集中・接続エラーへの自動対応

楽天市場は特にセール期間中にアクセスが集中し、「アクセス集中」ページが表示されることがあります。本ツールでは以下のエラーハンドリング機構を実装し、安定した順位チェックを実現しています。

自動リトライ機能: 楽天市場への接続に失敗した場合やアクセス集中ページが表示された場合、自動的にページを再読み込みしてリトライします。

読み込み待機処理: 検索結果の商品カード要素が表示されるまで最大50回のリトライ(10回ごとにページリフレッシュ)を行い、一時的な通信不良による取得失敗を防止します。

空ページ検知: HTMLのbody要素が極端に短い(500文字未満)場合、ページが正常にレンダリングされていないと判断して再アクセスを試みます。

Excelシートへの日付別順位自動記録

すべての処理が完了すると、各商品シートのA列に当日の日付、B列以降の各キーワード列に検索順位(数値)が自動的に記録されます。

順位推移データ
Excelシートに記録された日付ごとの順位推移データ:キーワード別の順位変動が一目で確認可能

日付はA列に自動入力され、各キーワードの順位はB列以降に数値として記録されるため、Excelの折れ線グラフを使って順位推移を視覚的に把握することも容易です。セルの表示形式は自動的に「数値(小数なし)」に設定されるため、見た目も整った状態でデータが蓄積されていきます。

毎日ツールを実行するだけで、商品×キーワードごとの順位推移が日次で自動的に蓄積されていく仕組みです。蓄積されたデータは、以下のような分析に直接活用できます。

順位変動のトレンド分析: 日次の順位推移を時系列で確認することで、楽天SEO施策(商品名の最適化、レビュー獲得施策、RPP広告の出稿開始・停止)の効果を定量的に把握できます。

キーワード別の強弱分析: 同一商品で複数のキーワードに対する順位を横並びで比較できるため、「どのキーワードでは上位を維持できているか」「どのキーワードの順位が下落傾向にあるか」を一覧で把握し、SEO施策の優先順位を決定する判断材料として活用できます。

競合動向の間接把握: 自社商品の順位が急落した場合、競合商品のSEO施策やRPP出稿の強化が原因である可能性が高く、迅速な対応策(商品ページの改善、RPP入札単価の見直し等)の検討を促すシグナルとなります。

導入効果:楽天SEOの順位管理を劇的に効率化

毎日1〜2時間の手動チェックを完全に撤廃

これまで担当者が毎朝行っていた「楽天市場でキーワードを検索→検索結果を1ページずつ確認→自社商品を目視で探す→順位をメモ→Excelに転記」という一連の作業が、ボタン1つの操作で完全に自動化されました。ツールの実行中は他の業務に集中でき、処理完了後にExcelを確認するだけで全商品・全キーワードの当日順位が把握できます。

PR枠の混同による順位誤認をゼロに

HTML属性レベルでPR枠(data-card-type='cpc')と自然検索枠(data-card-type='item')を厳密に区別するため、手動チェックで避けられなかった「PR枠を含めた誤った順位カウント」が完全に解消されました。これにより、楽天SEO施策の効果検証やRPP広告の費用対効果分析を、正確な自然検索順位データに基づいて行えるようになりました。

順位データの蓄積と分析基盤の構築

ツールの導入により、日付×商品×キーワードの3軸で整理された順位データが毎日自動的に蓄積されるようになりました。蓄積されたデータをExcelのグラフ機能やピボットテーブルで分析することで、楽天SEO戦略の立案・改善サイクルをデータドリブンに回す基盤が構築されました。

属人化の解消とツール運用の容易さ

ツールの操作はExcelシート上の「表示順位確認」ボタンをクリックするだけであり、新しい商品やキーワードの追加もシートの編集だけで対応できます。ChromeDriverの自動更新機能により、Chrome更新後の手動メンテナンスも不要です。担当者の異動や退職による業務の断絶リスクを解消し、安定した順位監視体制を維持できます。

さらに、VBScript(.vbs)とWindowsタスクスケジューラを組み合わせることで、毎日決まった時間にマクロを自動実行する運用も可能です。PCの前に座っていなくても、毎朝自動的に全商品の順位チェックが完了し、出勤時にはExcelシートに最新の順位データが記録されている状態を実現できます。

開発費用と費用対効果

今回のような「楽天市場の検索順位を商品管理番号×キーワードごとにPR枠除外で自動チェック→Excelシートに日次の順位推移として記録→ChromeDriver自動更新対応」を一貫して行うExcel VBA×Seleniumマクロの開発費用は、およそ20,000円〜30,000円ほどです。

このツールは、以下のような日常業務コストを大幅に削減します。

  • 手動チェック工数の削減:毎日1〜2時間の順位確認・転記作業を完全自動化
  • PR枠混同による分析誤差の排除:自然検索順位のみを正確に記録し、SEO施策の効果検証精度を向上
  • 順位データの自動蓄積:日々の順位推移を手間なく蓄積し、データに基づく意思決定を支援
  • 運用の属人化リスクの排除:ボタン操作とシート編集だけの簡単運用で担当者変更にも対応

手動チェックにかかる人件費を時給1,500円で試算すると、毎日1時間の削減で月間約33,000円、年間で約39万円ものコスト削減効果が見込めます。開発費用は導入後1ヶ月以内で回収可能な、極めて費用対効果の高いソリューションです。

このようなお悩みをお持ちの楽天出店者様におすすめです

  • 楽天市場の検索順位を毎日手動でチェックしており、業務時間を圧迫されている
  • RPP広告のPR枠と自然検索枠の区別がつかず、正確な順位を把握できていない
  • 商品名の変更やレビュー施策などの楽天SEO対策の効果を数値で検証したい
  • 複数商品×複数キーワードの順位推移を日次で記録し、データに基づく楽天SEO戦略を立案したい
  • 担当者の経験や感覚に頼らず、定量的なデータで順位管理を行える体制を構築したい
  • 順位チェック業務を自動化して、商品ページの改善や販促企画といったコア業務に集中したい

楽天市場の検索順位チェック業務の自動化をはじめ、ECサイト運営に関わるExcel VBA・Seleniumを活用した業務効率化ツールの開発にご興味がございましたら、どんな小さなことでも構いませんので、ぜひお気軽にご相談ください。
貴社の楽天店舗運営に最適な自動化ソリューションをご提案いたします。

類似実績

お問い合わせ

初めての方はご依頼方法もご参考にしてください

ご相談・ご依頼はこちらのフォームからお気軽にどうぞ。