blog-locale-audit について
blog-locale-auditは、多言語ブログの品質を確認するスキルです。ローカライズコンテンツを管理するチーム向けに、翻訳の網羅性、内容とSEOの整合性、hreflang、更新状況を調べ、対応可能なレポートを作成します。
主な機能
- 01多言語記事のスキャンと分類
- 02翻訳の網羅状況の確認
- 03言語間の内容とSEO要素の比較
- 04hreflang設定の監査
- 05古い翻訳の特定と対応案の提示
- 06MarkdownまたはHTMLレポートの生成
活用シーン
- 01公開前に各言語の記事を確認
- 02翻訳間の構成やSEOの差異を発見
- 03hreflangリンクの欠落や不一致を調査
- 04更新が必要な古い翻訳を特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ infrasity-labs/ dev-gtm-claude-skills --skill blog-locale-auditインストール後、Claude Code で/blog-locale-auditを入力して読み込まれたか確認します。
詳細
ブログのロケール監査、多言語の品質管理
多言語ブログコンテンツのディレクトリを監査し、すべての言語バージョンが網羅的で、一貫性があり、正しくタグ付けされ、SEO に最適化されていることを確認します。 国際向けコンテンツの問題が検索順位に影響する前に検出します。
ワークフロー
フェーズ 1:検出
- 対象ディレクトリをスキャンします。以下を使用して、ブログ投稿を言語ごとにグループ化します。
- サブディレクトリ名(
en/、de/、fr/)。 - Frontmatter の
langとtranslatedFromフィールド。 hreflang-map.jsonが存在する場合はその内容。
- サブディレクトリ名(
- 各投稿がどの言語で存在するかを示すコンテンツマトリクスを作成します。
- ソース言語を検出します(最も頻繁に使用される
translatedFromの翻訳元、またはhreflang-map.jsonにsourceLanguageフィールドがあればその値)。
フェーズ 2:網羅性の監査
不足している翻訳を表示します。
### Translation coverage matrix
| Post (EN) | DE | FR | ES | JA |
|-----------|----|----|----|----|
| how-to-avoid-ai-slop | ok | ok | missing | missing |
| content-marketing-2026 | ok | missing | ok | missing |
Coverage: 60% (6 of 10 expected translations present)
Missing: 4 translations needed
フェーズ 3:コンテンツの同等性監査
複数の言語で存在するすべての投稿について、以下を確認します。
| 確認項目 | 内容 | 重大度 |
|---|---|---|
| セクション数 | H2 と H3 のセクション数が同じであること | 重大 |
| FAQ 数 | FAQ 項目数が同じであること | 高 |
| 画像数 | 画像数が同じであること | 高 |
| チャート数 | チャート(SVG 図)の数が同じであること | 高 |
| 単語数の比率 | 言語ペアで想定される範囲内であること(DE +20%~+30%、JA -20%、ES +10%) | 中 |
| リンク数 | 内部リンクと外部リンクの数が類似していること | 中 |
| 引用カプセル数 | バージョン間で H2 ごとの数が同じであること | 中 |
| Frontmatter の同等性 | 各バージョンで必須フィールドがすべて存在すること | 高 |
重大な差異はすべて問題として報告します。
フェーズ 4:SEO の同等性監査
各言語バージョンについて、以下を確認します。
| 要素 | 確認項目 | 重大度 |
|---|---|---|
| タイトルタグ | 存在し、その言語に適した長さであること | 重大 |
| メタディスクリプション | 存在し、適切な長さで、統計値を含むこと | 重大 |
lang 属性または Frontmatter の lang | 存在し、有効な ISO 639-1 であること | 重大 |
Schema の inLanguage | lang と一致すること | 高 |
Schema の translationOfWork | ソース URL を指していること | 高 |
| 代替テキスト | 翻訳されていること(EN 以外の投稿に英語の代替テキストがないこと) | 高 |
| スラッグ | ローカライズされていること(EN 以外の投稿に英語のスラッグがないこと) | 中 |
| タグ | ローカライズされていること | 中 |
| キーワード | ローカライズされていること | 中 |
フェーズ 5:Hreflang 監査
ディレクトリに hreflang-tags.html、hreflang-sitemap.xml、または hreflang-map.json
が存在する場合:
| 確認項目 | 内容 | 重大度 |
|---|---|---|
| 自己参照 | 各ページが自身を参照していること | 重大 |
| 戻りタグ | すべての関係が双方向であること | 重大 |
x-default | 存在し、ソース言語を指していること | 重大 |
| 言語コード | 有効な ISO 639-1 であること(任意で地域コードを付加) | 高 |
| URL の一貫性 | プロトコルと末尾のスラッシュの規則が統一されていること | 中 |
| 網羅性 | すべての言語バージョンが含まれていること | 高 |
hreflang ファイルが存在しない場合は、重大な不足として報告し、以下を提案します。
「/blog multilingual <topic> --languages ... を実行して再生成するか、
hreflang-tags.html を手動で作成してください。」
claude-seo の seo-hreflang がインストールされている場合は、
より詳細な検証のために実行するよう提案します。
フェーズ 6:鮮度の監査
Frontmatter に translatedDate がある投稿について、以下を確認します。
| 確認項目 | 内容 | 重大度 |
|---|---|---|
| 翻訳後にソースが更新されている | translatedDate より後にソースが変更されている | 重大 |
| 翻訳から 90 日以上経過 | 更新が必要な可能性がある | 中 |
バージョン間で lastUpdated が不一致 | バージョン間で同期が取れていない | 中 |
ファイルの更新日時が translatedDate より新しい | Frontmatter を更新せずにコンテンツが変更されている | 警告 |
更新が必要なファイルごとに、実行可能なコマンドを出力します。
3 translations are stale:
- de/ki-trends-2026.md (source updated 2 days ago)
-> Run: /blog translate en/ai-trends-2026.md --to de
- fr/ki-trends-2026.md (source updated 2 days ago)
-> Run: /blog translate en/ai-trends-2026.md --to fr
- es/tendencias-ia-2026.md (translation > 90 days old)
-> Run: /blog translate en/ai-trends-2026.md --to es
フェーズ 7:レポート
デフォルトでは Markdown 形式で出力します。ユーザーが --html を指定した場合は、
同じ内容のレポートを locale-audit-report.html にも書き出します。
## Multilingual content audit report
### Summary
- Posts audited: [N] across [N] languages
- Overall health: [score] / 100
- Critical issues: [N]
- Warnings: [N]
### Translation coverage
[Matrix from Phase 2]
### Issues found
#### Critical
- [Issue with file references]
#### Warnings
- [Issue with file references]
#### Passed
- [Checks that passed]
### Prioritized fixes
1. [Highest-impact action]
2. [...]
### Stale-translation alerts
[Runnable commands from Phase 6]
### Quick fixes
- Run `/blog translate <file> --to <missing-langs>` for [N] missing translations.
- Run `/blog multilingual` to regenerate hreflang assets.
- Run `/blog localize <file> --locale <code>` for weak cultural adaptations.
エラー処理
| シナリオ | アクション |
|---|---|
| 空のディレクトリ | 「[path] にブログ記事が見つかりません」 |
| 1 つの言語のみが存在する場合 | カバレッジを報告し、対象言語を提案 |
| hreflang ファイルがない場合 | 重大な不足として警告し、再生成を提案 |
| 認識できないファイル形式 | 警告を表示してスキップ |
関連項目
- 不足している翻訳を補完する:
/blog translate <file> --to <missing-codes> - 適応が不十分な内容をさらに調整する:
/blog localize <file> --locale <code> - hreflang アセットを再生成する:
/blog multilingual <topic> --languages <codes>