前の記事「Claude Code で Webサイトを校正する方法」では、テストサイトの校正(誤字・表記ゆれ・レイアウト・リンク)をAIに任せる方法を書きました。
今回は、公開済みの本番サイトの SEO チェックです。title や meta description の確認から、構造化データ・noindex の確認、改善案の作成までを、AIに任せる指示文を紹介します。
Claude for Chrome × Claude Code で、Webサイトを校正する方法|プロンプトつき実践ガイド | CODE-PLUS(コードプラス)
校正とSEOチェックは、分けて行う
| 校正 | SEOチェック | |
| 主な時期 | テストサイト(公開前) | 本番サイト(公開後) |
| 見るもの | 誤字・表記ゆれ・数値・レイアウト・リンク | title・description・見出し・構造化データ・インデックス制御 |
| 理由 | 公開前に直しておきたい | noindex・canonical・サイトマップなど、本番のドメインでないと確認できない項目がある。検索への反映も、公開後に始まる |
SEOチェックの指示文の末尾に、「本番公開後のみ確認する項目」を分けて書いているのは、このためです。
2つのツールの得意分野
Claude for Chrome は、ブラウザで表示しているページを、サイドパネルから読み込ませます。Claude Code + /chrome は、ブラウザと接続して、全ページを巡回し、ソースやHTTPヘッダーまで確認できます。
| チェック内容 | Claude for Chrome | Claude Code + /chrome |
|---|---|---|
| 検索意図に合った内容か、キーワードが入っているか | ◎ | ◯ |
| 言い換え語(求人・求職など)の不足 | ◎ | ◯ |
| title・description の改善案(本文を読んで書く) | ◎ | ◯ |
| title・description の現状と文字数の一覧 | × | ◎ |
| 見出し構造(h1の数・階層) | △ | ◎ |
| 画像の alt・画像内の文字 | △ | ◎ |
| OGP・canonical・robots | × | ◎ |
| 構造化データ(JSON-LD)の検証 | × | ◎ |
| noindex・サイトマップ・リダイレクト・404 | × | ◎ |
| 内部リンク・孤立ページ | △ | ◎ |
| 表示速度(Lighthouse) | × | ◯ |
◎◯△× は、各ツールが何にアクセスできるかに基づく目安です。
ひとことで言えば、「読者の視点で内容を見る → Claude for Chrome」「ソースと構造を見る → Claude Code」です。
実行前の準備
1. 管理画面からログアウトする
本番サイトで実行するときは、管理画面にログインしていない状態にします(ログアウト、または別のブラウザプロファイル)。
- ログイン中だと、管理バーや「編集」リンクが、ページに混ざります
- Claude Code は、あなたのブラウザのセッションを使います。ログイン中だと、編集画面に触れる状態になります
2. 設定場所を決めておく
title と meta description を、どこで設定するかを決めておきます。WordPress なら、固定ページ・投稿の「抜粋」欄が meta description、という構成の場合もあります。指示文に書いておくと、改善案を「そのまま貼れる形」で出してくれます。
3. 対象を絞る
全ページを巡回するので、時間がかかります。投稿は、最新3件と一覧ページに絞ります。カテゴリー・タグ・検索結果は、対象外にします。
指示文① Claude Code + /chrome(全ページ一括)
まず /chrome でブラウザと接続してから、次の指示文を実行します。
# 新しいセッション開始
claude --dangerously-skip-permissions # パーミッションをスキップ
/chrome # ブラウザと接続
プロジェクト名:[プロジェクト名]
Task X.X: SEOチェックレポートの作成 を開始します。
サイト名:[サイト名]
URL: https://mysite.jp
* Google Analytics プロパティID:
* Google tag:
* Google Tag Manager:
【サイト情報】
* 別表記:[社名・サービス名の別表記。英語表記・略称・旧社名など]
* title の基本形:ページタイトル | サイト名
* title を設定する場所:title は ページの「タイトル」欄
* description を設定する場所:title は ページの「抜粋」欄
* テーマ・CSS のソース:[ローカルのパス]
* 前回のレポート:[パス]
の全ページを、SEOの観点でチェックしてください。
【進め方】
・まず sitemap.xml(または wp-sitemap.xml)とグローバルナビ・フッターから、チェック対象のURL一覧を作成する
(投稿は最新3件と一覧ページ。カテゴリー・タグ・検索結果は対象外)
・1ページ開いたら、ソースとコンソールから【チェック1〜9】の項目をまとめて取得する
(同じページを、項目ごとに何度も開き直さない)
・HTTPヘッダーとステータスコードは、curl -I で取得する
curl が使えない環境では、Python の標準ライブラリ(urllib)などで取得する。リダイレクトは追わない(301 と 302 を区別するため)
・前回のレポートがある場合は、前回の指摘が直っているか、新しい問題が出ていないかを、項目ごとに比べる
・このタスクは読み取り専用:サイトやサーバー上のファイルの変更、管理画面での編集、フォーム送信はしない
ローカルのソースも、読むだけにする
・Search Console など、ログインが必要なツールは対象外
---
【チェック1】title / meta description
各ページのソースから title と meta description を取得して、一覧にしてください。
判定の目安:
・title:未設定/空/40文字超(検索結果で省略される)
・title:ページごとに固有か(重複なし)、サイト名の表記が統一されているか、主要なキーワードが前半にあるか
・description:未設定/150文字超は指摘
・description:ページごとに固有か、そのページの内容を具体的に表しているか
・meta description が、1ページに複数出力されていないか(テーマと SEO プラグインの両方が出している、など)
・トップページの title が、description のような長文になっていないか
**未設定・不適切なページには、改善案を提案してください。**
(重要度の高くないページは、無視して可)
・ページ本文を読んで、title案と description案を、各ページ1案ずつ作成する
・本文に書かれている事実だけを使う(実績・数値・サービス名を創作しない)
・title案は、「title の基本形」に合わせる。主要キーワードを前半に置く
・description案は、全角70.5文字まで。そのページで何がわかるかを具体的に書く
・「設定する場所」に、そのまま貼れる文面と文字数を書く
---
【チェック2】見出し・キーワード
・h1 は、1ページに1つか。ページの内容を表しているか
(h1 が画像の場合は、alt が空でなく適切か。h1 が無いページは指摘する)
・見出しの階層(h1 → h2 → h3)に飛びがないか。装飾だけが目的の見出しがないか
・各ページの「主要キーワード案」を3〜5語挙げ、title / h1 / description / 本文での出現を確認する
・検索する人が使いそうな言い換え語が、本文のテキストに入っているか
(例:「採用情報」としか書かれていないページに、「求人・求職・募集」などの語がない)
・重要な言葉が、画像の中の文字だけで、テキストとして存在しないページを指摘する
(補足するテキストや alt の案も出す)
・社名・サービス名の別表記(上の「別表記」)が、サイト内のどこにもテキストで出てこないか
・本文への追記案は「保留案」として分けて書く。本文に無い事実(実績・サービス・数値)は足さない
---
【チェック3】画像
・意味のある画像で、alt が無い/空/ファイル名のままになっているもの
(装飾目的の画像は alt="" でよい)
・転送サイズが大きい画像(400KB超)の一覧。実寸(px)と表示サイズも書き、表示サイズより大幅に大きいものを指摘する
・ファーストビューの主要画像(LCP になりそうな画像)に `fetchpriority="high"` が付いているか
loading="lazy" や、JS による遅延読み込み(data-src など)になっていないか
・ファーストビュー以外の画像(関連記事・前後の記事のサムネイルなど)に、`fetchpriority="high"` が付いていないか(WordPress が自動で付けることがある)
---
【チェック4】構造化データ(JSON-LD)
各ページの `<script type="application/ld+json">` を取得して、確認してください。
・JSON として正しいか(コンソールで JSON.parse して確認)
・ページごとに、次のものが出力されているか
- トップ:WebSite(name・alternateName)。会社情報を出している場合は Organization / Corporation
- 投稿ページ:Article 系(headline・datePublished・author・image)
- トップ以外:BreadcrumbList
- 404・検索結果:出力されない
・BreadcrumbList の項目(名前・URL・段数)が、画面に表示しているパンくずと一致しているか
・値に次のものが混ざっていないか
- `[company_name]` のような未置換のショートコード
- `<` `&` などのHTMLエンティティの文字列
- `//` の重複したURL
・代表3ページ(トップ・下層1ページ・投稿1ページ)は、Googleのリッチリザルトテスト
(https://search.google.com/test/rich-results)にかけて、エラー・警告を記録する
(実行できない場合や、前回から JSON-LD が変わっていない場合は省略してよい。省略した理由を書く)
---
【チェック5】OGP・SNS
・og:title / og:description / og:image / og:url / og:type / twitter:card が設定されているか
・og:image のURLが、実際にアクセスできるか(200)。サイズは1200×630px前後か
・og:description が、本文の切り出しになっていないか
(空白・改行が大量に入っている、「ページをダウンロード」のような、ページ内の操作文言が混ざっている)
・og:url が、canonical と一致しているか
---
【チェック6】インデックス制御・URL
・meta robots と X-Robots-Tag(HTTPヘッダー)で、意図しない noindex が付いていないか
(カテゴリー・タグ・検索結果・サンクスページの noindex は想定内)
・canonical:自分自身を向いているか。http/https・www・末尾スラッシュが統一されているか。canonical が複数ないか
・robots.txt:存在するか。`Disallow: /` がないか。sitemap の記載があるか
・XMLサイトマップ:存在するか。noindex や 404 のURLが含まれていないか。主要ページが含まれているか
使っていないサイトマップ(Googleニュース用など)が、robots.txt やサイトマップの一覧に載っていないか
・URLの正規化:http → https、www の有無、末尾スラッシュの有無が、301で統一されているか
・存在しないURLにアクセスして、404 のステータスコードが返るか(200 を返す soft 404 でないか)
404ページから、主要ページへ戻れるか
---
【チェック7】内部リンク
・グローバルナビにある主要ページが、トップから辿れるか
・サイトマップにあるのに、どのページからもリンクされていないページ(孤立ページ)
・内部リンクのアンカーテキストが、リンク先の内容を表しているか
・下層ページから、お問い合わせ・採用などの主要な導線へ辿れるか
・ヘッダー・フッターのリンクが、リダイレクトされるURL(末尾スラッシュなし など)になっていないか
---
【チェック8】表示速度・モバイル・Lighthouse
・viewport の meta タグがあるか。スマホ幅(375px前後)で、横スクロールが出ないか
・代表3ページ(トップ・下層1ページ・投稿1ページ)を Lighthouse(モバイル)で測定して、
4つのスコア(パフォーマンス・ユーザー補助・おすすめの方法・SEO)と、主な改善提案を記録する
(実行できない場合は、PageSpeed Insights(https://pagespeed.web.dev/)の結果を転記する)
・ユーザー補助・おすすめの方法で不合格の項目は、該当する要素と原因まで調べる
原因が、テーマ・プラグイン・外部ライブラリのどれから出ているかも書く
(例:コンソールのエラー、スライダーのライブラリが付ける ARIA 属性)
・計測できない場合(API の上限など)は「未計測」と書いて、ユーザーに計測を頼む。数値を推測で埋めない
・画像やCSSを差し替えた直後は、キャッシュで古い結果が出ることがある
結果に表示される計測時刻と、ファイルの更新日時(Last-Modified)を見比べる
---
【チェック9】コントラスト比(ユーザー補助)
※ 検索順位への直接の影響は小さい。PageSpeed Insights の「ユーザー補助」の減点
(背景色と前景色には十分なコントラスト比がありません)の原因を洗い出すためのチェック。
基準(WCAG 2.1 AA):
・通常のテキスト:4.5:1 以上
・大きいテキスト(24px以上、または太字で18.66px以上):3:1 以上
・対象外:無効状態のボタン、ロゴ、純粋な装飾、画像の中の文字
リンクでない文字(パンくずの現在地、注記など)は、対象外ではない
・hover・focus などの状態は対象外(通常の状態だけを見る)
調べ方:
・全ページを、PC幅(1366px前後)とスマホ幅(375px前後)の両方で調べる(レイアウトが違うため)
ドロワーメニュー(ハンバーガー)は、開いた状態でも、スマホ幅で1回調べる
・チェック8の Lighthouse(または PageSpeed Insights)の「ユーザー補助」の color-contrast の結果を、出発点にする
(上の「既知の指摘」があれば、必ず確認する)
・Lighthouse が測るのは代表ページだけなので、全ページは、コンソールのJSで走査する
- テキストを持つ要素(非表示・サイズ0を除く)について、文字色(getComputedStyle の color。opacity も考慮する)と、
背景色(祖先をたどって、最初の不透明な background-color。半透明は下の色と合成する)を取り、
WCAG の相対輝度の式で、コントラスト比を計算する
- getComputedStyle の色は、rgb() ではなく oklch()・oklab()・color(srgb …) で返ることがある
sRGB に変換してから計算する。変換できない色を、黙って読み飛ばさない
- CSS変数の段階(-500・-600 など)は、名前から想像する明るさと違うことがある(oklch・相対色で作ったパレットなど)
変数名や設計資料ではなく、実際に表示される色で計算する
- 背景が画像・グラデーション・動画・半透明のオーバーレイの場合や、mix-blend-mode・filter・backdrop-filter が
使われている場合は、数値で判定せず「要確認」にする(理由を書く。可能なら、スクリーンショットで目視確認する)
- 同じ要素(同じタグ・クラス)が複数ページに出る場合(ナビ・フッターなど)は、1行にまとめて、出現ページを列挙する
- ブラウザのウィンドウが裏にあると、タイマー(setTimeout)が遅くなり、走査が止まることがある
1ページごとに時間の上限を設け、止まったページは記録して次へ進む
**基準を満たしていない要素には、改善案を提案してください。**
・デザインの印象を大きく変えないよう、色相は保ち、明度(必要なら彩度)だけを調整する。基準を満たす最小の変更にする
・文字色を変える案を優先する(filter で要素ごと暗くすると、画像やボタンまで暗くなるため)
・CSS変数のパレットがある場合は、新しい色を作るより、既存の段階から基準を満たす最小のものを選ぶ
・案の色(HEX)と、案に変えたときのコントラスト比を書く
・プロジェクトのソース(CSS / SCSS)が手元にあれば、検索して、変更する場所(CSS変数・ユーティリティクラス・ファイル名と行)を特定する
(読み取りのみ。ファイルは変更しない)
・同じ変数・クラスを使っている他の要素への影響(件数と主な例)を書く
「その要素だけ変える」案と「変数ごと変える」案の両方がある場合は、両方書く
---
**本番公開後のみ確認する項目(テストサイトでは確認しなくてよい)**
・全ページで noindex が付いていないこと
・canonical・og:url・サイトマップのURLが、本番ドメインになっていること
・robots.txt に、テストサイト用の `Disallow: /` が残っていないこと
---
全ページのチェックが終わったら、以下のフォーマットでまとめて、
「SEOレポート(Claude Code):[サイト名]_YYYY-MM-DD.md」として書き出してください。
判断に迷う箇所は「要確認」にして、理由を書いてください。
**フォーマット**
```markdown
# SEOレポート(Claude Code):[サイト名]_YYYY-MM-DD
実施日:[今日の日付]
対象:[URL] / チェックしたページ数:[N]
## 前回からの変化(前回のレポートがある場合)
| 前回の指摘 | 今回の状態(解消/未対応/悪化) | 備考 |
新しく見つかった問題:
## チェック1:title / meta description
| ページ | URL | title(文字数) | description(文字数) | 判定 |
### 改善案(未設定・不適切なページ)
| ページ | 設定する場所 | title案(文字数) | description案(文字数) | 変更理由 |
## チェック2:見出し・キーワード
| ページ | h1 | 見出しの問題 | 主要キーワード案 | 出現状況 | 不足している語・補足案 |
### 保留案(本文への追記)
| ページ | 追記案 | 根拠(本文のどこに書かれている事実か) |
## チェック3:画像
| ページ | 画像 | 問題内容 | 改善案 |
## チェック4:構造化データ
| ページ | 検出された種類 | JSONの妥当性 | 画面との一致 | 問題内容 |
## チェック5:OGP
| ページ | og:title | og:description | og:image | 問題内容 |
## チェック6:インデックス制御・URL
| 項目 | 状態 | 問題内容 |
## チェック7:内部リンク
| ページ | 問題内容 |
## チェック8:表示速度・モバイル・Lighthouse
| ページ | パフォーマンス | ユーザー補助 | おすすめの方法 | SEO | 計測時刻 | 主な改善提案 |
### ユーザー補助・おすすめの方法の不合格項目
| 項目 | 要素 | 原因(テーマ/プラグイン/ライブラリ) | 改善案 |
## チェック9:コントラスト比
### 基準を満たしていない要素(同じ要素は1行にまとめる)
| 要素(タグ・クラス) | テキスト例 | 文字色 | 背景色 | 比(必要な比) | 画面幅(PC/SP) | 出現ページ |
### 数値で判定できなかった要素(要確認)
| 要素(タグ・クラス) | ページ | 理由(背景が画像・mix-blend-mode など) | 目視での所感 |
### 改善案
| 要素(タグ・クラス) | 現在の色 → 案(案の比) | 変更する場所(変数・クラス・ファイル) | 他の要素への影響 |
## 総括(優先度の目安)
**要修正(明確な不具合)**
**改善提案(効果が見込める順)**
※ チェック9(コントラスト)は「ユーザー補助の指摘」として、改善提案の最後に分けて書く(SEOの順位には直接影響しない)
**要確認**
**問題なし**
**今回できなかったこと**(未計測・省略した項目と理由)
```
問題なければ「問題なし」と記載してください。
ポイント
- 読み取り専用にする:
--dangerously-skip-permissionsは、確認なしでコマンドを実行します。サイトやファイルを変更しないことを、指示文の先頭で明記します - 1ページ1回で全項目を取る: 項目ごとに開き直すと、時間も、AIが覚えておく量も増えます
- 改善案までセットで出させる: description が未設定のページには、title案と description案を出させます
指示文② Claude for Chrome(主要ページごと)
ブラウザでチェックしたいページを開いた状態で、サイドパネルから実行します。ソースコードは見られないので、画面に表示されている内容だけで判断させます。
ページごとに実行するのが確実です。全ページではなく、トップ・主要な事業ページ・採用ページなど、5〜10ページに絞ります。
サイト名:[サイト名]
URL: https://mysite.jp
今開いているページを、検索する人の視点でチェックしてください。
(ソースコードは見られないので、画面に表示されている内容だけで判断してください)
【チェック1】検索意図
・このページが、検索する人のどんな疑問・目的に答えているか(1〜2文)
・このページを探す人が使いそうな検索キーワードを、5つ挙げる
【チェック2】キーワードと言い換え語
・上の検索キーワードが、見出し・本文にテキストで入っているか
・言い換え語が不足していないか
(例:「採用情報」としか書かれていない → 求人・募集・求職)
・重要な言葉が、画像の中の文字だけで、テキストとして存在しないものはないか
【チェック3】見出しと構成
・ページ冒頭で、何のページかが3秒で伝わるか
・見出しの階層が自然か(ページの主題を表す大見出しがあるか)
・内容が不足している箇所、他のページと重複していそうな箇所
【チェック4】信頼性・導線
・会社名・所在地・連絡先・実績など、信頼につながる情報が、ページ内(またはフッター)にあるか
・次の行動(お問い合わせ・資料請求・採用など)への導線が、見つけやすいか
【チェック5】title・description の改善案
・このページの内容にふさわしい title案(全角30文字前後)と description案(全角100〜120文字)を、1案ずつ
・本文に書かれている事実だけを使う(実績・数値を創作しない)
・title案は、「title の基本形」に合わせる
---
以下のフォーマットでまとめてください。
**フォーマット**
```markdown
# SEOレポート(Claude for Chrome):[ページ名]_YYYY-MM-DD
ページ:[ページ名]([URL])
## チェック1:検索意図
- このページが答える疑問:
- 検索キーワード案:
## チェック2:キーワードと言い換え語
| キーワード・言い換え語 | 本文での出現 | 補足案 |
## チェック3:見出しと構成
- 問題あり / 問題なし(内容)
## チェック4:信頼性・導線
- 問題あり / 問題なし(内容)
## チェック5:title・description の改善案
| 項目 | 案(文字数) |
| title案 | |
| description案 | |
## 総括
**要修正** / **改善提案** / **問題なし**
```
問題なければ「問題なし」と記載してください。
ポイント
- 検索キーワード案を、先に出させる: 「何で探されるページか」を言葉にしてから、本文にその語があるかを確認します
- 画像の中の文字を、疑う: バナーや見出し画像に焼き込んだ文字は、検索語として読まれにくくなります
- 改善案は、Claude Code の案と見比べる: 両方の案を見て、事実と合っているか、自分で判断します
よく見つかる問題
実際のサイトを確認していて見つけた問題から、チェック項目を作りました。
| 問題 | なぜ問題か | 拾うチェック |
|---|---|---|
| 公開後も noindex が残っている | 全ページが、検索結果に出ない | 6 |
| description が未設定、または「〇〇ページです。」だけの定型文 | 検索結果の説明が薄く、クリックされにくい | 1 |
| トップの title が、description のような長文になっている | 検索結果で、途中が省略される | 1 |
| h1 が無い、または画像だけで alt が空 | ページの主題が、伝わらない | 2 |
| 重要な言葉が、画像の中の文字だけ | 検索語として読まれにくい | 2 |
| og:description に、空白や「ページをダウンロード」が混ざる | SNSで共有されたときの説明が、崩れる | 5 |
| 構造化データのパンくずが、画面と食い違っている/画面に無い | 表示している内容と、一致していない | 4 |
構造化データの値に、[company_name] や < が混ざる |
値が正しく伝わらない | 4 |
| canonical が、http・www・末尾スラッシュの違うURLを向いている | 同じページが、別のURLとして扱われる | 6 |
| サイトマップに、404 や noindex のURLが含まれている | 検索エンジンに、不要なURLを伝えてしまう | 6 |
テスト用の Disallow: / が、robots.txt に残っている |
クロールが、拒否される | 6 |
レポートの読み方
総括は、3つに分かれます。
| 区分 | 対応 |
|---|---|
| 要修正(明確な不具合) | 先に直す。noindex・canonical の誤り・不正なJSON・404のURLなど |
| 改善提案(効果が見込める順) | description の追加、title の見直しなど。上から順に対応する |
| 要確認 | 意図した仕様かを、自分で判断する |
改善案の title と description は、そのまま使わず、事実と数値を自分で確認してから反映します。
手動で確認するもの
AIに任せにくい項目は、手動で確認します。
- Search Console: サイトの登録、サイトマップの送信、URL検査、インデックスの状況、検索クエリ
- GA4・GTM: タグの出力は、Claude Code で確認できます。計測が正しく動いているかは、リアルタイムレポートで確認します
- Googleビジネスプロフィール: 登録、情報の更新
- 画像に焼き込まれた文字: 画像の中の数値や固有名詞の確認
- 意図した仕様かの判断: 特殊な表記や、意図的な noindex など
推奨フロー
| タイミング | やること |
|---|---|
| 公開前(テストサイト) | 校正(誤字・表記ゆれ・レイアウト・リンク)。title・description を、先に設計しておく |
| 公開直後(本番サイト) | ① Claude Code でSEOチェック(全ページ)。特に noindex・canonical・サイトマップ・robots.txt。② Search Console に登録して、サイトマップを送信 |
| 公開後1〜2週間 | Claude for Chrome で、主要ページの内容を確認。Search Console で、インデックスの状況を確認 |
| 定期的(四半期など) | Claude Code でSEOチェックを再実行して、前回のレポートと見比べる |
レポートのファイル名に日付を入れておくと、前回との差分を確認できます。
注意
/chrome連携や Claude for Chrome は、機能や仕様が変わる可能性があります。最新の情報は、公式ドキュメントで確認してください- AIの判定は、絶対ではありません。迷う箇所は「要確認」にして、自分で判断します
--dangerously-skip-permissionsは、信頼できる環境で、読み取り専用の指示とあわせて使ってください
まとめ
- SEOチェックは、本番サイトが中心。校正(テストサイト)とは、分けて行う
- Claude Code は、ソース・構造・全ページ。Claude for Chrome は、読者の視点で内容を見る
- 最初に Claude Code で全ページを一括チェックして、主要ページだけ Claude for Chrome で確認する
- 改善案は、事実を確認してから反映する
- Search Console など、ログインが必要なものは、手動で確認する
まずは、自分のサイトで、noindex と title・description の2つだけでも確認してみてください。
関連記事
Claude for Chrome × Claude Code で、Webサイトを校正する方法|プロンプトつき実践ガイド | CODE-PLUS(コードプラス)