mcpField
B
blog-multilingual

blog-multilingual

github.com/infrasity-labsマーケティング・グロース15194 回インストール18 週間前に更新
リポジトリ

blog-multilingual について

blog-multilingualは、ブログ執筆、翻訳、文化的な調整、国際SEOを多言語公開のワークフローとしてまとめます。複数言語で発信するチーム向けに、ローカライズ済み記事とhreflang関連データ、CMS連携用メタデータを生成します。

主な機能

  1. 01原文ブログ記事の執筆
  2. 02指定言語への翻訳
  3. 03文化に合わせたコンテンツ調整
  4. 04hreflangタグ、サイトマップ、マップの生成
  5. 05ローカライズ済みJSON-LDスキーマの追加(任意)

活用シーン

  1. 01新しいブログを複数言語で公開
  2. 02地域別の読者向けに翻訳記事を用意
  3. 03多言語ページ用のhreflang関連データを生成
  4. 04CMS連携用に言語版メタデータを提供

インストール

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

$npx skills add https://github.com/infrasity-labs/dev-gtm-claude-skills --skill blog-multilingual

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

詳細

ブログの多言語対応、ワンコマンドで国際公開

主要な多言語オーケストレーターです。ブログの執筆、翻訳、文化的な適応、国際 SEO 全般を単一のコマンドに統合します。hreflang タグ、ローカライズされた JSON-LD スキーマ、CMS 連携用メタデータを含む、公開可能なブログ記事をすべての対象言語で作成します。

依存関係

このオーケストレーターから内部的に呼び出されます。

コンポーネントソース必須
blog-writeclaude-blog(このプラグイン)はい
blog-translateclaude-blog(このプラグイン)はい
blog-localizeclaude-blog(このプラグイン)はい(--localize が有効な場合。デフォルト)
seo-hreflangclaude-seo(同階層のプラグイン)いいえ。自己完結型の生成機能にフォールバックします

seo-hreflang がインストールされていない場合、オーケストレーターは独自の最小限の生成機能(以下のフェーズ 5)を使って hreflang タグを出力し、制約事項を納品概要に記載します。この場合の hreflang 検証は構造のみを対象とし、seo-hreflang が提供する詳細な検証は行いません。

コマンド構文

/blog multilingual <topic> --languages <lang1,lang2,...> [--source <lang>] [--no-localize] [--format <md|mdx|html>]
引数必須デフォルト説明
<topic>はい,ブログのトピックまたは仮タイトル
--languagesはい,カンマ区切りの ISO 639-1 コード(例:de,fr,es,ja,pt-BR)
--sourceいいえen元の記事を執筆する言語
--no-localizeいいえオフ文化的な適応をスキップします(翻訳のみ)
--formatいいえ自動出力形式:md、mdx、または html

--languages が指定されていない場合は、何かを実行する前にユーザーに一度だけ確認してください。 「ブログを公開する言語を指定してください。カンマ区切りの ISO 639-1 コードを入力してください(例:de,fr,es,ja,pt-BR)。まず <source> で記事を執筆し、その後に翻訳します。」

ワークフロー

フェーズ 1:設定
  1. 引数を解析します。トピック、対象言語、ソース、形式を抽出します。
  2. 各言語コードを ISO 639-1 に照らして検証します(pt-BR、es-MX、zh-TW などの地域サフィックスも使用できます)。
  3. プロジェクトの設定(フロントマターの規約、ファイル拡張子、フレームワークの手がかり)から出力形式を判定するか、--format を使用します。
  4. ソース言語を決定します。対象言語が --source と一致する場合は、通知したうえで翻訳対象から除外します。
  5. 現在の作業ディレクトリ内に出力ディレクトリを作成します。
    multilingual/
      {source-lang}/
      {lang-1}/
      {lang-2}/
      ...
    
    出力先は必ずプロジェクトルート内にしてください。cwd の外には絶対に書き込まないでください。

進捗:Phase 1: Configuration complete, [N] languages selected ([codes])

フェーズ 2:元のブログ記事を執筆

blog-write サブスキルを呼び出します(既存のすべてのルールを適用するため /blog write 経由で実行します:テンプレートの自動選択、出典付き統計、引用カプセル、FAQ スキーマ、内部リンク領域、グラフ、画像の埋め込み)。トピックと、ユーザーが指定した blog-write のパラメーターを渡します。

元の記事を multilingual/{source-lang}/{slug}.{ext} に保存します。

進捗:Phase 2: Original written, multilingual/{source-lang}/{slug}.{ext}

フェーズ 3:すべての対象言語に翻訳

対象言語ごとに blog-translate を呼び出します。

  • 入力:フェーズ 2 で作成した元のブログ記事。
  • 対象:個別の言語コード。
  • 実行環境が対応している場合は、処理時間を短縮するために対象言語の処理を並列で実行します(言語ごとに 1 つのタスク)。

翻訳を multilingual/{lang}/{localized-slug}.{ext} に保存します。

進捗:言語ごとに Phase 3: Translating to [lang] ([X]/[N])、その後 Phase 3: All translations complete

フェーズ 4:文化的な適応

--no-localize が設定されていない場合は、翻訳したすべての記事について blog-localize を呼び出します。

  • 入力:翻訳済みのブログ記事。
  • ロケール:対象の言語コードまたは地域コード。
  • 並列で実行します。

ファイルをその場で更新します。ローカライザーはブランドの事例を入れ替え、CTA を調整し、法律関連の参照を置き換え、文体の丁寧さを調整します。適応処理の詳細は ../blog-localize/SKILL.md を参照してください。

進捗:Phase 4: Cultural adaptation complete for [N] languages

フェーズ 5:国際 SEO の生成

3 つの成果物とローカライズされたスキーマを生成します。claude-seo の seo-hreflang スキルがインストールされている場合は、検証を委任します。それ以外の場合は、以下の自己完結型ジェネレーターを使用します。

5a. Hreflang タグ(HTML)

<head> にコピーして貼り付けられるタグです。


<link rel="alternate" hreflang="{source}" href="{source-url}" />
<link rel="alternate" hreflang="{lang-1}" href="{lang-1-url}" />
<link rel="alternate" hreflang="{lang-2}" href="{lang-2-url}" />
<link rel="alternate" hreflang="x-default" href="{source-url}" />

ルール(seo-hreflang と同じです):

  • すべてのページで、自分自身を含むすべての代替ページを参照します(自己参照)。
  • x-default はソース言語版を指します。
  • すべての URL で、プロトコル(HTTPS)と末尾のスラッシュの形式を統一します。
  • 双方向性:すべての関係が相互参照になっている必要があります。

multilingual/hreflang-tags.html に保存します。

5b. 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>{source-url}</loc>
    <xhtml:link rel="alternate" hreflang="{source}" href="{source-url}" />
    <xhtml:link rel="alternate" hreflang="{lang-1}" href="{lang-1-url}" />
    <xhtml:link rel="alternate" hreflang="x-default" href="{source-url}" />
  </url>
  
</urlset>

multilingual/hreflang-sitemap.xml に保存します。

5c. Hreflang マップ(JSON)

CMS 連携用の機械可読マッピングです。

{
  "sourceSlug": "how-to-avoid-ai-slop",
  "sourceLanguage": "en",
  "generatedDate": "YYYY-MM-DD",
  "versions": [
    {
      "lang": "en",
      "slug": "how-to-avoid-ai-slop",
      "file": "en/how-to-avoid-ai-slop.md",
      "title": "How to Avoid AI Slop in 2026",
      "description": "..."
    },
    {
      "lang": "de",
      "slug": "wie-man-ki-slop-vermeidet",
      "file": "de/wie-man-ki-slop-vermeidet.md",
      "title": "KI-Slop vermeiden in 2026",
      "description": "..."
    }
  ],
  "hreflang": {
    "method": "html",
    "x-default": "en"
  }
}

multilingual/hreflang-map.json に保存します。

5d. ローカライズされたスキーマ(任意)

ユーザーから依頼があった場合、または frontmatter に schema: true フラグがある場合は、すべての言語版に inLanguage フィールドと translationOfWork フィールドを含む JSON-LD を追加または更新します。

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "[Localized title]",
  "description": "[Localized description]",
  "inLanguage": "[lang-code]",
  "isPartOf": { "@type": "Blog", "inLanguage": "[lang-code]" },
  "translationOfWork": {
    "@type": "BlogPosting",
    "inLanguage": "[source-lang]",
    "url": "[source-url]"
  }
}

各言語版でより豊富なスキーマ(FAQ、人物、パンくずリスト)が必要な場合は、既存の /blog schema サブスキルを使用します。

フェーズ 6:成果の概要
## Multilingual blog complete: [Title]

### Original
- Language: [source]
- File: multilingual/{source}/{slug}.{ext}

### Translations
| Language | File | Localized | Keywords adapted |
|----------|------|-----------|------------------|
| de | multilingual/de/{slug}.md | yes | [N] |
| fr | multilingual/fr/{slug}.md | yes | [N] |
| es | multilingual/es/{slug}.md | yes | [N] |

### International SEO assets
- multilingual/hreflang-tags.html
- multilingual/hreflang-sitemap.xml
- multilingual/hreflang-map.json
- Localized schema embedded per version (if requested)

### Total
- [N] posts in [N] languages
- [N] SEO assets generated

### Next steps
- Replace `{url}` placeholders in hreflang tags with your real URLs.
- Merge `hreflang-sitemap.xml` into your existing sitemap.
- Run `/blog locale-audit multilingual/` to verify completeness.
- Resolve `[INTERNAL-LINK]` placeholders with locale-specific URLs.
- If claude-seo is installed, run `/seo hreflang multilingual/` for
  deeper validation.

関連項目

タイミング実行するコマンド
ソースを再生成または書き直す場合/blog write <topic>
既存のファイルを 1 つだけ翻訳する場合/blog translate <file> --to <codes>
1 つのファイルの文化的適合性を高める場合/blog localize <file> --locale <code>
多言語ディレクトリを監査する場合/blog locale-audit <directory>
hreflang をさらに詳しく検証する場合/seo hreflang <directory>(claude-seo、任意)

エラー処理

状況対応
blog-write が見つからないエラー:「このスキルには blog-write が必要です。claude-blog を再インストールしてください。」
翻訳の 1 つが失敗する残りの翻訳を完了し、部分的な結果を報告して、再試行コマンドを提案します
ソース言語がターゲット言語と同じそのターゲットをスキップし、通知を記録します
ターゲット言語が 10 を超える実行時間について警告し、確認後に続行します
seo-hreflang がインストールされていない自己完結型ジェネレーターを使用し、その旨を概要に記載します

コマンドのまとめ

コマンド目的
/blog multilingual <topic> --languages de,fr,esソースを作成し、翻訳、ローカライズを行い、hreflang アセットを出力します
/blog translate <file> --to de,fr,es1 つのファイルをターゲット言語に翻訳します
/blog localize <file> --locale de-DE翻訳済みファイル 1 つを文化的に深く適応させます
/blog locale-audit <directory>ディレクトリ全体を対象に多言語 QA を実施します

コメント