國際化
簡介
如何在 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