搜索全站
multilingual 3 分钟阅读

多语言 Schema 结构化数据:按语言输出 inLanguage 与独立 URL

多语言页的 JSON-LD 结构化数据如何按语言输出:用 inLanguage 标注语言、每语言 URL 各自结构数据、与 hreflang 协同,避免 Google 误判重复或错配富媒体。

U
UFO_PF 2024-10-17 · 阅读 3 分钟
多语 MULTILINGUAL
阅读提示
本文约 1,003 字,预计阅读 3 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:英文页的 Article 结构数据是中文

结构化数据也要本地化。若英文页的 JSON-LD 里 headline 还是中文、没标 inLanguage,Google 对语言判断混乱,富媒体可能错配。

原理分析:结构数据的语言维度

  • inLanguage:在 Article/WebPage 里标 "inLanguage":"en",告诉 Google 这是英文内容。
  • 各语言独立 URL 各自输出对应语言 JSON-LD(headline/description 翻成本语)。
  • 与 hreflang 协同:结构数据本语 + hreflang 互指,双信号一致。

保姆级实操

WPML/Rank Math 多语言下自动按语言输出;手写:

add_action( 'wp_head', function () {
    if ( ! is_singular() ) return;
    $lang = pll_current_language(); // or ICL
    $data = [ '@context'=>'https://schema.org','@type'=>'Article',
      'inLanguage'=>$lang, 'headline'=>get_the_title(), 'description'=>get_the_excerpt() ];
    echo '<script type="application/ld+json">'.wp_json_encode($data).'</script>';
} );

常见坑

  1. inLanguage 漏标,语言判断模糊。
  2. 结构数据不翻,英文页 headline 中文。
  3. 案例:某站英文页 Article 的 headline 中文,富媒体偶显中文。补 inLanguage+翻译后正常。
  4. hreflang 与 Schema 语言不一致,信号矛盾。
  5. 机器翻译塞进 Schema,质量低。

总结

判断标准:每语言输出本语 JSON-LD + inLanguage,与 hreflang 一致。行动清单:取当前语言 → 翻字段 → 加 inLanguage → 验富媒体。详见WordPress 上 Schema 的实现方式对比。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。