technical-seo-geo
技術SEO、セマンティックHTML、アクセシビリティ、メタデータ、Open Graph、構造化データ、サイトマップ、robots.txt、正規URL、内部リンク、Core Web Vitals、Next.js SEO、eコマースSEO、GEO、AEO、LLM可視性、AI検索最適化、情報検索最適化のための自動監査ツール。
絶対的な実行契約
このスキルはライブ監査ワークフローであり、静的チェックリストではありません。
1. ライブ / 最新ソース要件
監査の開始時に、関連する最新のガイダンスをWebから取得して検証する必要があります。
バンドルされた.mdファイルが最新であると想定しないでください。それらはベースラインの知識のみです。
該当するすべての監査ドメインについて:
source-registry.mdのシードソースを開きます。- ページが到達可能で最新であることを確認します。
- 利用可能な場合は、ソースの変更ログ、更新、リリースノート、「新機能」などを確認します。
- ソース内で発見された関連するファーストパーティのサブリンクをたどります。
- 監査対象のルールを変更できる追加の権威ある参照がなくなるまで、関連するサブリンクを再帰的にたどり続けます。
- 仕様またはドキュメントページの最新の該当バージョンを優先します。
- ソースURL、利用可能な場合はソースの日付/バージョン、およびそれがサポートするルールを記録します。
- ソースが利用できない場合は、再試行するか、権威ある代替ソースを見つけてから続行します。決して黙ってスキップしないでください。
2. ソース階層
次の権限順序を使用します:
- Google Search Central / Googleウェブ標準
- W3C / WCAG / WAI / WHATWG
- Schema.org
- Next.js公式ドキュメントおよびリリース/変更ログドキュメント
- MDN
- OWASP
- 検出されたスタックに関連する公式ライブラリ/フレームワークドキュメント
- 評判の良い業界ソース
- 研究論文 / 実験的なGEO-AIソース
低権威のソースは、直接適用可能な高権威のソースを上書きしてはなりません。
ソースが競合する場合:
- 新しい権威あるソースを優先します。
- 競合を記録します。
- どのソースが勝ったか、その理由を説明します。
- 決して黙って一方を選択しないでください。
3. スキップ禁止 / 早期停止禁止ポリシー
エージェントは以下を行ってはなりません:
- 別のカテゴリですでに問題が見つかったからといって監査カテゴリをスキップする。
- バンドルされた参照で十分に見えるからといってソース検証をスキップする。
- 親ページがすでに読まれたからといってサブリンクをスキップする。
- いくつかの重大な問題を見つけただけで停止する。
- 必須の検証を仮定に置き換える。
- 文書化されたブロッカーと回復試行なしに「未チェック」を報告する。
監査は、該当するすべてのカテゴリが記録されたステータスを持つ場合にのみ完了します:
PASSISSUES_FOUNDNOT_APPLICABLE(証拠付き)BLOCKED_AFTER_RETRY(試行の証拠と、可能な場合は代替ソース/パス付き)
カテゴリを黙って省略することはできません。
4. 完了ゲート
最終レポートを作成する前に、必須実行台帳に対して完了チェックを実行します。レポートはターミナル台帳の状態からのみ生成されます。
必須ゲート:
- 該当するすべてのドメインに対して最新ソースのリフレッシュが完了しました。
- 関連するサブリンクが再帰的に検査されました。
- ソースの競合が解決されるか、明示的に文書化されました。
- SEO/インデックス可能性監査が完了しました。
- セマンティックHTML監査が完了しました。
- アクセシビリティ監査が完了しました。
- メタデータ/Open Graph/正規URL監査が完了しました。
- 構造化データ監査が完了しました。
- サイトマップ/robots監査が完了しました。
- 内部リンク監査(クロール深度と孤立ページ検出を含む)が完了しました。
- パフォーマンス/Core Web Vitals監査が完了しました。
- 該当する場合はeコマース監査が完了しました。
- GEO/AEO/AI検索監査が完了しました。
- Next.jsが検出された場合、Next.js監査が完了しました。
- アプリケーションがWeb/サーバー機能を公開している場合、関連するセキュリティ/強化チェックが完了しました。
- 環境がサポートする場合、検証/ビルド/リント/型チェック/ランタイムチェックが実行されました。
- すべての所見に証拠があります。
- すべての所見に重大度と分類があります。
- 修正順序が完了しています。
- ブロックされていると明示的にマークされていない限り、最終監査に未解決の
TODO、SKIP、または未検証の主張が残っていません。
ゲートに失敗した場合は、作業を続行してください。もっともらしいレポートがすでに書けるという理由だけでレポートを確定しないでください。
5. リカバリ / 再試行ポリシー
必要な操作が失敗した場合:
- 障害を診断します。
- 適切な場合は、同じ信頼できるパスを使用して再試行します。
- 同等の権威あるソース/パスを試します。
- 障害に依存しない独立した監査作業を続行します。
- ブロックされた項目に戻ります。
- 最終ステータスと証拠を記録します。
一時的なWeb障害は、開示なしに古い知識を使用する許可ではありません。
6. ソースグラフ / サブリンククローリング
すべての権威あるドキュメントページをソースグラフのノードとして扱います。
開かれた各ソースページについて:
- 仕様、APIリファレンス、変更ログ、移行ガイド、更新、検証ツール、および関連する公式ガイダンスへのリンクを検査します。
- 実装ルールを実質的に変更できる関連リンクをたどります。
- 無関係なナビゲーション、マーケティング、コメント、または無関係な製品ページは避けます。
- URLの重複を排除し、明らかなURLバリアントを正規化します。
- 訪問済みソース台帳を保持します。
- コンテンツ/バージョンが変更されていない限り、または競合する主張が再チェックを必要としない限り、URLを再訪しないでください。
目標は関連ソースの完全性であり、任意のクロール深度制限ではありません。
7. 証拠第一のルール
証拠なしに推奨事項を所見に変換しないでください。
各所見について、以下を取得します:
- 正確なコード/ページ/URLの証拠
- ルールをサポートするソース
- 利用可能な場合はソースの日付/バージョン
- 現在の実装がルールに違反している、または見逃している理由
- 具体的な修正方法
以下を明確に区別します:
- 確認された欠陥
- リスク
- 推奨事項
- 新しいプラクティス
- 実験的なアイデア
7A. コンテキスト予算 / オンデマンド参照読み込み
バンドルされた参照ファイルは意図的にモジュール化されています。実行の開始時にすべての.mdファイルをコンテキストに読み込まないでください。
次の読み込み順序を使用します:
SKILL.mdとsource-registry.mdを読み込みます。- プロジェクトを検査し、どの監査ドメインが該当するかを判断します。
- 現在監査中のドメインに必要な参照ファイルのみを読み込みます。
- ドメインが完了したら、アクティブコンテキストに完全な参照テキストを保持する代わりに、その結果を実行台帳に保持します。
- 所見、フレームワークバージョン、ソースの競合、または実装の詳細が必要とする場合にのみ、追加のモジュールを読み込みます。
以下で定義されるプロジェクトローカルランブックは、将来の実行のためのコンパクトな運用メモリです。このスキル全体をプロジェクトコンテキストにコピーするよりも、これを優先する必要があります。
7B. プロジェクトローカルランブック(耐久性があり、決して自動削除されない)
プロジェクトでの初回使用時に、.claude/technical-seo-geo-runbook.mdにコンパクトなファイルを存在しない場合にのみ作成します。
このファイルのルール:
- これは耐久性のあるプロジェクトドキュメントであり、実行状態ではありません。
- 作成後に自動的に上書きしないでください。
- 台帳クリーンアップ中に削除しないでください。
- 短く保ちます(目標:120行以下)。
- 実行シーケンス、プロジェクト固有の決定、およびポインタのみを含めます。参照ドキュメントをコピーしないでください。
- プロジェクト固有のワークフロー決定が実際に変更された場合にのみ更新し、既存のプロジェクト所有コンテンツを保持します。
初期ランブックの内容は、PROJECT-LOCAL-STEPS.mdに示されているコンパクトなステップシーケンスである必要があります。
8. 実際のスタックを検出する
フレームワーク固有のルールを適用する前に:
package.jsonを検査します- Next.jsのバージョンを検出します
- Reactのバージョンを検出します
- TypeScriptを検出します
- ルーティングモデルを検出します
- UI/アクセシビリティライブラリを検出します
- スキーマ/SEOライブラリを検出します
- テスト/ビルドツールを検出します
検出されたバージョンに適した最新のルールを適用します。Next.js以外のプロジェクトにNext.jsルールを強制しないでください。
8A. 自主停止禁止ルール
タスクが大きい、すでに多くの問題が見つかった、1つのツールが失敗した、もっともらしいレポートがすでに作成できるなどの理由で、エージェントは自主的に実行を終了してはなりません。すべての独立した作業を続行し、最終決定の前にブロックされた作業に戻ります。外部の制約が本当に完了を妨げる場合は、正確な制約、完了したカバレッジ、回復試行、および未検証の項目を記録し、完了を示唆しないでください。
9. 必須実行台帳(スキップ防止 / 早期停止防止)
すべての実行は、メモリ内または一時的な作業ファイルに明示的な監査台帳を維持する必要があります。台帳は監査の実行状態マシンです。散文レポートは代用になりません。
実行台帳のストレージとクリーンアップ(必須)
- ユーザーのプロジェクトリポジトリ内に、実行ごとの台帳テンプレートや実行状態ファイルを保持しないでください。
- 現在の実行を追跡するためだけに、永続的なプロジェクトファイルを作成、上書き、または削除しないでください。
- 実行状態は、リポジトリ外の一時的な実行ディレクトリ(例:
$TMPDIR/technical-seo-geo/<run-id>/)にのみ保存します。 - 一時ディレクトリは実行ごとに一意である必要があります。
- 正常に完了したら、一時的な実行ディレクトリを削除します。
- クラッシュ/中断が発生した場合、後続の実行は新しい実行を開始する前に、古い
technical-seo-geo/*一時実行ディレクトリをクリーンアップする必要があります。 - 台帳クリーンアップの一環として、ユーザープロジェクトファイル、
.git、context/、.claude/、またはその他の永続的なプロジェクトコンテンツを決して削除しないでください。 - 古いバンドルされた
run-ledger-template.mdは意図的に不要であり、プロジェクトにインストールしてはなりません。
この分離は意図的です。プロジェクトは耐久性のある指示のみを保持します。一時的な実行状態がリポジトリを汚染したり、将来のコンテキストを膨らませたりすることは決してありません。
台帳には少なくとも以下を含める必要があります:
| ID | ドメイン | 必須? | ソースステータス | 監査ステータス | 証拠 | 回復ステータス | |---|---:|---|---|---|---| | D1 | ライブソースリフレッシュ | はい | pending/verified/blocked | pending/pass/issues/blocked | URL | 試行 | | D2 | クロール/インデックス可能性 | はい | ... | ... | ... | ... | | D3 | セマンティックHTML | はい | ... | ... | ... | ... | | D4 | アクセシビリティ | はい | ... | ... | ... | ... | | D5 | メタデータ/ソーシャル | はい | ... | ... | ... | ... | | D6 | 構造化データ | はい | ... | ... | ... | ... | | D7 | サイトマップ/robots/正規URL | はい | ... | ... | ... | ... | | D8 | 内部リンク | はい | ... | ... | ... | ... | | D9 | パフォーマンス/CWV | はい | ... | ... | ... | ... | | D10 | eコマース | 条件付き | ... | ... | ... | ... | | D11 | GEO/AEO/AI検索 | はい | ... | ... | ... | ... | | D12 | Next.js | 条件付き | ... | ... | ... | ... | | D13 | セキュリティ/強化 | 条件付き | ... | ... | ... | ... | | D14 | 検証ゲート | はい | ... | ... | ... | ... |
ルール:
- ドメインは
pendingとして開始され、明示的なターミナルステータスなしでは完了と見なせません。 pending、in_progress、TODO、SKIP、unknown、および空白は非ターミナル状態であり、最終化を禁止します。- エラー、タイムアウト、レート制限、依存関係の欠落、またはツールの障害によって作業が中断された場合は、回復試行が尽きた後にのみ、影響を受けるアイテムを
BLOCKED_AFTER_RETRYとマークします。最初にすべての独立したドメインを続行し、次にブロックされたアイテムを再試行します。 - エージェントは、チェックのサブセットが合格したからといって、ドメイン全体を
PASSとマークしてはなりません。 - アイテムが該当しない場合は、該当しない理由の具体的な証拠を添付します。
- 最終出力の前に、すべての必須台帳行がターミナル状態であり、すべての条件付き行が明示的に
NOT_APPLICABLEとマークされるか、監査されている必要があります。 - 最終レポートは、記憶や直感ではなく、台帳から生成される必要があります。
台帳完了不変条件
FINALIZABLE = all(必須アイテムがターミナル状態) AND all(所見に証拠がある) AND all(必須ソースリフレッシュがターミナル状態) AND all(該当する検証に明示的な結果がある).
FINALIZABLE = falseの場合、最終監査レポートを作成しないでください。許可されたすべての回復パスが尽きた後にのみ、実行を続行するか、正確なブロッカーを報告してください。
10. 必須ライブソース有効期限 / 鮮度ルール
「最新」とは、実行時に発見可能な最新の権威ある情報を意味し、モデルが知っている最新情報やバンドルされたマークダウンの最新バージョンではありません。
該当する各ソースファミリーについて:
- シード/現在のページを開きます。
- 利用可能な場合は、その最終更新日/公開日/バージョン情報を読み取ります。
- 公式の変更ログ、更新ページ、リリースノート、履歴、またはバージョンインデックスを検査します。
- 関連するファーストパーティリンクを再帰的にたどります。
- 古いページが新しい参照を指している場合は、それらをたどった後に現在のソースを再確認します。
- 選択した権威あるバージョン/日付を台帳に記録します。
ランタイム検証なしに、現在のフレームワークバージョン、Core Web Vitalsのしきい値、構造化データ機能、アクセシビリティステータス、またはGoogle Searchの動作を最終推奨事項にハードコードしないでください。
ソース鮮度の優先順位
複数のページが同じルールをカバーしている場合は、次の順序で選択します:
- 検出されたバージョンの現在の規範仕様/公式ドキュメント。
- 現在の公式リリース/変更ログ/セキュリティ勧告。
- 現在の公式実装ガイド。
- ファーストパーティソースが問題をカバーしていない場合にのみ、セカンダリドキュメント。
- 補足または実験的なプラクティスのみの業界/マーケティングソース。
新しいドラフトは、既存の確定推奨事項を自動的に上書きしません。標準ステータス(「勧告」、「作業ドラフト」、「非推奨」など)を記録し、適切な規範的権限を適用します。
11. 再帰的サブリンク検証 — 実際の停止条件付き
再帰的クロールは、関連する権威あるリンクに対して、幅/深度が安全で完全である必要があります。
ソースノードごとに、監査ルールを変更できる可能性のある宛先へのリンクを検査します。これには以下が含まれます:
- 標準/仕様
- APIリファレンス
- バージョン管理されたドキュメント
- 移行ガイド
- 変更ログとリリースノート
- セキュリティ勧告
- 非推奨通知
- 検証要件/ツール
- 動作を定義する公式の例
- 公式のGoogle Search機能ドキュメント
- 公式のフレームワーク/ライブラリ互換性ドキュメント
正規化されたURLをキーとした訪問済みセットを使用します。