OpenClawとGSC Wizardで継続的なSEO分析を実行する

SEOの問題の多くは、1週目なら簡単に直せますが、6週目には大きなコストになります。たとえば、canonicalが外れてしまったテンプレートの変更、強調スニペットを失ったページ、少しずつ共食いしていくクラスタなどです。それを見つけるために、毎朝Search Consoleを開く人はいません。OpenClawのGatewayはすでに稼働していて、SlackやTelegramへの投稿もできます。そこにSearch Consoleのデータとスケジュールを渡せば、毎日チェックし、対応する価値のあることがあったときだけ知らせてくれるアナリストになります。

このページの内容
セットアップ時間

OpenClawがすでに稼働していて、チャットチャンネルが接続されている場合で、約20分です。

必要なもの

プロパティを接続したGSC Wizardアカウントと、読み取り専用スコープのAPIキー。

利用できるもの

毎日の状況確認、毎週のレビュー、毎月の見通しを、チームがふだん読んでいる場所に投稿します。

全体の仕組み

構成要素は3つあり、それぞれが1つの役割を担います。

  1. GSC Wizard MCPサーバーは、データを保持し、計算を担当します。ホスト型で、保存対象のプロパティについては最大10年分の履歴を保持し、負荷の大きい分析(異常検出、変化点、劣化、カニバリゼーション、改善機会のスコアリング)をサーバー側で実行します。エージェントが受け取るのは完成した結果で、自分で合計しなければならない生の行ではありません。
  2. OpenClawのスキルは、手順を保持します。頻度ごとにどのツールを呼び出すか、何を報告に値すると見なすか、どのような形式にまとめるかを定めます。ワークスペース内のただのMarkdownファイルで、ほかのファイルと同じようにバージョン管理できます。
  3. OpenClawのオートメーションは、スケジュールを保持します。実行のたびに独立したセッションが始まり、スキルに従って処理し、結果をSlackチャンネル、Telegramグループ、またはwebhookに通知します。

この3つを分けておくことで、運用しやすい構成になります。しきい値を変えたいときは、3つのcronジョブではなく、スキルを編集するだけです。データが変わっても、こちら側で変えるものはありません。

ステップ1:GSC Wizardを接続する

アカウント → APIキーで、読み取り用のAPIキーを作成します。読み取り用のキーは、すべての変更系ツールで実行前に拒否されるため、プロンプトインジェクションを受けたエージェントでも、送信、削除、変更はできません。そのうえで、サーバーを~/.openclaw/openclaw.jsonに追加します。

{
  mcp: {
    servers: {
      gscwizard: {
        url: "https://mcp.gscwizard.com/mcp",
        transport: "streamable-http",   // OpenClaw defaults to SSE if omitted
        headers: { Authorization: "Bearer gscw_live_..." }
      }
    }
  }
}

Gatewayから実際に接続できるかを確認します。

openclaw mcp doctor gscwizard --probe

確認が通ったら、キーをヘッダーへの直接記述から、OpenClawのシークレットの仕組みに移してください。openclaw mcp doctorがトークンの直接記述を警告するのには、きちんと理由があります。ほかのオプション(OAuth、--includeによるツールのフィルタリング)については、OpenClawのMCPセットアップの項をご覧ください。

ステップ2:スキルを書く

スキルは、SKILL.mdファイルを置いたフォルダに保存します。ワークスペースのスキル(デフォルトは~/.openclaw/workspace/skills/)はほかのすべてより優先されるため、自作のスキルはここに置きます。次の内容をskills/gsc-monitor/SKILL.mdとして保存し、ドメインを書き換えてください。

skills/gsc-monitor/SKILL.md
---
name: gsc-monitor
description: Daily, weekly and monthly Search Console monitoring for example.com using the gscwizard MCP server. Use when asked for a daily pulse, weekly SEO review or monthly SEO outlook.
version: 1.0.0
---

# GSC monitor for example.com

Data comes ONLY from the gscwizard MCP tools. Never estimate a number.
Every figure you report carries its tool name and date range.
Search Console data lags 2-3 days: compare complete days only and never
treat the last two days as a drop.

## Daily pulse
1. detect_anomalies (days: 90) once for clicks and once for impressions.
   Report only anomalies dated in the last 7 complete days.
2. detect_change_points on clicks (days: 90): any new level shift?
3. get_indexing_tracker: anything newly not indexed, or dropped.
Report ONLY items that need a human today. If there are none, reply with
exactly one line: "GSC pulse: nothing needs attention."

## Weekly review
1. get_ranking_changes: last 7 complete days vs the 7 before.
2. find_decaying_content: top 5 pages by clicks lost.
3. score_opportunities: top 5 striking-distance pages.
4. analyze_cannibalization: new or worsening query conflicts only.
5. list_algo_updates: note any Google update inside the window before
   blaming a page for a drop.
Output: three actions max, each with URL, evidence, and expected effect.
Then a short "watching" list. No tables over 10 rows.

## Monthly outlook
1. get_site_summary: this month vs last month and vs same month last year.
2. forecast_traffic for the next 90 days.
3. get_branded_performance: brand vs non-brand trend.
4. get_ga4_llm_traffic, if GA4 is connected; if it reports notConfigured,
   say so once and move on.
Output: five bullet summary, then the one thing to prioritise next month.

## Rules
- Never propose publishing new content unless a query has impressions and
  no page that ranks for it.
- Never call a tool that changes anything. This skill is read-only.
- If a tool errors with a rate limit, wait the seconds it returns, once.

上で挙げたツールはすべてGSC Wizard MCPに用意されています。ほかのツールはGSC MCPのページで確認できます。「問題がなければ1行だけ返信する」というルールは、見た目以上に重要です。毎朝「問題なし」の長い報告を投稿するアナリストは、2週目にはミュートされてしまいます。

ステップ3:オートメーションをスケジュールする

OpenClawのスケジューラーは、openclaw automationsで管理します(openclaw cronは、旧名称での同じコマンドです)。各ジョブには、cron式、タイムゾーン、実行結果がメインのチャットにたまらないようにするための独立したセッション、そして配信先を指定します。オートメーションの作成には、operator.adminが必要です。

# Daily pulse, weekdays 07:40
openclaw automations create "40 7 * * 1-5" \
  "Run the gsc-monitor skill: daily pulse." \
  --name "GSC daily pulse" \
  --tz "Europe/Amsterdam" \
  --session isolated \
  --announce --channel slack --to "channel:C0123456789"

# Weekly review, Monday 08:10
openclaw automations create "10 8 * * 1" \
  "Run the gsc-monitor skill: weekly review." \
  --name "GSC weekly review" \
  --tz "Europe/Amsterdam" \
  --session isolated \
  --announce --channel slack --to "channel:C0123456789"

# Monthly outlook, 3rd of the month (so the previous month is complete)
openclaw automations create "20 8 3 * *" \
  "Run the gsc-monitor skill: monthly outlook." \
  --name "GSC monthly outlook" \
  --tz "Europe/Amsterdam" \
  --session isolated \
  --announce --channel telegram --to "-1001234567890"

チャンネルIDは、ご自身のものに置き換えてください。結果をチャットではなくチケット管理システムに送りたい場合は、--announceを--webhook <url>に置き換えると、実行結果があなたのエンドポイントにPOSTされます。スケジュールはあえて毎時0分を避けています。ほかの多くのジョブが0分に実行されるためです。

頻度ごとのチェック内容と、その頻度にする理由

頻度 見つけられるもの もっと頻繁にしない理由
毎日急な異常:特定のセクションをnoindexにしてしまったデプロイ、インデックスから外れたページ、トラフィックの段階的な変化Search Consoleの更新はおおむね1日1回なので、1時間ごとにチェックしても同じ数字を見ることになります
週次順位の動き、劣化、カニバリゼーション、あと一歩のキーワードでの成果日々の順位のノイズは、実際の変動の大半より大きく、1週間で見ると曜日による影響がならされます
月次トレンド、前年との季節性の比較、指名と非指名、AIアシスタント経由の流入これらは計画の材料であり、完全な月のデータが必要です

一般的な毎日の実行ではツール呼び出しが3〜5回、毎週の実行では5〜8回で、MCPの制限(1分あたり60回、1時間あたり1,000回)に十分収まります。注意すべきコストは、GSC Wizardの呼び出しではなくモデルのトークンです。スキルで短い出力を求めているのも、そのためです。

Heartbeatを使わない理由

OpenClawのHeartbeatは、メインセッションでエージェントのターンを定期的に実行します。デフォルトでは30分ごとです。「受信トレイを見張っておく」といった用途には向いていますが、Search Consoleには向きません。データは30分ごとには変わらず、ターンのたびにトークンを消費し、SEOの出力でメインの会話が埋もれてしまうからです。日時を指定したオートメーションを、独立したセッションで使いましょう。また、HEARTBEAT.mdを書くよう案内している古いガイドは情報が古くなっています。OpenClawはもうそのファイルを読みません。

2週間後の調整

  • 対応したアラートの数を数えましょう。 毎日の状況確認が5回通知し、そのうち4回を無視したなら、スキルのしきい値を引き上げます(「週間クリック数が100以上のページで、20%を超える異常のみ」など)。
  • プロパティとフィルタを固定しましょう。 複数のプロパティがある場合は、スキルに正確なサイトのURLを書き、気にしているセクションにはエージェントの判断に任せず、保存したフィルタを使います。
  • ご自身の変更を記録しましょう。 エージェントは、何をリリースしたかを知っていると、下落の理由をより的確に説明できます。デプロイするときにGSC Wizardでアノテーションを追加すれば、毎週のレビューがそれを読み取れます。エージェントからアノテーションを書き込むには、別に書き込み用のキーが必要です。この読み取り専用のジョブには使わないでください。
  • このエージェントにブラウザを持たせないでください。 影響を受けたページもエージェントに開かせたい場合は、別のエージェントとして実行します。OpenClawのプロンプトインジェクションに関するガイダンスでは、認証情報を持つエージェントにウェブを読むツールを持たせないよう推奨しています。

エージェントに報告だけでなく、サイトを無駄なく保つ作業(内部リンク、整理、インデックス登録から外れたページ)まで担当させたいですか?その手順は毎日稼働するSEOエージェントのページで紹介していて、同じようにOpenClawのスキルに応用できます。いずれの場合も、安全に運用するためのルールはOpenClawのSEOベストプラクティスをご覧ください。

よくある質問

Heartbeatとオートメーション、どちらを使う?

オートメーションです。Heartbeatはデフォルトでメインセッションを30分ごとに実行しますが、これはSearch Consoleのデータが変わる頻度よりはるかに多い回数です。

データはどのくらい新しいですか?

Search Consoleの確定値は、約2〜3日遅れで反映されます。スキルは完全な日だけを比較するため、途中のデータでアラートが出ることはありません。

エージェントはサイトを変更できますか?

読み取り用のキーではできません。変更系のツールは、実行前にそのキーを拒否します。書き込みを伴うジョブには、専用のキーと承認のステップを設けてください。

アラートだけのためにOpenClawは必要ですか?

いいえ。GSC Wizardだけでも、トラフィックのアラートやスケジュールされたレポートを、Slack、Teams、webhookに送れます。OpenClawが役に立つのは、変化を知らせるだけでなく、調査して説明まで求めたいときです。

執筆:Jan-Willem Bobbink · 公開日:2026年10月5日 · OpenClawのコマンドは、同日にdocs.openclaw.aiで確認済み