動態服務

動態服務設定可讓伺服器根據要求網頁的使用者代理程式, 透過同一網址傳回不同的 HTML (和 CSS)。

對於行動使用者代理程式而言,網站對 HTML 所做的更動 無法立即透過這項設定呈現出來 (使用電腦使用者代理程式檢索時, 行動版內容會受到「隱藏」),因此我們建議伺服器同時發送提示, 要求智慧型手機專用的 Googlebot 檢索網頁,從而找到 行動版內容。這個提示是透過 Vary HTTP 標頭提供。

動態服務會為每台裝置提供不同的程式碼,但使用的網址相同。

TL;DR

  • 使用 Vary HTTP 標頭,依據使用者代理程式指明變更。
  • 正確偵測使用者代理程式字串。

Vary HTTP 標頭

Vary HTTP 標頭具有以下兩個重要而實際的作用:

  • 向 ISP 或其他供應商使用的快取伺服器表明, 在他們決定是否透過快取來提供網頁時,會將使用者代理程式 納入考量。如果沒有 Vary HTTP 標頭,快取可能會誤向行動使用者提供 電腦版 HTML 網頁的快取,反之亦然。
  • 協助 Googlebot 更快找到您針對行動裝置調整的內容,因為有效的 Vary HTTP 標頭是我們用來檢索此類網址 (提供針對行動裝置調整的內容) 的其中 一種指標。

Vary HTTP 標頭是伺服器回應要求的部分內容,如下所示:

GET /page-1 HTTP/1.1
Host: www.example.com
(...rest of HTTP request headers...)

HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710
(... rest of HTTP response headers...)

Vary 標頭會告知瀏覽器根據要求該網頁的使用者代理程式, 回應不同的內容。如果您的伺服器已經使用 Vary HTTP 標頭, 那麼您可以在目前提供的清單中新增 「使用者代理程式」。

正確偵測使用者代理程式

一般來說,偵測使用者代理程式 (有時稱為「探查」使用者代理程式) 是一項容易出錯的技術。導致出錯的原因有很多,但最常見的是以下三類 失敗情形:

  1. 偵測使用者代理程式的原理是比對使用者代理程式字串 (或子字串) 清單。這類清單需要經常維護和更新,且不包含 新使用者代理程式對應的字串。事實上,許多這類清單 常因未適當維護而包含過時內容,從而給使用者帶來 不良的體驗。
  2. 比對使用者代理程式時,經常會出現不相符的情況。系統有時會 將電腦使用者代理程式偵測為行動使用者代理程式 (或相反)。而網站誤將平板電腦視為智慧型手機來處理的情形, 也同樣很常見。如果您要偵測存取網站的瀏覽器使用者代理程式, 請確保偵測過程搜尋的是智慧型手機專用的字串 (例如,同時尋找「Android」和「Mobile」字詞), 而不是通用的行動裝置字串 (只尋找「Android」一詞)。詳情請參閱 我們的網誌文章

  3. 偵測使用者代理程式時,請務必小心偽裝的情況。偵測使用者代理程式時, 網站會從使用者代理程式字串中尋找裝置名稱, 藉此偵測裝置的類別或類型。不過,網站不應專門去尋找 Googlebot。所有 Googlebot 使用者代理程式都會 將自己標示為特定的行動裝置,這表示您應該以回應這些行動裝置的方式 來處理這些 Googlebot 使用者代理程式的要求。例如, 智慧型手機的 Googlebot 會將自己標示為 iPhone,因此您給予它的回應 (重新導向和最佳化內容等) 應該和給 iPhone 使用者的回應 一樣。

傳送您對下列選項的寶貴意見...

這個網頁