動態服務

動態服務設定可讓伺服器根據要求網頁的使用者代理程式,透過同一網址傳回不同的 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 使用者代理程式的要求。

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

這個網頁