respira-site-audit について
Respira による WordPress サイト監査をエージェントに案内するスキルです。適切な分析ツールの選択、指摘事項の優先順位付け、セキュリティ監査の範囲と制限の報告を支援します。
主な機能
- 01単一ページとサイト全体の監査手順
- 02SEO、AEO、アクセシビリティ、性能の確認
- 03重大度に基づく指摘の優先順位付け
- 04セキュリティ監査の範囲と不足の報告
- 05ビルダーに応じた修正案内
活用シーン
- 01公開ページの SEO とアクセシビリティの監査
- 02サイト全体の問題を整理して修正を優先
- 03スキャン制限を明記したセキュリティ報告
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ respira-press/ agent-skills-wordpress --skill respira-site-auditインストール後、Claude Code で/respira-site-auditを入力して読み込まれたか確認します。
詳細
Respira サイト監査
よくある間違い
| 間違い | 適切な方法 |
|---|---|
| 監査対象のページを確認せずにアナライザーを実行する | 必ず対象を確認します。サイト全体(すべての公開ページ)か、特定のページ URL または ID を指定します。 |
| 優先順位を付けずにアナライザーの生出力を報告する | 検出結果を重要度(CRITICAL、WARNING、SUGGESTION)別に分類し、すぐに対応できる項目を最初に提示します。 |
| 1 つだけ必要なのに、すべてのアナライザーを順番に実行する | 質問に合ったアナライザーを選びます。ユーザーが SEO についてのみ尋ねている場合は、respira_analyze_seo を実行し、ほかは省略します。 |
要素レベルの問題を報告する前に respira_get_builder_info を実行しない | ビルダーの種類によって可能な修正が異なります。Elementor、Divi 4、Divi 5、Bricks、Beaver、Oxygen では、それぞれ修正方法が異なります。 |
| AEO と SEO を同じものとして扱う | SEO は検索順位を対象とします。AEO は AI が生成する回答を対象とします。両アナライザーは異なるシグナルをカバーしており、通常は両方を実行します。 |
| 監査の前にページが公開済みかどうかを確認しない | 下書きや非公開のページでは、結果が不完全になることがあります。まず status: publish を確認します。 |
必要なのが構造だけなのに extract_builder_content を使う | 「このページに何があるか」を確認するには respira_get_page_outline を使います。こちらは軽量で、各行に主要な見出しも含まれます。 |
| セキュリティプラグインがインストールされていることを理由に、サイトが安全だと断言する | respira_run_security_audit を実行し、確認した内容と確認できなかった内容を報告します。部分的なスキャンや、実施できなかった脆弱性チェックを「問題なし」としてはなりません。 |
respira_get_core_web_vitals の結果を実ユーザーデータとして引用する | これは静的解析に基づくヒューリスティックな推定値です。Lighthouse のラボデータと CrUX のフィールドデータには respira_run_pagespeed_audit を使います。 |
入力
- 対象:特定のページ URL、ページ ID、または「サイト全体」。
- 範囲:実行するアナライザー。デフォルトでは 8 つすべてを実行し、サイト全体を対象とする場合はセキュリティ監査も実行します。
- 出力形式:ユーザー向けの概要、または CI / CD パイプライン向けの JSON。
ワークフロー
単一ページの監査
respira_get_site_context。サイト URL、有効な SEO プラグイン(RankMath、Yoast、AIOSEO、SEOPress)、有効なビルダー、WooCommerce の有無を確認します。respira_get_builder_info。要素レベルの修正案を提示するため、ビルダーの種類を確認します。- 構造について説明する必要がある場合は
respira_get_page_outlineを実行します。 - 可能であれば、アナライザーを並行して実行します。
respira_analyze_seo。タイトル、メタディスクリプション、見出し、内部リンク、canonical。respira_analyze_aeo。構造化コンテンツ、FAQ スキーマ、回答ボックスのシグナル。respira_analyze_readability。Flesch スコア、文の長さ、受動態。respira_analyze_performance。読み込み時間、画像サイズ、レンダリングを妨げるリソース。respira_scan_page_accessibility。WCAG 2.1 AA 違反、代替テキスト、コントラスト。respira_analyze_images。画像ごとの容量、形式、過剰サイズの倍率。respira_check_structured_data。ページごとの Schema.org の有無。respira_run_pagespeed_audit。PageSpeed Insights:Lighthouse のラボ指標、および Google が URL のデータを公開している場合は CrUX のフィールドデータ(p75 における LCP、INP、CLS)。
- 検出結果を重要度順にまとめます:CRITICAL → WARNING → SUGGESTION。
- 優先順位を付けた修正リストを作成します。構造的な変更よりも先に、代替テキストや不足しているメタ情報など、すぐに対応できる項目を挙げます。
- 報告します:各分野の総合スコアと、各分野の上位 3 件の修正項目。
サイト全体の監査
status: publishを指定してrespira_list_pagesを実行します。公開済みページの ID をすべて収集します。- 各ページ、または代表的なサンプルページについて、上記の単一ページのワークフローを実行します。
- サイト全体の概要として、パフォーマンスが最も低いページ、最も多い問題の種類、全体的なスコア帯をまとめます。
セキュリティ(サイト全体の監査、またはセキュリティの話題が出た場合)
respira_run_security_auditはページごとではなく、サイトごとに1回実行します。プラグイン9.0以降では、読み取りのみを行うdeep_scan: trueを渡します。旧バージョンのプラグインでは、ディープスキャンによって uploads 内に無害なプローブファイルが1つ作成され、削除されるため、事前に確認するか、オフのままにしてください。ここではprobe_uploads_executionを設定しないでください。WordPress Security Review スキルでは、同意を得たうえで要求します。indicators(すべての項目と、それぞれのsummaryおよびエビデンス内のnote)、coverage(チェックされなかった項目)、known_vulnerabilities(プラグイン9.0以降では、status: okは照合が実行され、各一致項目に修正されるバージョンが含まれることを意味します。unavailableまたはnot_runは実行されなかったことを意味します)を確認します。- 深刻度:既知の脆弱性または高深刻度のインジケーターは CRITICAL、中深刻度のインジケーターは WARNING、カバレッジの不足(
executable_file_scanが部分的または未実行、ホストレベルの項目が false)は、未チェックとして明記します。 - カバレッジが部分的な場合、
known_vulnerabilitiesがない場合、またはそのstatusがokでない場合、あるいは高深刻度のインジケーターがある場合は、「安全」「問題なし」「既知の脆弱性なし」と決して書かないでください。「チェックした範囲では問題は見つかりませんでした」と書き、未チェックの項目を明記します。 - 修正は WordPress Security Review スキルの担当です。更新には承認が必要で、一度に1つずつ実行します。また、所有者の同意なしに削除や取り消しを行いません。
RankMath / Yoast との統合
RankMath、Yoast、AIOSEO、または SEOPress が有効な場合(respira_get_site_context で確認できます):
respira_analyze_rankmathは RankMath 独自のフォーカスキーワードスコアと提案を読み取ります。- より詳しい情報を得るため、これらのスコアを
respira_analyze_seoと併せて使用します。代替として実行しないでください。 respira_check_seo_issuesは、有効な SEO プラグイン独自の問題フィードを返します。
ルール
- 必ず最初に
respira_get_site_contextを実行します。プラグインの有無(RankMath、Yoast、WooCommerce、ACF、WPML)によって、関連するツールが変わります。 - セキュリティに関する検出結果は、インストールされているセキュリティプラグインではなく、必ず
respira_run_security_auditから取得します。 - 深刻度の分類:すべての検出結果を CRITICAL(破損または欠落しており、ランキングや UX に悪影響を及ぼす)、WARNING(最適ではないが対処可能)、または SUGGESTION(任意の改善)に分類する必要があります。
- ビルダーを迂回する変更は推奨しないでください。要素レベルの SEO 修正(代替テキスト、見出しの階層構造)には、ビルダーを確認したうえで
respira_find_elementとrespira_update_elementを使用します。 - アクセシビリティの修正には、ツールで対応できる検出結果については、要素を手動で編集するより
respira_apply_accessibility_fixesを優先します。 - パフォーマンスに関する検出結果は参考情報です。これに対処するためにテーマファイルやプラグインを変更しないでください。問題を提示し、適切なプラグインまたはホスティング側の対応を推奨します。
- WPML が有効なサイトでは、監査は言語ごとに行います。実行対象を指定するには
langパラメーターを渡します。
検証
修正を適用した後:
- 問題を検出したアナライザーを再実行します。
- 同じ深刻度で検出結果が表示されなくなったことを確認します。
- SEO の修正については、インデックスの更新とランキングの変化には時間がかかることを伝えます。ユーザーにもその旨を伝えてください。
サイト全体の監査では、修正後にパフォーマンスが最も低かった3ページを再監査し、スコアの変化を確認します。
エスカレーション
次の場合は作業を中断し、ユーザーに確認してください。
- 公開済みページが200ページを超えるサイトで、依頼が「サイト全体の監査」である場合。サンプルとして何ページを確認するか尋ねます。
- CRITICAL の検出結果への対応に構造変更が必要な場合(どのページにも H1 がない、
<html lang>属性がない)。こうした対応には、Respira の範囲を超えるテーマやプラグインの変更が必要になることがよくあります。 respira_analyze_performanceが LCP > 4s または CLS > 0.25 を返す場合。優先度が高いことを伝え、開発者に依頼するか確認します。- マルチサイトネットワーク上のサイトで、監査対象が指定されていない場合。サブサイトごとに実行するか、ネットワーク全体で実行するか確認します。
例
目標:ホームページを監査し、SEO と AEO の準備状況を確認します。
1. respira_get_site_context → WordPress 6.9, RankMath active, Elementor 3.21
2. respira_get_builder_info → Elementor, supported
3. respira_analyze_seo → CRITICAL: no meta description | WARNING: 3 images missing alt
4. respira_analyze_aeo → WARNING: no FAQ schema | SUGGESTION: add HowTo schema
5. respira_analyze_rankmath → Focus keyword score: 62/100, improve keyword density
6. respira_scan_page_accessibility → WARNING: 2 buttons have no accessible label
7. respira_run_pagespeed_audit → LCP 2.8s (needs improvement), INP 180ms (good), CLS 0.05 (good)
Report:
CRITICAL → Add meta description (missing entirely)
CRITICAL → Add alt text to 3 hero images
WARNING → Add FAQ schema block for AEO (AI answer-box eligibility)
WARNING → 2 buttons need aria-label for screen readers
WARNING → LCP at 2.8s, target sub-2.5s by deferring the hero video
SUGGESTION → Increase focus keyword density from 0.4% to 0.8%
コメント
Markdown 対応