Web 性能是指網(wǎng)站用戶體驗的可衡量且可感知的指標統(tǒng)稱,特別是網(wǎng)頁的加載速度和可靠性。
開發(fā)人員和網(wǎng)站所有者可以采取各種措施來提高網(wǎng)站性能。具體包括:優(yōu)化 Web 設(shè)計因素,例如圖片大小、代碼格式和外部腳本使用,以及選擇優(yōu)質(zhì)的服務提供商進行托管、內(nèi)容緩存和負載平衡。
當網(wǎng)頁加載速度提高且變得更可靠時,它們不僅能提供更好的用戶體驗,而且往往還能在自然搜尋結(jié)果中排名靠前,更容易被潛在的網(wǎng)頁訪問者注意到,往往也會提高轉(zhuǎn)化率。
如何測試網(wǎng)站性能
提高網(wǎng)站性能的關(guān)鍵頭一步是測試其當前性能。決定用戶(和其他方)如何看待網(wǎng)站速度和可靠性的因素有很多,而對這些因素進行測試是了解哪些措施將有利于提升網(wǎng)站性能的為一途徑。
有許多免費的性能測量工具,例如 Google Lighthouse(可在 Google Chrome Web 瀏覽器的 DevTools 套件中找到)和 Cloudflare Observatory(Cloudflare 用戶都可以在儀表板中找到)。
網(wǎng)站所有者應該使用這些工具來評估哪些因素?可以先從 Core Web Vitals 開始,它包含三個用于衡量重要的網(wǎng)絡(luò)性能的指標:
比較大內(nèi)容繪制,用于衡量網(wǎng)頁中面積比較大的一塊內(nèi)容的加載速度
首次輸入延遲,用于衡量用戶與頁面交互到瀏覽器對交互作出響應所需的時間
累計布局偏移,用戶衡量頁面加載過程中各個元素的視覺穩(wěn)定性
改善頁面的 Core Web Vitals 指標,不僅提供有價值的用戶體驗信號,而且還能使頁面在 Google 自然搜尋結(jié)果中排名靠前。
其他重要的評估指標還包括:首字節(jié)時間(頁面開始加載的速度)、DNS 查詢速度(頁面的域名服務將域名轉(zhuǎn)換為 IP 地址的速度),以及交互響應時間(用戶與頁面交互的速度)。
要了解如何將衡量這些指標轉(zhuǎn)化為有效措施,請參考以下示例:
如果網(wǎng)頁的“更大內(nèi)容繪制”速度很慢,即表明其加載網(wǎng)頁中面積比較大的一塊內(nèi)容所需的時間會比較長。網(wǎng)頁所有者可以調(diào)查是否加載了不必要的代碼,然后才加載該網(wǎng)頁內(nèi)容,并考慮是否要刪除這些無用代碼。
首字節(jié)時間過慢的網(wǎng)頁,其從
源服務器資源檢索結(jié)果所需的時間會比較長。網(wǎng)頁所有者可以調(diào)查 DNS 提供商和網(wǎng)站主機的響應時間,以重新配置或更換其中一項或兩項服務。
如何提高網(wǎng)站性能
雖然沒有可以保證 Web 具備強大性能的詳細方案,但網(wǎng)站所有者可以使用以下比較好的做法來幫助提高網(wǎng)站速度和可靠性:
優(yōu)化圖像
由于圖像文件的大小往往大于 HTML 和 CSS 文件,因此,網(wǎng)站加載圖像所需的時間往往比較長。幸運的是,可以通過圖像優(yōu)化來縮短圖像加載時間,通常包括:降低圖像分辨率和尺寸,以及壓縮圖像文件本身。
限制 HTTP 請求的數(shù)量
大多數(shù)網(wǎng)頁都要求瀏覽器發(fā)出多個 HTTP 請求,才能獲取頁面上的各種資產(chǎn)(包括圖像、腳本和 CSS 文件)。事實上,許多網(wǎng)頁都需要幾十個這樣的請求。每個請求都要往返于托管資源的服務器,這會增加網(wǎng)頁的整體加載時間。
由于存在這些潛在問題,因此,應該盡量減少每個頁面需要加載的資產(chǎn)總數(shù)。此外,速度測試有助于確定哪些 HTTP 請求花費的時間比較多。
使用瀏覽器 HTTP 緩存
瀏覽器緩存是一個臨時存儲位置,瀏覽器將靜態(tài)文件的副本保存在其中,以便能夠更快速地加載最近訪問過的網(wǎng)頁。開發(fā)人員可以指示瀏覽器緩存不經(jīng)常更改的網(wǎng)頁元素。瀏覽器緩存的說明位于托管服務器的 HTTP 響應的標頭中。這顯著減少了服務器需要傳輸?shù)綖g覽器的數(shù)據(jù)量,從而縮短了用戶訪問某些常用頁面所需的加載時間。
刪除不必要的 JavaScript 渲染阻塞
網(wǎng)頁可能會加載了不必要的代碼,然后才加載更重要的頁面內(nèi)容,如此一來增加整體加載時間。這種情況在大型網(wǎng)站上尤為常見,因為許多網(wǎng)頁所有者都是單獨地添加代碼和內(nèi)容。網(wǎng)頁所有者可以使用 Web 性能工具,來識別性能不佳網(wǎng)頁上那些不必要的代碼。
限制使用外部腳本
對于需要從其他位置加載的任何腳本化網(wǎng)頁元素,例如外部評論系統(tǒng)、CTA 按鈕、CMS 插件或潛在客戶生成的彈出窗口,每次加載頁面時都需要重新加載這些元素。
根據(jù)腳本大小,這些腳本可能會降低網(wǎng)頁的加載速度,或?qū)е戮W(wǎng)頁無法一次性加載完畢,這被稱為“內(nèi)容跳轉(zhuǎn)”或“布局偏移”,尤其會讓移動用戶感到沮喪,因為他/她們往往需要滾動頁面才能看到完整的網(wǎng)頁內(nèi)容。
限制使用重定向
重定向是指將訪問者從一個網(wǎng)頁轉(zhuǎn)到另一個網(wǎng)頁。重定向會增加幾分之一秒的頁面加載時間,有時甚至需要幾秒鐘。重定向有時是不可避免的,但可能會被過度使用;而且在擁有多個網(wǎng)頁所有者的大型網(wǎng)站上,重定向可能會逐步增加頁面加載時間。網(wǎng)站所有者應該制定明確的重定向使用指南,以及定期掃描重要的網(wǎng)頁,檢查是否存在不必要的重定向。
極簡化 CSS 和 JavaScript 文件
代碼更小化是指刪除計算機理解和執(zhí)行代碼時不需要的所有內(nèi)容,包括代碼注釋、空格和不必要的分號。這可以略微縮小 CSS 和 JavaScript 文件的體積,從而讓瀏覽器可以更快速地加載這些內(nèi)容,減少占用的帶寬。盡管代碼更小化通常只能帶來微不足道的性能提升,但它仍然是一種重要的比較好的做法。
使用有效的第三方服務,實現(xiàn)重要的網(wǎng)站功能
托管:如果源服務器響應請求的速度很慢,即使是設(shè)計比較好的網(wǎng)站,其網(wǎng)頁加載速度也會很慢。網(wǎng)站所有者應該選擇平均響應時間低于 200 毫秒,且擁有良好的可靠性記錄的服務器。
DNS:DNS 是一個域名轉(zhuǎn)化系統(tǒng)(將example.com 轉(zhuǎn)化為 IP 地址),這是頁面加載過程的重要組成部分。網(wǎng)站所有者應該選用能夠快速且可靠地提供解析結(jié)果的 DNS 服務,而不是依賴于 Web 主機的 DNS。
緩存:網(wǎng)站內(nèi)容距離請求者的位置越近,他們接收到相應內(nèi)容的速度就越快。網(wǎng)站所有者應該使用內(nèi)容交付網(wǎng)絡(luò) (CDN) 在全球多個地點緩存 Web 內(nèi)容,如此一來,用戶的請求就不必跨越數(shù)百或數(shù)千英里(以及許多自治網(wǎng)絡(luò))的長途傳輸才能到達網(wǎng)站的源服務器。
網(wǎng)絡(luò)安全:DDoS 攻擊、惡意機器人以及其他網(wǎng)絡(luò)攻擊,可能會降低網(wǎng)站性能。這個話題的涉及面過于寬泛,無法在此一一詳述,但網(wǎng)站所有者應該選擇一家 Web 應用程序安全提供商,既可以過濾惡意流量,同時不降低合法流量的速度。
Cloudflare 如何幫助提高 Web 性能
Cloudflare 是一個全球互聯(lián)網(wǎng)安全和性能平臺。此平臺可以連接到覆蓋 330 個城市的全球網(wǎng)絡(luò),幫助提高各種規(guī)模和復雜程度的網(wǎng)站的運行性能。
對于個人網(wǎng)站和小型企業(yè),Cloudflare 提供免費計劃和優(yōu)惠計劃,只需幾分鐘即可激活,并且自動包含重要的網(wǎng)站性能增強功能:
高性能 DNS 服務
CDN
圖像優(yōu)化
移動優(yōu)化
防范 DDoS 攻擊和常見的惡意機器人攻擊
對于大型企業(yè),Cloudflare 還提供企業(yè)級性能服務,可與任何類型的 Web 應用程序或基礎(chǔ)架構(gòu)搭配使用。