跳至主要內容

    hreflang

    hreflang 用來告訴搜尋引擎不同語言/地區的對應頁面,避免跨語言互相競爭與錯誤投放。

    定義

    hreflang 是 <link rel="alternate" hreflang="..."> 的語言/地區標記,用於多語言或多地區版本的頁面配對。它協助 Google 對正確語言使用者顯示對應版本。

    為什麼重要

    • 降低不同語言版本互相競爭(cannibalization)
    • 提升地區/語言投放正確性
    • 讓爬蟲更容易理解站內語言結構
    • 改善使用者體驗(自動導向正確語言版本)
    • 避免 Google 把不同語言視為重複內容
    • 支援同語言不同地區變體(例如 en-US vs en-GB)
    • 與 canonical 搭配使用,完整描述頁面關係

    怎麼做(實作重點)

    • 每個語言版本都要互相宣告(雙向)
    • 加上 x-default 作為預設版本
    • canonical 仍指向自己,不要拿 canonical 取代 hreflang
    • 使用 ISO 639-1 語言碼(zh、en)+ 可選 ISO 3166-1 地區碼(TW、US)
    • 可放在 HTML head、HTTP header 或 sitemap(大型站建議用 sitemap)
    • 確保所有 alternate URL 都回傳 200 且互相確認
    • 定期驗證 hreflang 設定(Search Console 會報告錯誤)

    範例

    html
    <!-- HTML head 實作 -->
    <link rel="alternate" hreflang="en" href="https://example.com/en/about" />
    <link rel="alternate" hreflang="zh-TW" href="https://example.com/about" />
    <link rel="alternate" hreflang="ja" href="https://example.com/ja/about" />
    <link rel="alternate" hreflang="x-default" href="https://example.com/en/about" />
    <link rel="canonical" href="https://example.com/about" /> <!-- 自指 canonical -->
    xml
    <!-- sitemap 實作(適合大型多語言站) -->
    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
            xmlns:xhtml="http://www.w3.org/1999/xhtml">
      <url>
        <loc>https://example.com/about</loc>
        <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/about" />
        <xhtml:link rel="alternate" hreflang="zh-TW" href="https://example.com/about" />
        <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/about" />
      </url>
    </urlset>

    相關連結

    常見問題

    關於這個詞彙的常見問答。

    回到詞彙表