在AEM Edge Delivery網站中設定lang屬性
使用AEM Universal Editor和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
若要解決此問題,請遵循下列步驟:
- 在您的Edge Delivery存放庫中找出中繼資料定義檔案。 這可以是試算表,例如
metadata.xlsx或CSV檔案,或是在.aem.page或.aem.live主機上公開為/metadata.json的JSON工作表。 - 將地區設定特定的對應新增到中繼資料檔案,並在URL欄中使用全域模式來比對地區設定特定的路徑,例如,義大利頁面的
/it-it/<b>。 - 針對每個對應,在符合您URL結構的
html-lang屬性中指定適當的語言區域代碼,例如/it-it/的it-IT。 - 認可變更並推送至Edge Delivery Services網站所使用的分支。
- 從AEM或Universal Editor在每個地區設定中重新發佈至少一個範例頁面,以便考慮更新的中繼資料。
- 針對範例地區設定頁面,開啟對應的Edge Delivery Services URL (
.aem.page或.aem.live)。 - 使用檢視頁面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