網站速度的快慢除了影響用戶體驗外,亦是SEO網站優化的其中一個參考因數。這兩者都直接影響你網店的收入。参考五種技巧讓你網站速度提升。早在2010年 Google 已經確認將網站載入速度作為其中一個SEO排名因素。好幾個研究提供更多參巧:
根據研究,多一秒的載入時間會減少11%網頁流覽頁數,減少7%轉化率和減少16%用戶滿意度;如果網頁不能在5秒內載入,18%移動用戶會選擇放棄,如果網頁不能在10秒內載入, 30%移動用戶會選擇放棄;47%用戶期望等少於2秒。
很多因素決定載入網站速度
首先你要明白所為載入是從訪客的地點訪問你網站所在的寄存伺服器。如果訪客是在九龍而寄存伺服器在香港島,當然會比訪客是在美國猶他州訪問香港寄存伺服器要快。理由是後者的數據交換要通過國際網路 (如香港和美國的海底電纜),再由州際網路 (如三藩市連到猶他州)。如果訪客是在猶他州的一個小縣,就再要通過州縣網路交換數據,任何一段出現擁塞都會影響載入速度。香港是全球互聯網最普及的地方之一,上網速度也是最快的。要明白外國很多偏遠地方上網速度仍然只有幾十KB。所以如果你網站服務的主對象在美國,寄存伺服器放在美國速度會是最好。現在化網店針對以上速度問題解決方法一是採用緩衝區 cache 將圖片根據客戶端如手機要求大少先縮小才下載。
影響載入網站速度其次當然要看硬件
最常見的寄存伺服器是採用虛擬主機,就是一臺硬件上跑軟件模擬多臺主機來處理多家公的網站,這就是我們所謂的共用主機 Shared Hosting,速度當然不及一臺硬件只跑一家網站快,就是我們所謂的專用主機 Dedicated Hosting,但前者勝在便宜,反正一般公司沒有多少訪客。當然機器的 CPU 和記憶體亦影響載入速度。有效負載 payload, 就是指同一時間可以支援多少訪客,富訪客人數造成的 payload 超過一臺機器可以支撐,就需要更多機器做負載均衡 Load Balancing.
近幾年流行用虛擬專用主機 Virtual Private Server (VPS) 。VPS 比共用主機貴原因是共用主機中一家公司不良網站會影響你的網站的性能。而 VPS 可以保護您的網站不受託管在同一臺伺服器的不良網站影響。VPS 但比專用主機便宜。因為 VPS 實際上是共用相同的物理主機,資源(如CPU,RAM, SSD 硬碟等)仍然在被多個網站共用。但 VPS 可以專為每個網站被配置一定量資源或者虛擬資源以確保性能。如果性能不夠好,你可以付費購買更多的資源。加入更多的資源可以由伺服器管理員通過一些簡單的配置來完成。
如何統計網站流量?
最有效的方法是安裝谷歌分析 Google Analytics (GA)。GA 是以 Javascript 來直接統計流量,所以是現今最準確的測量方法,兼且 GA 可以按地區和時段製作報告。有關 GA,請參考 Google Analytics(分析)應用實例 。
如何解決跨國流量瓶頸?
現今解決跨國流量瓶頸問題的標準做法是利用內容分發網路 Content Delivery Network (CDN),著名的例子是 CloudFlare。顧名思意,內容分發網路就是不再基於單一伺服器發放網站內容,而是基於一群分散於世界各地數據中心的伺服器組成的網路發放網站內容。內容分發網路內的各地數據中心所存放的網站副本定期 (如 15 分鐘) 從母網站拷貝。內容分發網路的中央處理器負責管理所有網域地址的新查詢,例如發現新查詢是來自美國,中央處理器會將網域地址轉譯成最近數據中心的伺服器的 IP 地址,這例子中可能就是美國東岸的數據中心的伺服器的 IP 地址。一個我們的客戶通過使用 CloudFlare 的免費計畫成功將在美國客戶的平均網頁加載時間減少10秒。
內容管制遮罩
有些國家實施內容管制。我們身邊的例子就是中國大陸,最出名的是內含敏感字眼的網頁會被遮罩和大陸的用戶無法直接訪問。 Facebook 網頁和使用穀歌 Gmail。其實中國大陸對穀歌的其他服務亦會進行即時監控,那怕你的網頁只是到穀歌下載一段 Javascript 代碼或字件,即時監控掃描會令你的網頁載入變得很慢甚至無法打開,唯一的解決方法就是將代碼或字件從穀歌移到你的網站伺服器上。
軟件代碼
再下來就看軟件代碼。現代網站都採用資料庫管理內容。當數據量增加時,例如網上商店內的商品數量數以萬計時,軟件平臺如何處理數據查詢更決定網站載入速度的快慢。所以如果你的網上商店預期商品上千上萬,就應該小心選擇軟件平臺。
緩衝區的應用
網頁伺服器的很多動作其實是重覆又重覆,例如執行某些數據查詢工作然後將結果格式化再送回給訪客的流覽器。如果數據沒有更新,排板格式沒有更新,這個費時的執行查詢就變得多餘,只要將上次的結果記錄下來直接送回給訪客就可以。緩衝的意思就是先將每次查詢結果記錄下來,當收到新查詢時,看看有沒有已緩衝的結果,如果有而前設條件沒有改動 (如數據無更新,檔案無更新) 送回先前緩衝結果,否則執行查詢,緩衝新的結果。以上的操作是非常技術性,所以一般是要安裝對應的緩衝插件。