GAS×ChatGPT:SEO競合分析を自動化する全手順(コピペOKなGASコード付)
SEO担当者にとって「競合サイトの見出し構成と文字数を一覧化する」作業は、新規記事の設計でも既存記事のリライトでも避けて通れません。しかし対象が10社・20社と増えるたびに半日〜1日が消えていきます。本記事では、Googleアカウントさえあれば無料で使えるGAS(Google Apps Script)とChatGPT APIを組み合わせ、競合分析を「URLを貼ってメニューから実行するだけ」に圧縮する全手順を解説します。プログラミング未経験のマーケターでもコピペで動かせるGASコード一式と、APIキーをスクリプトプロパティで安全に扱う設定方法を無料配布する予定です(現在準備中、公開時にメールでご案内します)。
手作業の競合調査はもう古い!GASで実現する自動分析
SEO担当者が新しいキーワードで記事を書こうとするとき、まず行うのが上位10位の競合ページの「見出し構成」と「文字数」の確認です。
この作業を1ページずつブラウザで開き、見出しをコピペしてスプレッドシートに整理するのは、想像以上に消耗する単純作業です。対象が広がるほど集計シートはバラバラになり、最新化もされず、分析する前に疲弊してしまうケースも珍しくありません。
そこで活用したいのがGAS(Google Apps Script)です。GASはGoogleアカウントがあれば無料で利用できる、スプレッドシート上で動くJavaScriptベースの自動化ツールで、エンジニアでなくても扱える「マーケターのための裏方」として2026年現在も第一線で使われています。
競合URLを並べたスプレッドシートに対してGASを実行すれば、各ページの h2/h3 見出しと本文文字数を一気に抽出し、同じシート上に並べることができます。さらに、抽出した見出し群をChatGPT APIに流し込めば、「自社にない切り口」「上位ページに共通する語彙」「強化すべきH2案」といった分析結果まで自動生成可能です。
OpenAI APIキーの取得とGAS初期設定(セキュリティ解説)
GAS×ChatGPTのセットアップで最初のハードルになるのが、OpenAI APIキーの管理です。
APIキーをGASのコード本体に直書きしてしまうと、スクリプトをチームで共有した瞬間に第三者へ流出するリスクがあり、悪用されると従量課金が想定外に膨らむ事故が起きます。
これを回避する標準的な方法が、GASの「スクリプト プロパティ」を使う方式です。
手順は以下の通りです。
- OpenAI のダッシュボード(platform.openai.com)から API キーを発行する
- GAS エディタの左ペインで「プロジェクトの設定(歯車アイコン)」を開く
- 「スクリプト プロパティ」セクションで
プロパティを追加をクリック - プロパティ名
OPENAI_API_KEY、値に発行したキー文字列を入力して保存 - スクリプト内では
PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY')で取り出す
こうしておくと、コード本体にキー文字列が一切含まれないため、ファイルをチームで共有したりバージョン管理に上げても漏洩しません。鍵を入れ替えたいときは「スクリプト プロパティ」画面で値を差し替えるだけで完了するため、定期的なローテーションも容易です。
コピペで完了!競合サイトの見出し・文字数を抽出するGASコード
準備が整ったら、いよいよ抽出スクリプトを動かしていく流れになります。
本記事の配布キット(現在準備中)には、以下を1ファイルにまとめた seo-competitor-extractor.gs を同梱予定です。
- スプレッドシート A 列に並べた競合 URL を順次取得する
UrlFetchAppのラッパー - 取得した HTML から h2 / h3 見出しを正規表現で抽出する関数
- 本文の文字数(タグ除去後)を集計する関数
- 抽出結果を B 列以降に書き出す出力ヘルパー
- スプレッドシート起動時にカスタムメニュー「SEO自動分析」を追加する
onOpenトリガ
公開後の使い方は、スプレッドシートを開く → A 列に競合 URL を貼る → メニューバーの「SEO自動分析 → 見出しを抽出」をクリックするだけになる予定です。10社分なら数分で結果が揃い、エンジニアに依頼する必要もない設計を目指しています。
JavaScript の文法を読まなくても動かせるよう、コードコメントには「ここを変えれば h2 だけでなく h3 も拾える」「ここの数字を変えれば文字数カウントの対象範囲が変わる」など、マーケター視点でのカスタマイズポイントを明記する予定です。
抽出データをChatGPTに分析・改善案出しさせる方法
見出しと文字数を一覧化できたら、次はChatGPTに分析を任せるフェーズです。
配布キット(現在準備中)に同梱予定の seo-analyzer.gs は、抽出結果のシートを読み取り、OpenAI Chat Completions API(GPT-4o 想定)にプロンプトを投げ、以下を同シート上に書き出す設計です。
- 上位ページに共通して登場する論点・語彙
- 自社(ターゲット URL)の見出しに不足している切り口
- 競合の見出し平均文字数を踏まえた、新規記事の H2 構成案(5本)
- 既存記事リライト時に追加すべき H3 案
プロンプト本体もスクリプト プロパティ(ANALYZER_PROMPT)に格納する設計のため、公開後は社内のSEO方針が変わった際にコードを触らずプロンプトだけを差し替えられる想定です。
「見出し抽出」と「ChatGPT分析」を分離する設計のため、公開後はまず抽出だけを試して肌感を掴み、納得してから API 課金を伴う分析パートを動かす、という段階的な導入も可能になる予定です。
無料配布キット:GAS×ChatGPT SEO競合分析スクリプト一式
含まれるもの(予定):
seo-competitor-extractor.gs— 競合 URL から h2/h3 見出し・文字数を抽出する GAS コードseo-analyzer.gs— 抽出結果を ChatGPT API に渡して改善案を出力する GAS コードsetup-guide.md— スクリプト プロパティ設定 / カスタムメニュー有効化の手順書
※ 本配布キットは現在準備中です。配布開始までは下記のフォームよりリクエストいただいた方に、公開時にメールでご案内いたします。
配布キットの公開をリクエストする毎月3社限定!プロによる自社サイト無料SEO診断
GAS×ChatGPTで競合分析の「データ取得」を自動化できても、自社のSEO戦略にどう反映するかは別問題です。
「上位ページに共通する論点は分かったが、自社の強みをどう乗せるべきか分からない」「ChatGPTの提案する H2 案が自社のトーン&マナーに合わない」といった、機械では埋まらない判断が必ず残ります。
ebis AI では、自社サイトの SEO 状況を専門家がヒアリング・分析し、競合との差分から「次に書くべき記事」「リライト優先順位」「内部リンク再設計」までを提案する無料SEO診断を、毎月3社限定で実施しています。本記事の GAS スクリプト(現在準備中)の公開後に導入を検討されている方も、まずは診断のみご希望の方も、いずれもお申し込み可能です。
SEO自動化導入支援 — プロによる自社サイト無料SEO診断(毎月3社限定)
競合分析の自動化スクリプト導入から、診断結果を踏まえた記事戦略の策定・運用伴走まで、SEO のプロが一気通貫でサポートします。無理な営業は一切行いません。
無料相談に申し込む(カレンダー予約)