mcpField
S
seo-audit

seo-audit

github.com/seo-skillsマーケティング・グロース6551.2k 回インストール2 週間前に更新
リポジトリ

seo-audit について

seo-audit は、SEOmator CLI を使って Web サイトを検査する AI エージェント向けスキルです。技術、コンテンツ、パフォーマンス、セキュリティなどを対象に、影響 URL と修正案を含む重要度別の問題を報告します。

主な機能

  1. 01複数カテゴリのサイト監査
  2. 02健全性スコアと評価の表示
  3. 03重要度別の問題整理
  4. 04影響 URL と修正案の提示
  5. 05複数形式のレポート出力
  6. 06監査結果の比較

活用シーン

  1. 01サイトの SEO と技術状態の確認
  2. 02リンク切れやリダイレクト連鎖の検出
  3. 03構造化データと多言語設定の検証
  4. 04デプロイ前後の監査結果の比較

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/seo-skills/seo-audit-skill --skill seo-audit

インストール後、Claude Code で/seo-auditを入力して読み込まれたか確認します。

同梱ファイルREADME.mdreferences/rules.md

詳細

SEO Audit Skill

SEOmator CLI を使用して、SEO、技術、コンテンツ、パフォーマンス、セキュリティ、JavaScript レンダリング、AI 対応状況についてウェブサイトを監査します。

SEOmator は、20 カテゴリにわたる373 件のルールに照らしてウェブサイトの構造とコンテンツを分析し、包括的なウェブサイト監査を実施します。

重要度、影響を受ける URL、実行可能な修正案とともに、問題の一覧を提示します。

リンク

このスキルでできること

このスキルを使用すると、AI エージェントが20 カテゴリにわたる373 件のルールについてウェブサイトを監査できます。対象には次の項目が含まれます。

  • コア SEO(24 件のルール):正規 URL、インデックス登録ディレクティブ、タイトルの一意性、正規 URL の競合/ループ
  • パフォーマンス(28 件のルール):LCP、CLS、FCP、TTFB、INP、圧縮、キャッシュ、縮小、HTTP/2
  • リンク(27 件のルール):リンク切れ、リダイレクトチェーン、アンカーテキスト、localhost/フラグメントリンク、およびサイトグラフからのクリック深度と内部被リンク(--crawl)
  • 画像(14 件のルール):代替テキスト、寸法、遅延読み込み、最新形式、代替テキストの長さ、背景画像
  • セキュリティ(26 件のルール):HTTPS、HSTS、CSP、外部リンクの安全性、漏えいしたシークレット、SSL の有効期限/プロトコル、Cookie のフラグと有効期間
  • 技術 SEO(18 件のルール):robots.txt、sitemap.xml、URL 構造、404 ページ、ソフト 404、エラーコード
  • クロール可能性(38 件のルール):サイトマップの競合、インデックス登録可能性のシグナル、正規 URL のチェーン、ページネーションの問題、サイトマップの lastmod の品質
  • 構造化データ(19 件のルール):Schema.org マークアップ、Article、Organization、FAQ、Product、Breadcrumb
  • JavaScript レンダリング(16 件のルール):レンダリング後の DOM チェック、生 HTML とレンダリング後の不一致、SSR の検出、コンソールエラー、リソースリクエストの失敗
  • アクセシビリティ(36 件のルール):ARIA ラベル、色のコントラスト、フォームラベル、ランドマーク、タッチターゲット
  • コンテンツ(27 件のルール):単語数、読みやすさ、キーワード密度、重複の検出、ピクセル幅
  • ソーシャル(9 件のルール):Open Graph タグ、Twitter カード、共有ボタン、プロフィールリンク
  • E-E-A-T(16 件のルール):著者表記、引用、信頼性のシグナル、会社概要/お問い合わせページ、YMYL の検出
  • URL 構造(14 件のルール):キーワードを含むスラッグ、ストップワード、大文字、アンダースコア、セッション ID、トラッキングパラメーター
  • リダイレクト(11 件のルール):リダイレクトループ、種類(301/302)、meta refresh、JavaScript リダイレクト、リダイレクト切れ
  • モバイル(12 件のルール):フォントサイズ、横スクロール、インタースティシャル、ビューポート、モバイルファーストでの同等性(コンテンツ、タイトル、正規 URL、構造化データ、リンク)(--mobile)
  • 国際化(13 件のルール):lang 属性、hreflang の検証(戻りリンク、競合、不一致)
  • HTML 検証(11 件のルール):Doctype、文字セット、head の構造、lorem ipsum、複数のタイトル/説明
  • AI/GEO 対応状況(13 件のルール):セマンティック HTML、AI ボットのアクセス、llms.txt、スキーマのずれ
  • 法令遵守(1 件のルール):Cookie の同意

監査ではウェブサイトをクロールし、各ページを監査ルールに照らして分析して、次の内容を含む包括的なレポートを返します。

  • 全体の健全性スコア(0~100)とレターグレード(A~F)
  • カテゴリ別の内訳と、合格/警告/不合格の件数
  • ルールごとに分類された、影響を受ける URL を含む具体的な問題
  • 実行可能な修正案

使用するタイミング

次のような場合にこのスキルを使用してください。

  • Web サイトの SEO の健全性を分析する
  • 技術的な SEO の問題をデバッグする
  • リンク切れやリダイレクトチェーンを確認する
  • メタタグ、canonical URL、構造化データを検証する
  • セキュリティヘッダー、SSL、HTTPS を監査する
  • アクセシビリティへの準拠状況を確認する
  • JavaScript のレンダリングと SSR との互換性を分析する
  • AI/GEO 対応状況(セマンティック HTML、llms.txt、ボットのアクセス)を評価する
  • ページ間の重複コンテンツを検出する
  • hreflang と国際化の設定を検証する
  • HTML ドキュメントの構造と妥当性を確認する
  • 複数の形式でサイト監査レポートを生成する
  • 変更前後のサイトの健全性を比較する

前提条件

このスキルを使用するには、SEOmator CLI がインストールされている必要があります。

インストール
npm install -g @seomator/seo-audit
インストールの確認

seomator がインストールされ、システムの準備ができていることを確認します。

seomator self doctor

次の項目を確認します。

  • Node.js のバージョン(20.3 以降が必要)
  • npm が利用可能であること
  • Core Web Vitals と JS のレンダリング用の Chrome/Chromium
  • ~/.seomator への書き込み権限
  • ローカル設定ファイルの有無

セットアップ

seomator init を実行すると、現在のディレクトリに seomator.toml 設定ファイルが作成されます。

seomator init                    # Interactive setup
seomator init -y                 # Use defaults
seomator init --preset blog      # Blog-optimized config
seomator init --preset ecommerce # E-commerce config
seomator init --preset ci        # Minimal CI config

ディレクトリに seomator.toml がない場合は、監査を実行する前に seomator init -y で作成してください。 通常の seomator init は質問を表示しますが、ターミナルがない場合はファイルを書き込まずに終了コード 0 で終了します。

使用方法

AI エージェントのベストプラクティス

常に --format llm を優先してください。これは AI エージェント向けに特化して設計された、トークン効率の高い XML 出力を提供します(JSON より 50~70% 小さくなります)。

監査する場合:

  1. 正確なパフォーマンスとレンダリングデータを得るには、ローカルの開発サーバーよりも稼働中の Web サイトを優先してください

  2. 監査を高速化するには --no-cwv を使用してください。ただし、実行するとどうなるか把握しておきましょう。ブラウザーでのレンダリングが省略されるため、Core Web Vitals、JavaScript のレンダリングルール、js-console-errors、js-failed-requests、すべての mobile-parity-* ルールは、合格または不合格ではなく未計測として報告されます

  3. 質問に合ったフラグを使用してください。 複数ページまたは複数回のレンダリングが必要なルールは、適切なフラグがないと未計測になります。

    確認する項目次のオプションを付けて実行
    クリック深度、内部リンクの被リンク--crawl(サイトグラフを構築)
    モバイルファーストインデックスとの整合性--mobile(スマートフォンのビューポートで 2 回目のレンダリングを実行)
    JS エラー、サブリソースの読み込み失敗、Core Web Vitalsデフォルト(--no-cwv を省略)
    デプロイによる変更内容デプロイ前後に実行し、その後 seomator compare <domain> を実行
  4. 複数の修正を実施する場合は、修正作業を並行タスクとして割り当ててください

  5. 修正を実施した後は、型チェックとフォーマットを実行してください(tsc、eslint、prettier など)

Web サイトの特定

ユーザーから監査対象の Web サイトが指定されていない場合:

  1. ローカル開発サーバーの設定(package.json のスクリプト、.env ファイル)を確認します
  2. Vercel/Netlify のプロジェクトリンクを探します
  3. 環境変数からデプロイ URL を確認します
  4. 監査する URL をユーザーに尋ねます

ローカルと稼働中の Web サイトの両方を利用できる場合は、正確な結果を得るために稼働中のサイトの監査を提案してください。

基本的なワークフロー
# Quick single-page audit with LLM output
seomator audit https://example.com --format llm --no-cwv

# Multi-page crawl (up to 50 pages)
seomator audit https://example.com --crawl -m 50 --format llm --no-cwv

# Full audit with Core Web Vitals + JS rendering analysis
seomator audit https://example.com --crawl -m 20 --format llm
詳細オプション

特定のカテゴリのみを監査します。

seomator audit https://example.com -c core,security,js --format llm --no-cwv

共有用の HTML レポートを保存します。

seomator audit https://example.com --format html -o report.html

デバッグ用に詳細な出力を表示します。

seomator audit https://example.com --format llm -v

終了コード

エージェントは、「監査に失敗した」場合と「サイトのスコアが低かった」場合を区別できなければなりません。 audit と compare では次のコードを使用します(config や self doctor などのその他のコマンドは、独自のエラーが発生した場合に終了コード 1 を返します)。

コード意味
0成功
1実行は成功しましたが、結果がしきい値を下回っています — audit/analyze のスコアが 70 未満、または compare --fail-on-regression でリグレッションが検出されました
2コマンドの実行に失敗しました:URL に到達できない、HTTP エラー、クロール対象がない、不正な --config パス
130Ctrl-C でキャンセルされました

終了コードがゼロ以外でも、必ずしも失敗とは限りません。 1 は、ツールの実行に成功し、サイトについて何らかの情報を伝えていることを意味します。ジョブを実行できなかったことを示すのは 2 だけです。--format json では、2 の場合、標準出力に構造化エラーも出力され、安定した code フィールドが含まれます(hint は存在する場合のみ表示されます)。

{ "error": true, "code": "http-error", "message": "...", "hint": "...", "timestamp": "..." }

--format llm では、同じエラーが XML 形式になります: <seo-audit ok="false"><error code="http-error"><message>…</message><hint>…</hint></error></seo-audit>。

パーサーが拒否するコマンドライン(不明なフラグ、不正な URL またはオプション値)の場合、終了コード 1 となり、理由が標準エラーに出力され、標準出力には何も出力されません。標準出力が空の 1 は、スコアが低いのではなく、使用方法のエラーとして扱ってください。

code は、dns、unreachable(応答なし:接続拒否、リセット、または経路なし)、tls(証明書が拒否された)、timeout、http-error、non-html、playwright-missing、no-pages、config、aborted、unknown のいずれかです。

コマンドリファレンス

Audit コマンドのオプション
オプションエイリアス説明デフォルト
--format <fmt>-f出力形式:console、json、html、markdown、llmconsole
--max-pages <n>-mクロールする最大ページ数10
--crawl複数ページのクロールを有効にしますfalse
--categories <list>-c監査するカテゴリ(カンマ区切り)すべて
--no-cwvCore Web Vitals と JS のレンダリングをスキップしますfalse
--mobileモバイルのビューポートとモバイルファーストの同等性をレンダリングします(単一ページ)false
--verbose-v進行状況を表示しますfalse
--output <path>-o出力ファイルのパス
--config <path>設定ファイルのパス
--no-saveこの監査を ~/.seomator に保存しません
--stagingステージングサイトを監査します:noindex と robots.txt の上限を適用せず、robots.txt を無視してクロールします。適用されない上限は一覧表示されますfalse

監査はデフォルトで保存されるため、compare と report では常に履歴を利用できます。

ダッシュボード

seomator serve は、保存された監査のローカル Web ダッシュボード(履歴、 ルールごとの詳細、比較、エクスポート)を起動します。スクリプトからアクセスする場合は、 ~/.seomator/serve.json からトークンを読み取り、X-SEOmator-Token として送信してください。GET /api にはすべてのルートが一覧表示されます。docs/WEB-DASHBOARD.md を参照してください。

Compare コマンドのオプション

seomator compare <domain> は、同じサイトについて保存された 2 つの監査結果を比較します。--no-save を指定して実行した場合を除き、すべての 監査結果が保存されます。

オプション説明デフォルト
--against <auditId>直近の実行結果ではなく、指定した監査結果と比較します最新の 1 つ前
--trend2 回分の差分ではなく、ドメインのスコア履歴を表示しますfalse
--json / -j機械可読な差分false
--fail-on-regressionスコアが低下した場合、またはいずれかのルールのステータスが悪化した場合に終了コード 1 を返します。測定方法が異なる 2 つの監査(Core Web Vitals、スコアリングモデル、ルールフィルター、ステージング)は同条件での比較ではないと報告され、終了コード 1 にはなりませんfalse

ルールは ID ごとに差分を比較するため、失敗したルールと別の修正されたルールは、件数上で相殺されず、それぞれ個別に報告されます。

その他のコマンド
seomator init              # Create config file
seomator self doctor       # Check system setup
seomator config --list     # Show all config values
seomator report --list     # List past reports
seomator compare <domain>  # Diff the two most recent saved audits
seomator db stats          # Show database statistics

出力形式

形式フラグ最適な用途
console--format console人が読むターミナル出力(デフォルト)
json--format jsonCI/CD、プログラムによる処理
html--format html単独で共有できるレポート
markdown--format markdownドキュメント、GitHub
llm--format llmAI エージェント(推奨)

--format llm の出力は、トークン効率に最適化されたコンパクトな XML 形式です。

  • JSON 出力より50~70%小さい
  • 問題を重大度順(重大なものから)に並べ替え
  • 各問題に修正案を含む
  • AI ツールへのパイプ処理に適した、クリーンな標準出力

例

例 1:LLM 出力による簡易監査
# User asks: "Check example.com for SEO issues"
seomator audit https://example.com --format llm --no-cwv
例 2:大規模サイトの詳細なクロール
# User asks: "Do a thorough audit with up to 100 pages"
seomator audit https://example.com --crawl -m 100 --format llm --no-cwv
例 3:変更後の新しい監査
# User asks: "Re-audit the site, ignore cached results"
# Every run fetches every page fresh — there is no cache to bypass.
seomator audit https://example.com --format llm --no-cwv
例 4:共有可能なレポートの生成
# User asks: "Create an HTML report I can share"
seomator audit https://example.com --crawl -m 20 --format html -o seo-report.html
例 5:特定の分野に焦点を当てる
# User asks: "Just check my JavaScript rendering and redirects"
seomator audit https://example.com -c js,redirect --format llm
例 6:このデプロイで何か悪化しましたか?
# A baseline before the change (stored automatically)
seomator audit https://example.com

# ... deploy ...

seomator audit https://example.com
seomator compare example.com --json

compare は、ステータスが変化した具体的なルールをレポートします。これはスコアの差分だけを見るよりも有用です。ある項目が悪化して別の項目が修正されても、スコアが変わらないことがあるためです。--fail-on-regression を使うと、これを CI のゲートにできます。

例 7:何も表示されないページの原因を調査する
# js-console-errors and js-failed-requests need a real browser render,
# so do NOT pass --no-cwv here.
seomator audit https://example.com -c js --format llm

捕捉されない例外が発生すると、その例外をスローしたスクリプトは停止するため、そのスクリプトが出力するはずだったコンテンツ、構造化データ、canonical タグはレンダリングクローラーに表示されません。スクリプトの 404 は静的 HTML 分析では検出できません。タグは存在し、形式も正しく、実際に取得して初めて何も返されていないことが分かります。

結果の評価

スコアの範囲
スコア評価意味
90-100A優秀 - 軽微な最適化のみ
80-89B良好 - 警告に対処してください
70-79C改善が必要 - 優先度の高い修正が必要です
50-69D不良 - 複数の重大な問題があります
0-49F重大 - 大きな問題の解決が必要です
優先順位(カテゴリの重み順)

最大限の効果を得るには、次の順で問題を修正してください。

  1. コア(11%) - メタタグ、canonical、H1、インデックス登録
  2. パフォーマンス(10%) - Core Web Vitals + 最適化
  3. リンク(8%) - 内部リンク構造
  4. 画像(8%) - パフォーマンス + アクセシビリティ
  5. セキュリティ(8%) - 信頼性を示す要素、SSL
  6. テクニカル SEO(7%) - クロールの基盤
  7. アクセシビリティ(7%) - WCAG 準拠
  8. クロール可能性(5%) - インデックス登録の可否、ページネーション
  9. 構造化データ(5%) - リッチスニペット
  10. JavaScript レンダリング(5%) - レンダリングされた DOM、SSR
  11. コンテンツ(5%) - テキストの品質 + 重複
  12. ソーシャル(3%) - ソーシャル共有
  13. E-E-A-T(3%) - 信頼性、専門性
  14. URL 構造(3%) - URL の整理
  15. リダイレクト(3%) - リダイレクトチェーン
  16. モバイル(2%) - ビューポート、フォント
  17. 国際化(2%) - Hreflang
  18. HTML 検証(2%) - ドキュメント構造
  19. AI/GEO 対応(2%) - セマンティック HTML、AI ボット
  20. 法令遵守(1%) - Cookie の同意
重大度別の修正
  1. 失敗(status: "fail") - 直ちに修正する必要があります
  2. 警告(status: "warn") - 早めに修正してください
  3. 合格(status: "pass") - 対応は不要です
スコアの計算方法

カテゴリスコアは、各ルールの結果(pass は100、warn は50、 fail は0)を、各ルールに設定された重みに応じて加重平均した値です。そのため、 security-https のような重みの大きいルールは、影響の小さいルールよりもカテゴリスコアを大きく 左右します。総合スコアは、上記の重みを使用したカテゴリスコアの加重平均です。

ページ単位の条件によって、総合スコアに上限が設定されることがあります。 平均では 「ほかのことは一切関係ない」と判断できないため、以下の条件のいずれかに当てはまる間は、 カテゴリの平均値にかかわらず、総合スコアは上限以下にとどまります。クロールでは、開始ページから 最初の2つの条件を確認します。

条件上限
Google に対する noindex(robots メタタグまたは X-Robots-Tag)20
robots.txt が Googlebot に対してページへのアクセスを禁止している20
<title> がなく、メインコンテンツが20語未満30
メインコンテンツが20語未満49
<title> がない69

JSON の結果には scoreCap: { uncappedScore, caps: [{ id, ceiling, reason }] } が含まれ、--format llm では <score-cap> 要素が含まれます。まず上限の原因を 解消してください。 上限が適用されている間は、ほかの修正をしてもスコアは変わりません。

--staging を使ってステージングサイトを監査できます。 このオプションを指定すると、noindex と robots.txt による上限は適用されなくなります(コンテンツによる上限はそのままです)。また、クロールでは robots.txt を無視するため、 Disallow: / が設定されたサイトでも、最初のページ以降をクロールします。適用を免除された条件は waivedCaps と、--format llm の <waived-caps> 要素に記録されます。このリストにある内容は、公開時に 変更する必要があります。ステージングサイトの監査結果を本番環境の結果と同等のものとして比較しないでください。 compare はその違いを検出します。

測定できなかったチェックの重みは0で、スコアに影響しません。 入力データが得られなかったチェックは、 不足している情報がわかるように報告されますが、サイトのスコアを上げることも下げることもありません。 測定していない項目は採点できないためです。具体的には、次のとおりです。

  • cwv-inp は常に測定不能として報告されます。INP の測定には実際のユーザー操作が必要ですが、 自動クロールでは操作を行いません。実際の INP を測定するには、フィールドデータ(CrUX または RUM)を使用してください。
  • --no-cwv を実行すると、Core Web Vitals のルールと、JavaScript レンダリングに関するほとんどのルールは、 合格または不合格ではなく、測定不能として報告されます。--no-cwv を指定して監査したサイトは、指定せずに 監査したサイトと直接比較できません。 スコアに反映されたルールの組み合わせが異なるためです。
  • links-depth と links-orphan-pages の測定にはサイト全体のリンクグラフが必要です。このグラフを取得できるのは クロールモードのみです。測定するには --crawl を指定してください。 1ページのみの監査では、 ページへのクリック距離や被リンクを特定できないため、測定不能として報告されます。
  • mobile-parity-* ルールの測定には、モバイルのビューポートでの追加レンダリングが必要です。測定するには --mobile を指定してください(--no-cwv は指定しないでください)。
  • ページをサイト内のほかのページと比較するチェック(core-title-unique、 content-duplicate-description、content-duplicate-exact、 content-duplicate-near、crawl-sitemap-orphan-urls)は、1ページのみの監査では測定不能として報告されます。 タイトルやメタディスクリプションがないページは、core-title-unique または content-duplicate-description が不合格になります。これは一意性の問題ではなく、フィールドが欠落しているためです。 測定するには --crawl を指定してください。
  • 採点対象がないチェックは、合格ではなく測定不能として報告されます。たとえば、ページに JSON-LD がない場合の JSON-LD バリデーター(schema-present は JSON-LD がないことを報告します)、ページに作成者がいない場合の eeat-author-expertise、および色がすべてスタイルシートで指定されている場合の a11y-color-contrast が該当します。

v3.1.0 でスコアの計算方法が変更されました。 以前のバージョンでは、不合格ルールの重みが合格ルールの 100分の1だったため、スコアが実際より高くなっていました。3.1.0 より前に生成されたレポートと比較する場合は、 スコアの低下をリグレッションとみなさず、ベースラインを再実行してください。

出力の概要

修正を実施した後、ユーザーに変更内容をすべてまとめて報告してください。

作業範囲を計画するときは、実装を速められるよう、タスクをサブエージェントが並行して実行できる形に整理してください。

トラブルシューティング

seomator command not found

このエラーが表示された場合、seomator がインストールされていないか、PATH に含まれていません。

解決方法:

npm install -g @seomator/seo-audit
Core Web Vitalsが測定されない

CWVメトリクスが見つからない場合、Chrome/Chromiumを利用できない可能性があります。

解決方法:

  1. Chrome、Chromium、またはEdgeをインストールします
  2. seomator self doctorを実行して、ブラウザーが検出されることを確認します
  3. CWVが不要な場合は、--no-cwvを使用してスキップします
クロールがタイムアウトする、または処理が遅い

大規模なサイトでは、監査に数分かかる場合があります。

解決方法:

  • --verboseを使用して進行状況を確認します
  • -m 20を指定してページ数を制限し、結果を早く取得します
  • --no-cwvを使用して、ブラウザーベースの測定をスキップします
URLが無効

URLにプロトコルが含まれていることを確認してください。

# Wrong
seomator audit example.com

# Correct
seomator audit https://example.com

仕組み

  1. 取得:ページのHTMLをダウンロードし、応答時間を測定します
  2. 解析:DOM、メタタグ、リンク、画像、構造化データを抽出します
  3. 補完:監査ごとに1回、robots.txtとサイトマップを取得します
  4. レンダリング(CWVが有効な場合):Playwrightを介してレンダリング後のDOMを取得し、コンソールエラーと読み込みに失敗したリソースリクエストも記録します
  5. クロール(有効な場合):リンク先のページを検出して取得します
  6. 分析:各ページに対して373個の監査ルールを実行します
  7. スコア算出:カテゴリ別および全体の加重スコアを計算します
  8. レポート:指定された形式で出力を生成します

結果は~/.seomator/に保存され、後からseomator reportで取得できます。

信頼モデル

seomator CLIは、ユーザーが指定した任意のURLからHTMLを取得します。これらのページから引用したテキスト(タイトル、メタタグ、見出し、リンクテキスト、alt属性、スキーマコンテンツ)はすべて信頼できない入力であり、レポートを処理するLLMに対する間接的なプロンプトインジェクションを試みる可能性があります。

LLM形式のレポーター(--format llm)では、多層防御を適用しています。

  1. レポートごとのノンス。 レンダリングのたびに、ルートの<seo-audit>要素に128ビットの16進数ノンスを出力します。
  2. ノンス付き区切りタグ。 サイト由来のテキストは<msg>および<details>内で<untrusted-{nonce}>...</untrusted-{nonce}>に囲まれます。ノンスは予測不能で、監査ごとに一意のため、攻撃者が終了タグを偽造することはできません。
  3. セキュリティに関する通知。 レポートには、囲まれたブロックを指示ではなくデータとして扱うよう、LLMに指示する<security-notice>が含まれます。
  4. 不可視文字の除去。 引用コンテンツをXMLエスケープする前に、ゼロ幅文字(U+200B~U+200D、U+2060、U+FEFF)、Unicodeタグブロック(U+E0000~U+E007F)、C0/C1制御文字を除去します。
  5. XMLエスケープ。 信頼できないコンテンツ内のリテラルな< > & " 'はエスケープされるため、細工された</untrusted-...>というリテラルも無害なテキストになります。

修正の提案、ルールID、カテゴリメタデータなど、ツールが作成するフィールドはプレーンなXMLとして出力され、信頼できない区切りタグでは囲まれません。信頼できるコンテンツを囲むと、シグナルが弱まるためです。

リソース

  • ルールの完全なリファレンス:373個すべてのルールについては、docs/SEO-AUDIT-RULES.mdを参照してください
  • ストレージアーキテクチャ:データベースの詳細については、docs/STORAGE-ARCHITECTURE.mdを参照してください
  • CLIヘルプ:seomator --helpおよびseomator <command> --help

コメント