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