国际化
简介
如何在 AMP 中支持 hreflang 和国际化。内容的国际化和本地化是网站经常采用的重要功能,以便最大限度地扩大其内容或服务的覆盖范围。
对于静态网站,解决此问题的常用站点结构技术称为“hreflang”。Hreflang 是网站元数据的一部分,用于注释页面,以便抓取工具可以发现特定文章的替代翻译。诸如 Google 之类的搜索引擎会识别使用 hreflang 的网站。hreflang 注释与 link 标记一起使用,以引用另一个文档
<link rel="alternate" hreflang="fr" href="https://www.example.com/path/to/french.html" />
AMP 文档还可以使用 hreflang 注释将抓取工具指向其他语言的自身版本。
但是,正确设置所有 AMP 文档之间的 hreflang 关系非常重要,尤其是在规范文档和 AMP 文档之间现有的元数据关系。以下是两个示例,说明网站如何为一篇文章构建其规范文档和 AMP 文档的 hreflang 关系。
示例 1:规范页面 + AMP
常见的站点结构模式是将非 AMP 规范文档与 AMP 文档配对。下图说明了如何为这种结构提供翻译
在此图中,有一个英文规范桌面文档和相应的 AMP 文档。按照 AMP 项目关于 发现和分发 的官方文档,英文 AMP 文档必须包含指向规范文档的 link 标记。同样,规范文档包含指向 AMP 文档的相应 link 标记。
此外,此图还包括规范文档和 AMP 文档的法语翻译。因此,这些文档必须包含带有 hreflang
属性的 link 标记,以连接规范文档和 AMP 文档的各种替代语言版本。适用以下规则: * 每个规范文档都必须具有一个带有 rel=amphtml
的 link 标记,该标记指向同一语言中与其匹配的 AMP 文档。 * 每个 AMP 文档都必须具有一个带有 rel=canonical
的 link 标记,该标记指向同一语言中与其匹配的规范桌面文档。 * 每个规范文档都必须具有一个带有 rel=alternate
和 hreflang
属性的 link 标记,用于该规范文档的每个替代语言版本。 * 每个 AMP 文档都必须具有一个带有 rel=alternate
和 hreflang
属性的 link 标记,用于该 AMP 文档的每个替代语言版本。
因此,给定一个包含 X 个自身语言版本(包括英语)的文章,每个规范文档都将包含: * 1 个带有 rel=amphtml
的 link 标记 * 以及 X 个带有 rel=alternate
和 hreflang
属性的 link 标记
示例 2:规范页面 + 替代页面 + AMP
下一个示例是第一个示例的扩展版本。此示例包括任何给定语言的任何给定文档的 3 个版本: * 规范桌面文档 * 替代移动站点文档 * AMP 文档
下图说明了如何为这种结构提供翻译
前一个示例中的相同规则适用于此示例,并添加以下规则: * 每个规范文档都必须具有一个带有 rel=alternate
且没有 hreflang
属性的 link 标记,该标记指向同一语言中与其匹配的替代移动文档。 * 每个替代移动文档都必须具有一个带有 rel=canonical
的 link 标记,该标记指向同一语言中与其匹配的规范桌面文档。 * 每个替代移动文档都必须具有一个带有 rel=alternate
和 hreflang
属性的 link 标记,用于该替代移动文档的每个替代语言版本。
如果此页面上的说明未涵盖您的所有问题,请随时与其他 AMP 用户联系,讨论您的确切用例。
转到 Stack Overflow 一个未解释的功能?AMP 项目强烈鼓励您的参与和贡献!我们希望您能成为我们开源社区的持续参与者,但我们也欢迎您为自己特别感兴趣的问题做出一次性贡献。
在 GitHub 上编辑示例-
作者: @tcmg