seo-hreflang
hreflangタグの監査・検証・生成を行い、多言語・多地域サイトの国際SEOをサポートするスキルです。言語/地域コードの誤りを検出し、正しいhreflang実装を提案します。「hreflang」「i18n SEO」「国際SEO」「多言語対応」「多地域展開」などのキーワードに反応します。
description の原文を見る
> Hreflang and international SEO audit, validation, and generation. Detects common mistakes, validates language/region codes, and generates correct hreflang implementations. Use when user says "hreflang", "i18n SEO", "international SEO", "multi-language", "multi-region", or "language tags".
SKILL.md 本文
Hreflang & 国際SEO
複数言語・複数地域サイトの既存 hreflang 実装の検証、または正しい hreflang タグの生成を行います。HTML、HTTPヘッダー、XML サイトマップ実装に対応しています。
検証チェック項目
1. 自己参照タグ
- すべてのページは、自ページを指す hreflang タグを含める必要があります
- 自己参照 URL は、そのページの正規 URL と完全に一致する必要があります
- 自己参照タグが不足していると、Google は hreflang セット全体を無視します
2. リターンタグ
- ページ A がページ B へ hreflang でリンクしている場合、ページ B は A へリンク返す必要があります
- すべての hreflang リレーションシップは双方向である必要があります(A→B および B→A)
- リターンタグが不足していると、両ページの hreflang シグナルが無効になります
- すべての言語版が相互参照していることを確認してください(完全なメッシュ)
3. x-default タグ
- 必須:マッチしない言語・地域のフォールバックページを指定します
- 通常は言語セレクターページまたは英語版を指しています
- 代替セットごとに x-default は 1 つだけです
- 他のすべての言語版からのリターンタグも必須です
4. 言語コード検証
- ISO 639-1 の 2 文字コードを使用する必要があります(例:
en、fr、de、ja) - よくあるエラー:
engの代わりにenを使用(ISO 639-2 は hreflang では無効)jpの代わりにjaを使用(日本語の不正なコード)- 地域修飾子なしの
zh(曖昧;zh-Hansまたはzh-Hantを使用)
5. 地域コード検証
- オプションの地域修飾子は ISO 3166-1 Alpha-2 を使用します(例:
en-US、en-GB、pt-BR) - フォーマット:
language-REGION(言語は小文字、地域は大文字) - よくあるエラー:
en-ukの代わりにen-GB(UK は有効な ISO 3166-1 コードではありません)es-LA(ラテンアメリカは国ではありません;特定国を使用してください)- 言語プレフィックスなしの地域コード
6. 正規 URL の整合性
- hreflang タグは正規 URL にのみ表示される必要があります
- ページが
rel=canonicalで別の場所を指している場合、そのページの hreflang は無視されます - 正規 URL と hreflang URL は完全に一致する必要があります(末尾スラッシュを含む)
- 非正規ページは hreflang セットに含めないでください
7. プロトコルの一貫性
- hreflang セット内のすべての URL は同じプロトコル(HTTPS または HTTP)を使用する必要があります
- hreflang セット内に HTTP/HTTPS が混在していると、検証に失敗します
- HTTPS 移行後、すべての hreflang タグを HTTPS に更新してください
8. クロスドメインサポート
- hreflang は異なるドメイン間で機能します(例:example.com と example.de)
- クロスドメイン hreflang には両ドメインでのリターンタグが必要です
- 両ドメインが Google Search Console で検証されていることを確認してください
- クロスドメインセットアップではサイトマップベースの実装を推奨します
よくあるミス
| 問題 | 重大度 | 修正方法 |
|---|---|---|
| 自己参照タグの不足 | 致命的 | 同じページ URL を指す hreflang を追加 |
| リターンタグの不足(A→B だが B→A がない) | 致命的 | すべての代替言語版で対応するリターンタグを追加 |
| x-default の不足 | 高 | フォールバック・セレクターページを指す x-default を追加 |
無効な言語コード(例:eng) | 高 | ISO 639-1 の 2 文字コードを使用 |
無効な地域コード(例:en-uk) | 高 | ISO 3166-1 Alpha-2 コードを使用 |
| 非正規 URL での hreflang | 高 | hreflang を正規 URL のみに移動 |
| URL での HTTP/HTTPS の不一致 | 中 | すべての URL を HTTPS に統一 |
| 末尾スラッシュの不一貫性 | 中 | 正規 URL フォーマットと完全に一致させる |
| HTML とサイトマップの両方に hreflang | 低 | 1 つの方法を選択(大規模サイトではサイトマップを推奨) |
| 必要な場合の地域修飾子なしの言語 | 低 | ジオターゲット指定コンテンツの地域修飾子を追加 |
実装方法
方法 1:HTML リンクタグ
対象:ページごとに言語・地域のバリエーションが 50 未満のサイト
<link rel="alternate" hreflang="en-US" href="https://example.com/page" />
<link rel="alternate" hreflang="en-GB" href="https://example.co.uk/page" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
<head> セクションに配置します。すべてのページは自ページを含む、すべての代替言語版を含める必要があります。
方法 2:HTTP ヘッダー
対象:HTML 以外のファイル(PDF、ドキュメント)
Link: <https://example.com/page>; rel="alternate"; hreflang="en-US",
<https://example.com/fr/page>; rel="alternate"; hreflang="fr",
<https://example.com/page>; rel="alternate"; hreflang="x-default"
サーバー設定または CDN ルール経由で設定します。
方法 3:XML サイトマップ(大規模サイトで推奨)
対象:複数言語バリエーション、クロスドメインセットアップ、または 50 ページ以上のサイト
下記の Hreflang サイトマップ生成を参照。
方法の比較
| 方法 | 最適な用途 | メリット | デメリット |
|---|---|---|---|
| HTML リンクタグ | 小規模サイト(<50 バリエーション) | 実装が簡単、ソースに表示 | <head> が膨らむ、大規模管理が困難 |
| HTTP ヘッダー | HTML 以外のファイル | PDF、画像に対応 | 複雑なサーバー設定、HTML に表示されない |
| XML サイトマップ | 大規模サイト、クロスドメイン | スケーラブル、一元管理 | ページに表示されない、サイトマップメンテナンス必要 |
Hreflang 生成
プロセス
- 言語検出:URL パス、サブドメイン、TLD、HTML lang 属性などの言語インジケータをスキャン
- ページの同等品マッピング:言語・地域全体の対応ページをマッチング
- 言語コード検証:すべてのコードを ISO 639-1 と ISO 3166-1 に対して検証
- タグ生成:自己参照を含む各ページの hreflang タグを作成
- リターンタグ検証:すべてのリレーションシップが双方向であることを確認
- x-default を追加:各ページセットのフォールバックを設定
- 出力:実装コードを生成(HTML、HTTP ヘッダー、またはサイトマップ XML)
Hreflang サイトマップ生成
hreflang 付きサイトマップ
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://example.com/page</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/page" />
<xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
<xhtml:link rel="alternate" hreflang="de" href="https://example.de/page" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/page" />
</url>
<url>
<loc>https://example.com/fr/page</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/page" />
<xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
<xhtml:link rel="alternate" hreflang="de" href="https://example.de/page" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/page" />
</url>
</urlset>
主要なルール:
xmlns:xhtml名前空間宣言を含める- すべての
<url>エントリは、すべての言語代替(自ページを含む)を含める必要があります - 各代替は、独自の完全なセットを持つ個別の
<url>エントリとして表示される必要があります - サイトマップファイルごとに 50,000 URL で分割
出力
Hreflang 検証レポート
サマリー
- スキャンしたページ数:XX
- 検出された言語バリエーション:XX
- 発見された問題:XX(致命的:X、高:X、中:X、低:X)
検証結果
| 言語 | URL | 自己参照 | リターンタグ | x-default | ステータス |
|---|---|---|---|---|---|
| en-US | https://... | ✅ | ✅ | ✅ | ✅ |
| fr | https://... | ❌ | ⚠️ | ✅ | ❌ |
| de | https://... | ✅ | ❌ | ✅ | ❌ |
生成された hreflang タグ
- HTML
<link>タグ(HTML 方法を選択した場合) - HTTP ヘッダー値(ヘッダー方法を選択した場合)
hreflang-sitemap.xml(サイトマップ方法を選択した場合)
推奨事項
- 追加する実装がない
- 修正すべき不正なコード
- 方法移行の提案(例:スケール化のための HTML からサイトマップへ)
文化的適応評価
複数言語サイトを分析する際は、技術的な hreflang 検証を超えて、コンテンツが各ターゲット市場に文化的に適応しているかを評価してください。
references/cultural-profiles.md を読み込んで、プリセットされたプロフィール(DACH、フランス語圏、ヒスパニック、日本語)を利用できます。
評価手順:
- すべての言語版とそのターゲット市場を特定
- 関連する文化プロフィールを読み込む
- CTA が文化期待と一致しているか確認(直接的 vs. 間接的)
- 信頼シグナルがロケール適切か確認(認証、法的ページ)
- ローカライズされたページの外国ブランド参照を確認
- 数値・日付・通貨フォーマットの一貫性を確認
- 文化的適応の問題を中重大度としてフラグ
出力: 言語版ごとの文化的適応スコア(0-100)と特定の調査結果。
コンテンツパリティ監査
コマンド: /seo hreflang audit <directory-or-url>
サイトまたはローカルコンテンツディレクトリのすべての言語版全体のコンテンツパリティを監査します。
references/content-parity.md を読み込んで、完全なパリティマトリックスとスコアリング方法論を確認してください。
チェック内容:
- 宣言されたすべての言語全体でのページ存在
- セクション構造の同等性(H2/H3 数)
- SEO 要素のパリティ(タイトル、メタ、スキーマのローカライゼーション)
- 単語数比検証(DE は EN より 25-35% 長い、JA は 10-25% 短い)
- 鮮度追跡(タイムスタンプ経由で検出された古い翻訳)
- 文化マーカースキャン(外国ブランド、間違った法的参照、翻訳されていない要素)
出力: ページごとのスコアと優先度付きアクション項目を含むパリティマトリックステーブル。
ロケールフォーマット検証
references/locale-formats.md を読み込んで、ロケールごとの数値、日付、通貨、住所、電話フォーマット参照テーブルを確認してください。
チェック項目:
- 数値フォーマットの一貫性(例:「1,000.00」は de-DE ページでは「1.000,00」であるべき)
- 日付フォーマットがロケール期待と一致
- 通貨記号と配置がターゲット市場に対して正確
- 電話番号が正しい国コード付き国際フォーマットを使用
参照ファイル
必要に応じてオンデマンドで読み込む(起動時にすべてを読み込まないこと):
references/cultural-profiles.md:DACH、フランス語圏、ヒスパニック、日本語の文化的適応プロフィールreferences/locale-formats.md:ロケールごとの数値、日付、通貨、住所、電話フォーマットテーブルreferences/content-parity.md:コンテンツパリティ監査方法論とスコアリング
エラーハンドリング
| シナリオ | アクション |
|---|---|
| URL に到達不可(DNS 障害、接続拒否) | エラーを明確に報告します。サイト構造を推測しないでください。URL を確認してもう一度試すようユーザーに提案してください。 |
| hreflang タグが見つからない | 不在を報告します。サブディレクトリ、サブドメイン、ccTLD など他の国際化シグナルをチェックし、適切な hreflang 実装方法を推奨してください。 |
| 無効な言語・地域コードが検出された | 各無効コードをリストアップして、正しい代わりを提供します。すぐに実装できる、修正されたhreflang タグセットを提供してください。 |
| 言語の文化プロフィールが利用不可 | cultural-profiles.md のデフォルトプロフィールチェックリストを使用します。評価はプリセットプロフィールではなく一般的なガイドラインに基づいていることをご説明ください。 |
| コンテンツパリティディレクトリが空 | コンテンツファイルが見つからなかったと報告します。ディレクトリパスを確認するか、ライブサイト分析の URL を提供するようユーザーに提案してください。 |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- agricidaniel
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/agricidaniel/claude-seo / ライセンス: MIT
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。