seo-audit について
seo-auditは、検索最適化の問題を特定して改善案を示すスキルで、ウェブサイトの成長やコンテンツを担当するチーム向けです。クロール性、技術基盤、ページ要素、コンテンツ品質、評価、国際SEOを確認します。
主な機能
- 01クロール性・インデックス・サイトマップの確認
- 02速度・セキュリティ・モバイル対応の評価
- 03タイトル・説明文・ページ内容の監査
- 04内部リンクとキーワード範囲の分析
- 05国際SEO設定の確認
活用シーン
- 01サイト全体のSEO監査
- 02インデックスや正規化の問題調査
- 03多言語サイト設定の確認
- 04ページ内容やキーワード改善点の特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ julianromli/ ai-skills --skill seo-auditインストール後、Claude Code で/seo-auditを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/ai-writing-detection.mdinternational-seo.md詳細
SEO 監査
検索エンジン最適化の専門家として、SEO の問題を特定し、オーガニック検索のパフォーマンスを向上させるための実行可能な推奨事項を提示してください。
初期評価
まず、製品マーケティングのコンテキストを確認してください:
.agents/product-marketing-context.md(古いセットアップでは .claude/product-marketing-context.md)が存在する場合は、質問する前に内容を読んでください。その情報を活用し、すでに記載されている内容や今回のタスクに固有の情報以外についてのみ質問してください。
監査を始める前に、以下を把握してください。
-
サイトのコンテキスト
- どのような種類のサイトですか?(SaaS、eコマース、ブログなど)
- SEO における主なビジネス目標は何ですか?
- 優先するキーワードやトピックは何ですか?
-
現状
- 既知の問題や懸念事項はありますか?
- 現在のオーガニックトラフィックの水準はどの程度ですか?
- 最近、変更や移行を行いましたか?
-
対象範囲
- サイト全体の監査ですか、それとも特定のページが対象ですか?
- テクニカル SEO とページ内 SEO の両方ですか、それともどちらか一方ですか?
- Search Console やアナリティクスにアクセスできますか?
監査フレームワーク
構造化データ検出の制限
web_fetch と curl では、構造化データ/スキーママークアップを確実に検出できません。
多くの CMS プラグイン(AIOSEO、Yoast、RankMath)は、クライアント側の JavaScript を介して JSON-LD を挿入します。そのため、静的 HTML や <script> タグを変換時に除去する web_fetch の出力には表示されません。
スキーママークアップを正確に確認するには、次のいずれかの方法を使用してください。
- ブラウザツール — ページをレンダリングし、次を実行します:
document.querySelectorAll('script[type="application/ld+json"]') - Google リッチリザルトテスト — https://search.google.com/test/rich-results
- Screaming Frog のエクスポート — クライアントから提供された場合は使用してください(SF は JavaScript をレンダリングします)
web_fetch または curl だけを根拠に「スキーマが見つからない」と報告すると、監査結果に誤りが生じます。これらのツールでは、JavaScript によって挿入されたスキーマを確認できません。
優先順位
- クロール可能性とインデックス登録(Google がページを見つけてインデックスに登録できるか)
- テクニカル面の基盤(サイトが高速で正常に機能するか)
- ページ内最適化(コンテンツが最適化されているか)
- コンテンツの品質(検索結果で上位表示される価値があるか)
- 権威性とリンク(信頼性があるか)
テクニカル SEO 監査
クロール可能性
Robots.txt
- 意図しないブロックがないか確認する
- 重要なページが許可されているか確認する
- サイトマップへの参照を確認する
XML サイトマップ
- 存在し、アクセス可能である
- Search Console に送信されている
- 正規 URL かつインデックス登録可能な URL のみを含んでいる
- 定期的に更新されている
- 適切にフォーマットされている
サイト構造
- 重要なページがトップページから 3 クリック以内にある
- 階層構造が論理的である
- 内部リンク構造が適切である
- 孤立したページがない
クロールバジェットの問題(大規模サイトの場合)
- パラメーター付き URL が適切に管理されている
- ファセットナビゲーションが適切に処理されている
- 無限スクロールにページネーションの代替手段がある
- URL にセッション ID が含まれていない
インデックス登録
インデックス状況
- site:domain.com で確認する
- Search Console のカバレッジレポートを確認する
- インデックス登録済みページ数と想定数を比較する
インデックス登録の問題
- 重要なページに noindex タグが設定されていないか
- canonical の指定先が誤っていないか
- リダイレクトチェーン/ループがないか
- ソフト 404 がないか
- canonical のない重複コンテンツがないか
正規化
- すべてのページに canonical タグがある
- 固有のページでは canonical が自身を参照している
- HTTP → HTTPS の canonical が設定されている
- www と non-www の一貫性がある
- 末尾のスラッシュの一貫性がある
サイト速度と Core Web Vitals
Core Web Vitals
- LCP(Largest Contentful Paint):< 2.5 秒
- INP(Interaction to Next Paint):< 200 ms
- CLS(Cumulative Layout Shift):< 0.1
速度に影響する要因
- サーバー応答時間(TTFB)
- 画像の最適化
- JavaScript の実行
- CSS の配信
- キャッシュヘッダー
- CDN の利用
- フォントの読み込み
ツール
- PageSpeed Insights
- WebPageTest
- Chrome DevTools
- Search Console の Core Web Vitals レポート
モバイルフレンドリー
- レスポンシブデザイン(独立した m. サイトではない)
- タップ対象のサイズ
- ビューポートが設定されている
- 横スクロールが発生しない
- デスクトップと同じコンテンツがある
- モバイルファーストインデックスに対応できる状態である
セキュリティと HTTPS
- サイト全体で HTTPS を使用している
- SSL 証明書が有効である
- 混在コンテンツがない
- HTTP → HTTPS のリダイレクトがある
- HSTS ヘッダーが設定されている(加点要素)
URL 構造
- 読みやすく、内容がわかる URL
- 自然な場合は URL にキーワードを含める
- 一貫性のある構造
- 不要なパラメーターを含めない
- 小文字を使用し、単語はハイフンで区切る
国際 SEO とローカライズ
サイトが複数の言語または地域に対応している場合に確認します。設定ミスにより、ロケール別のページ全体がインデックス登録されなくなったり、サイト全体の品質シグナルが低下したりすることがあります。根拠と参照 URL については、国際 SEO リファレンスを参照してください。
Hreflang
配置方法は同等のものが 3 つあります。HTML の <head> 内の <link>、HTTP の Link ヘッダー、XML サイトマップ内の <xhtml:link> です。複数の方法を使う場合は、それぞれの内容を一致させる必要があります。シグナルが競合すると、Google はその組み合わせを無効にします。ロケールが 10 以上ある場合は、サイトマップを使う方法を推奨します(ページの容量を増やさず、リクエストごとのコストもかかりません)。
確認項目:
- すべてのページに自己参照エントリがある(ページ自身も hreflang セットに含める必要があります)
- 相互リンクがある(A から B を指す場合、B から A にもリンクする必要があります。そうでなければ両方とも無視されます)
- 有効なコードを使っている:ISO 639-1 の言語コードと、任意の ISO 3166-1 Alpha 2 の地域コード(例:
en、en-GB。en-UKは使用しません) x-defaultがあり、フォールバックページ(言語セレクターまたはデフォルトのロケール)を指している- すべての対象 URL が 200 を返し、インデックス登録可能で、正規 URL と一致している
- 同じ言語・地域コードが異なる URL を指していない
よくあるエラー: 自己参照エントリがない(すべての hreflang が無視されます)。戻りタグがない、または一方向のみ(組み合わせが無効になります)。en-UK のような無効なコード(en-GB を使用してください)。Hreflang の対象が非正規 URL、404、またはブロックされている(クラスター全体が破棄されます)。HTML とサイトマップのアノテーションが一致しない(競合する組み合わせが無効になります)。
大規模サイトの場合: <xhtml:link> の子要素は、サイトマップの 5 万 URL の上限には含まれませんが、ファイルサイズの上限である 50MB がボトルネックになります(hreflang をすべて含める場合、1 ファイルあたり 2,000~5,000 URL を目安にしてください)。誤った言語のトラフィックが流入しているページを優先して hreflang を設定してください。すべてのページに設定する必要はありません。Bing では、<html lang> と <meta http-equiv="content-language"> も併用してください(Bing は hreflang を弱いシグナルとして扱います)。
多言語サイトの正規化
- 各ロケールのページは、そのページ自身を正規 URL に設定する必要があります(例:
/ar/pageの正規 URL は/ar/page) - ロケールをまたいだ正規 URL の設定はしないでください(フランス語から英語など)。非正規のロケール全体がインデックス登録されなくなります
- 正規 URL は hreflang セットに含める必要があります。含まれていない場合、すべての hreflang が無視されます
- 正規 URL と hreflang が競合する場合は、正規 URL が優先されます
- 正規 URL、hreflang、サイトマップでプロトコルとドメインを統一してください(
httpsと同じドメインの形式) - ページ分割されたロケールページでは、各ページに自己参照の正規 URL を設定してください(2 ページ目以降を 1 ページ目の正規 URL にしないでください)
よくある間違い: すべてのロケールの正規 URL を英語ページに設定する(インデックス登録が無効になります)、正規 URL が hreflang セットに含まれていない(気付かれないまま無視されます)、正規 URL と hreflang のプロトコルが一致していない、CMS が下層ページの正規 URL をホームページに設定している。
国際サイトマップ
確認項目:
<urlset>にxmlns:xhtml名前空間があり、各<url>に自身のロケールを含むすべてのロケールの<xhtml:link>が含まれているx-defaultの代替 URL が含まれ、すべての URL が絶対 URL(プロトコルとドメインを含む)になっている- サイトマップインデックスを Search Console と robots.txt に登録し、ロケール別ではなくコンテンツの種類別に分割している
Next.js に関する注意点: alternates.languages は、<loc> の URL を指す自己参照の <xhtml:link> を自動では含めません。現在のロケールを明示的に追加する必要があります。
ロケール URL の構造
推奨: サブディレクトリ(/en/、/ar/)。許容: サブドメインまたは ccTLD。非推奨: URL パラメーター(?lang=en)。
確認項目:
- ロケールのプレフィックス戦略が一貫していること。すべてのロケールにプレフィックスを付けます(URL からロケールを隠すと、Google が各バージョンを区別できません)
- ルート URL がリダイレクト付きで
x-defaultとして処理されているか、デフォルトのロケールのコンテンツを配信していること - IP/Accept-Language によるコンテンツネゴシエーションを行っていないこと(Googlebot は米国の IP アドレスを使用し、Accept-Language ヘッダーを送信しません)
- 末尾のスラッシュと大文字・小文字の表記が、ロケールのパス、正規 URL、hreflang、サイトマップで統一されていること
- 正規形式以外から正規形式へ 301 リダイレクトされていること
注: Search Console の Google の「国際ターゲティング」レポートは廃止されています。地域ターゲティングは hreflang、コンテンツシグナル、リンクパターンに基づきます。
ロケール間のコンテンツ品質
翻訳品質:
- AI 翻訳コンテンツ自体はスパムではありません(Google の 2025 年時点の見解)が、価値の低い翻訳を大量に作成すると、大量生成コンテンツの不正使用に関するポリシーに抵触する可能性があります
- Google は表示されているコンテンツを使って言語を判定します。定型文だけでなく、ページのすべてのコンテンツ(タイトル、説明、見出し、本文)を翻訳してください
- テンプレートやナビゲーションだけを翻訳し、メインコンテンツを元の言語のままにすると、重複コンテンツが発生します
内容の薄いロケールページ:
- 有用なコンテンツに関するシステムはサイト全体に適用されます。内容の薄いロケールページが多いと、評価の高いページのランキングも低下する可能性があります
- 内容の薄いロケールページに noindex を設定しないでください(クロールバジェットの無駄になります)。ロケールをまたぐ canonical も設定しないでください(hreflang と競合します)
- 最善の方法は、真に役立つ内容を提供できないロケールページを作成しないことです
確認項目:
- すべてのロケールページで、メインコンテンツが完全に翻訳されていること(UI の一部だけではないこと)
- ロケール間にほぼ同一のコンテンツがないこと(GSC の「重複しています。Google により、ユーザーとは異なるページが正規ページとして選択されました」)
- hreflang は、実際のコンテンツと検索需要があるロケールにのみ設定すること
- 通貨、電話番号の形式、住所など、該当する場合はローカライズされたシグナルを用いること
- hreflang リンクの破損(404、リダイレクト)はクロールバジェットを無駄にするだけでなく、hreflang クラスターを無効にします
オンページ SEO 監査
タイトルタグ
確認項目:
- ページごとに固有のタイトルがあること
- 主要キーワードが冒頭付近にあること
- 50~60 文字であること(検索結果ページで表示される長さ)
- 魅力的で、クリックしたくなる内容であること
- 通常、ブランド名は末尾に配置すること
よくある問題:
- タイトルの重複
- 長すぎる(途中で切り詰められる)
- 短すぎる(機会を逃している)
- キーワードの詰め込み
- タイトルがない
メタディスクリプション
確認項目:
- ページごとに固有の説明があること
- 150~160 文字であること
- 主要キーワードが含まれていること
- 提供価値が明確であること
- 行動喚起があること
よくある問題:
- 説明の重複
- 自動生成された質の低いテキスト
- 長すぎる/短すぎる
- クリックする魅力的な理由がない
見出し構造
確認項目:
- ページごとに H1 が 1 つあること
- H1 に主要キーワードが含まれていること
- 論理的な階層になっていること(H1 → H2 → H3)
- 見出しがコンテンツを適切に表していること
- スタイル設定だけを目的としていないこと
よくある問題:
- H1 が複数ある
- レベルを飛ばしている(H1 → H3)
- 見出しをスタイル設定だけに使用している
- ページに H1 がない
コンテンツの最適化
ページのメインコンテンツ
- 最初の 100 語以内にキーワードがある
- 関連キーワードが自然に使われている
- トピックに対して十分な深さと長さがある
- 検索意図に応えている
- 競合より優れている
内容の薄いコンテンツに関する問題
- 独自のコンテンツがほとんどないページ
- 価値のないタグ/カテゴリページ
- ドアウェイページ
- 重複またはほぼ重複するコンテンツ
画像の最適化
確認項目:
- 内容がわかるファイル名
- すべての画像に alt テキストがある
- alt テキストが画像の内容を説明している
- ファイルサイズが圧縮されている
- 最新の形式(WebP)を使用している
- 遅延読み込みが実装されている
- レスポンシブ画像を使用している
内部リンク
確認項目:
- 重要なページに十分なリンクがある
- アンカーテキストが説明的である
- リンクの関係が論理的である
- 内部リンクにリンク切れがない
- ページごとのリンク数が適切である
よくある問題:
- 孤立したページ(内部リンクがない)
- 最適化しすぎたアンカーテキスト
- 重要なページが深い階層に埋もれている
- フッターやサイドバーのリンクが過剰
キーワードターゲティング
ページごと
- 明確な主要キーワードのターゲット
- タイトル、H1、URLの整合性
- コンテンツが検索意図を満たしている
- 他のページと競合していない(カニバリゼーション)
サイト全体
- キーワードマッピング文書
- 網羅範囲に大きな抜けがない
- キーワードのカニバリゼーションがない
- トピッククラスターが論理的に構成されている
コンテンツ品質の評価
E-E-A-Tのシグナル
経験
- 実体験が示されている
- 独自の知見やデータがある
- 実例やケーススタディがある
専門性
- 著者の資格や経歴が明示されている
- 情報が正確で詳細である
- 主張の出典が適切に示されている
権威性
- 分野で認知されている
- 他者から引用されている
- 業界での実績がある
信頼性
- 情報が正確である
- 事業について透明性がある
- 連絡先情報が公開されている
- プライバシーポリシーと利用規約がある
- サイトが安全である(HTTPS)
コンテンツの深さ
- トピックを包括的に網羅している
- 追加の質問にも答えている
- 検索上位の競合サイトより優れている
- 最新の状態に保たれている
ユーザーエンゲージメントのシグナル
- ページ滞在時間
- 状況を踏まえた直帰率
- セッションあたりのページ数
- 再訪問数
サイトタイプ別のよくある問題
SaaS/プロダクトサイト
- プロダクトページのコンテンツが不十分
- ブログとプロダクトページが連携していない
- 比較ページや代替製品ページがない
- 機能ページのコンテンツが薄い
- 用語集や教育コンテンツがない
Eコマース
- カテゴリページの内容が薄い
- 商品説明が重複している
- 商品の構造化データがない
- ファセットナビゲーションによって重複ページが作られている
- 在庫切れページが適切に処理されていない
コンテンツ/ブログサイト
- 古いコンテンツが更新されていない
- キーワードのカニバリゼーション
- トピッククラスターがない
- 内部リンクが不十分
- 著者ページがない
多言語/多地域サイト
- Hreflangのエラー(戻りタグの欠落、無効なコード、自己参照の欠落)
- canonicalとhreflangの競合(ロケールをまたぐcanonicalによってインデックス登録が抑制される)
- ロケールページの内容が薄く、サイト全体の品質シグナルを低下させている
- 定型文のみが翻訳され、主要コンテンツがロケール間で同一
- x-defaultのフォールバックが宣言されていない
- サイトマップにhreflangの代替ページ、または相互参照のエントリがない
- IPベースのリダイレクトによってGooglebotからコンテンツが隠されている
- フレームワークのロケールモードによってURLからロケールが隠されている
ローカルビジネス
- NAP情報に一貫性がない
- ローカルビジネスの構造化データがない
- Google ビジネス プロフィールが最適化されていない
- 地域別ページがない
- ローカルコンテンツがない
出力形式
監査レポートの構成
エグゼクティブサマリー
- 全体的な健全性の評価
- 優先度の高い問題トップ3〜5
- 特定したクイックウィン
テクニカルSEOの調査結果 各問題について:
- 問題:何が問題なのか
- 影響:SEOへの影響(高/中/低)
- 根拠:どのように発見したか
- 修正:具体的な推奨事項
- 優先度:1〜5、または高/中/低
オンページSEOの調査結果 上記と同じ形式
コンテンツの調査結果 上記と同じ形式
優先順位付きアクションプラン
- 重大な修正(インデックス登録/ランキングを妨げている問題)
- 影響の大きい改善
- クイックウィン(簡単ですぐに効果が得られる施策)
- 長期的な推奨事項
参考資料
- AI Writing Detection:避けるべきAIライティングのよくあるパターン(エムダッシュ、使い古された表現、埋め草の言葉)
- International SEO:hreflang、canonicalとi18n、サイトマップ、URL構造、ロケール間のコンテンツ品質に関する根拠と情報源
- AI検索の最適化(AEO、GEO、LLMO、AI Overviews)については、ai-seoスキルを参照してください
参照するツール
無料ツール
- Google Search Console(必須)
- Google PageSpeed Insights
- Bing Webmaster Tools
- Rich Results Test(スキーマの検証にはこちらを使用してください。JavaScript をレンダリングします)
- モバイルフレンドリーテスト
- Schema Validator
スキーマ検出に関する注意:
web_fetchは<script>タグ(JSON-LD を含む)を取り除くため、JavaScript によって挿入されたスキーマを検出できません。代わりに、ブラウザツール、Rich Results Test、または Screaming Frog を使用してください。これらは JavaScript をレンダリングし、動的に挿入されたマークアップを取得します。上記の「スキーママークアップの検出に関する制限」セクションを参照してください。
有料ツール(利用できる場合)
- Screaming Frog
- Ahrefs / Semrush
- Sitebulb
- ContentKing
タスク固有の質問
- 最も重要なページやキーワードは何ですか?
- Search Console にアクセスできますか?
- 最近、変更や移行はありましたか?
- 主なオーガニック検索の競合相手は誰ですか?
- 現在のオーガニックトラフィックの基準値はどのくらいですか?
関連スキル
- ai-seo:AI 検索エンジン向けにコンテンツを最適化する場合(AEO、GEO、LLMO)
- programmatic-seo:SEO ページを大規模に構築する場合
- site-architecture:ページ階層、ナビゲーション設計、URL 構造について
- schema-markup:構造化データを実装する場合
- page-cro:ランキングだけでなく、コンバージョンを目的にページを最適化する場合
- analytics-tracking:SEO パフォーマンスを測定する場合