在AEM Edge Delivery站点中配置lang属性

使用AEM通用编辑器和Edge Delivery Services构建多语言站点时,在静态HTML中配置lang属性。 此方法可确保在客户端HTML运行之前,JavaScript元素包含用于SEO和可访问性的正确语言设置。 要解决此问题,请在元数据中配置html-lang,以便Edge Delivery Services在静态HTML中呈现正确的lang属性。

描述 description

环境

  • Adobe Experience Manager as a Cloud Service (AEMaaCS) — 站点
  • Edge Delivery Services
  • 通用编辑器

问题/症状

  • 静态HTML输出在HTML元素上不包含lang attribute
  • 难以满足多国家/地区或多语言站点的SEO和无障碍要求。

解决方法 resolution

要解决此问题,请执行以下步骤:

  1. 在Edge Delivery存储库中找到元数据定义文件。 这可以是诸如metadata.xlsx或CSV文件的电子表格,也可以是您.aem.page.aem.live主机上公开为/metadata.json的JSON工作表。
  2. 向元数据文件添加特定于区域设置的映射,并在URL列中使用全局模式来匹配特定于区域设置的路径,例如,意大利语页面的/it-it/<b>
  3. 对于每个映射,请在与您的URL结构匹配的html-lang属性中指定相应的语言区域代码,例如/it-it/it-IT
  4. 提交更改并将其推送到Edge Delivery Services站点使用的分支。
  5. 从AEM或通用编辑器中,在每个区域设置中至少重新发布一个示例页面,以便考虑更新的元数据。
  6. 为示例区域设置页面打开相应的Edge Delivery Services URL (.aem.page.aem.live)。
  7. 使用查看页面Source确认HTML元素包含正确的lang attribute . 如果Edge Delivery Services上显示了正确结果,但生产域上未显示正确结果,请清除CDN缓存或验证域映射是否指向更新的分支或主机。

### 注释

  • - 对于大多数多国家/地区或多语言站点,为简单且稳健,建议通过批量元数据管理html-lang 通过将HTML-lang字段添加到通用编辑器中的单个页面元数据,可以实现每页更细粒度的控制。 但是,此值仍必须在元数据中显示为html-lang,以便Edge Delivery Services正确呈现它。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f