HOME SKILLS BLOG GITHUB
// SKILL

SEO BLOG TRANSLATION
FORMAT-PRESERVING

Generic LLM translation breaks SEO. Frontmatter gets reformatted, markdown structure drifts, schema blocks lose syntax validity, numbers and dates render in the source locale, quote marks come out as the wrong character. blog-translate solves all of that. It produces native-quality SEO translations while preserving every structural and locale-sensitive element of your post: markdown, MDX, HTML, frontmatter YAML, JSON-LD schema, inline SVG, code blocks, plus locale-correct number, date, currency, and quote formatting.

CONTRIBUTED BY CHRIS MUELLER · PRO HUB CHALLENGE · original repo
$
/blog translate <file> --to es,fr,de

REQUIRES CLAUDE BLOG INSTALLED IN CLAUDE CODE

// WHY IT MATTERS

FOUR REASONS TO USE IT

Generic translation tools optimize for raw text fidelity. Blog publishing needs more than that. A blog post in production is a structured artifact: frontmatter that drives the build, JSON-LD schema that drives rich results, inline SVG that renders data visualizations, code blocks that must stay syntactically valid, and locale-sensitive characters that look right or wrong instantly to a native reader.

blog-translate is built for that artifact, not just the prose inside it. The blog-translator agent runs without Bash and without untrusted-fetch execution, hardened against prompt injection per the v1.7.1 security baseline. Every translation is structurally identical to the source and locale-correct in every detail a search engine and a human reader will notice.

01
FORMAT PRESERVED
Markdown structure, frontmatter YAML, JSON-LD schema, inline SVG, code blocks all preserved. The translation file is a structurally identical replacement, not a free-form output.
02
LOCALE-CORRECT FORMATTING
Numbers (1,234.56 vs 1.234,56), dates (MDY vs DMY vs YMD), currency symbols, quote marks ("" vs „“ vs « »). Per-locale rules applied automatically.
03
SEO SIGNALS PRESERVED
Title length stays within range. Meta description stays within range. Heading hierarchy preserved. Internal anchor structure mapped to the target language.
04
HARDENED AGENT
Powered by the blog-translator agent. No Bash tool grant, no untrusted-fetch execution, prompt-injection hardened per the v1.7.1 security audit baseline.
// USAGE

HOW TO RUN IT

Command

CommandWhat it does
/blog translate <file> --to <codes>Translates the file into every comma-separated target locale, preserving format and applying locale rules

Supported locales

BCP 47 locale codes with regional variants are supported. A representative subset:

  • Spanish: es-ES, es-MX, es-AR
  • French: fr-FR, fr-CA
  • German: de-DE, de-AT, de-CH
  • East Asian: ja-JP, ko-KR, zh-CN, zh-TW
  • Portuguese: pt-BR, pt-PT
  • European: it-IT, nl-NL, ru-RU, tr-TR
  • Other: ar-SA, hi-IN

Plain ISO 639-1 codes (es, fr, de, ja) default to the most widely used regional variant.

Quality bar

Output is held to the same standard as source content. Every translated post passes the same /blog analyze 5-category scoring (Content, SEO, E-E-A-T, Technical, AI Citation). A translated post that drops a category score below the source baseline is flagged for re-pass before delivery.

// FAQ

COMMON QUESTIONS

Google Translate and DeepL produce raw text translations. They break markdown, drop frontmatter, mangle schema blocks, and use source-locale formatting for numbers and dates. blog-translate is built for blog publishing: it preserves every structural element, applies target-locale formatting rules, and maintains SEO signal integrity (title and meta length, heading hierarchy, internal anchor structure).
Markdown (.md), MDX (.mdx), HTML (.html), plus mixed-format files. The skill detects format from the file extension and content. Frontmatter (YAML or TOML) is parsed and translated field-by-field; structural keys (slug, date, image) are preserved as-is.
Yes, but selectively. Translatable schema fields (headline, description, articleSection) get translated. Structural fields (datePublished, url, @type) are preserved. Image and video URLs are not modified. The output schema is valid JSON-LD that passes Google Rich Results testing.
Yes. The 4 default cultural profiles (DACH, Francophone, Hispanic, Japanese) can be extended with YAML configs in the skill's references directory. Custom profiles can specify glossaries (preferred translations for technical terms), formality registers, idiom adaptations, and locale-specific examples to substitute.
Chris Mueller via the AI Marketing Hub Pro Hub Challenge. Chris's multilingual contribution to claude-blog (blog-translate plus blog-multilingual, blog-localize, blog-locale-audit, blog-translator agent) scored 85/100 Proficient. Original at github.com/Chriss54/claude-blog-multilingual. Chris also contributed seo-hreflang cultural profile enhancements to claude-seo v1.9.0.
// RELATED SKILLS

EXPLORE MORE

VIEW ALL 28 SKILLS →

TRANSLATE WITHOUT BREAKING SEO
IN ONE COMMAND.

$
git clone --depth 1 https://github.com/AgriciDaniel/claude-blog.git && bash claude-blog/install.sh
VIEW ON GITHUB ALL SKILLS >