詳細探討Pingdom的各項分析
Pingdom 是許多網頁工程師用來判斷一個網站速度的熱門工具,以下整理一些參考數據及解決方式:
Minimize request size
保持餅乾和請求頭盡可能小確保一個HTTP請求可以放入一個單一的數據包。
http://onesmartclick.in/web-hosting/increase-pagespeed-minimiz-request-wordpress/
1.保持更新WordPress
2.消除不必要的插件和更新等
3.優化數據庫
4.緩存
5.Disable and Delete Post Revisions
6.禁用盜鏈
7.採用WordPress插件緩存
8.優化您的圖片
9.壓縮您的內容
10.添加您的所有緩存的靜態內容
11.優化您的CSS和JavaScript文件
12.Move calls to JavaScript files in the background
13.Use the AJAX Libraries API Google
14.減少使用外部腳本
15.Use CSS Sprites
Remove query strings from static resources
Most proxies, most notably Squid up through version 3.0, do not cache resources with a "?" in their URL even if a
1 | Cache-control: public |
header is present in the response. To enable proxy caching for these resources, remove query strings from references to static resources, and instead encode the parameters into the file names themselves.
在Pingdom的,GTmatrix,谷歌網頁速度洞察或YSlow的測試你的網站後,你可能會遇到這個網頁。如果我沒有錯,你正在尋找一個解決方案,以卸下像CSS和JavaScript的靜態資源的查詢字符串。你降落在右側頁面朋友。在本教程中,我將討論,什麼是查詢字符串WordPress的代碼結構?為什麼你應該從靜態資源刪除查詢字符串?你怎麼能刪除查詢字符串,並增加你的WordPress網站的速度?而從靜態資源中刪除查詢字符串會增加你的的網頁速度還是沒有?因此,讓我們開始吧......
http://technumero.com/internet/remove-query-strings-from-static-resources/2986
/** Remove Query strings from Static Resources. */
function _remove_script_version( $src ){
$parts = explode( '?', $src );
return $parts[0];
}
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
Serve static content from a cookieless domain
如果你是認真的優化速度WordPress的網站,那麼你需要設置你的網站,以服務於靜態內容,例如圖像和CSS文件,從Cookie的域。這將通過減少不必要的流量和分佈在更多的兩個地址的流量,而不是之一,圍繞著瀏覽器為多少並發請求可以在每個地址為極限工作加快你的頁面加載。
https://www.keycdn.com/support/how-to-use-cookie-free-domains
https://gulshankumar.net/serve-static-content-from-a-cookieless-sub-domain/
*注意,如果你是使用Cloudflare CDN服務,那麼它會強迫使用cookie,除非你換個域名來放這些靜態內容。
Leverage browser caching
當一個Web瀏覽器顯示在您的網頁它加載幾件事情像你的標誌,你的CSS文件和其他資源。
什麼瀏覽器緩存所做的是“記住”,瀏覽器已加載的資源。當訪問者轉到另一頁上你的網站的標誌,CSS文件等都不需要重新加載,因為瀏覽器有他們“記憶”(保存)。這是一個網頁的第一個視圖花費的時間比重複訪問較長的原因。
當您利用瀏覽器緩存,你的網頁文件都將存儲在瀏覽器緩存。您的網頁將加載速度更快的回頭客,因此將共享這些相同的資源,其他頁面。
https://varvy.com/pagespeed/leverage-browser-caching.html
Minimize redirects
重定向的指令或方法自動取一個文件的遊客到另一個文件或位置。它們在許多方面來實現的。每個方式傷害你的PageSpeed。
https://varvy.com/pagespeed/minimize-redirects.html
Combine external JavaScript
JavaScript文件都經常在幾個外部文件中找到。有不總是需要有這些文件是分離的,因為大多數的JavaScript可以組合成一個文件而不會影響其功能的方式。
收集所有的JavaScript文件合併成一個真的會減少花費的時間來加載網頁
Parallelize downloads across hostnames
Web瀏覽器把一個限制並發連接它們會使到主機的數量。當有許多需要被下載的資源,等待下載資源的積壓將形成。該瀏覽器將彌補到服務器盡可能多的並發連接的瀏覽器允許以下載這些資源,但隨後將排隊休息和等待完成的請求。
花在等待到完成連接的時間被稱為阻塞和減少這種阻塞時間可以導致更快的加載頁。
改善這種情況的一種方式是創建多個子域(例如static1.xxx.com,static2.xxx.com),使得在並行下載的資源的數量有所增加。這被稱為“域分片”。因為瀏覽器限制上的每個主機基礎的連接,建立一個子域增加連接,該瀏覽器可以使,允許更多的資源,以在同一時間被下載的新的池。以相同的頁面如上分裂和兩個域之間的資源請求,你可以看到,少了很多的時間都花在阻塞和頁面加載快約33%:
域分片可能會對性能產生負面影響 - 它增加了DNS請求時,以及連接時的碎片(在瀑布綠色段可見)的每個新的並發連接;但是,如果使用得當,可以大大提高資源的加載時間。實現它之前,您應該詳細了解如何與域分片的常見問題。
Specify a Vary: Accept-Encoding header
不支持的壓縮可能會導致你的資源的壓縮版本向用戶投放的一些公共代理錯誤。因此,要指示代理來存儲網絡資源既有壓縮和非壓縮版本指定不同而不同:Accept-Encoding頭是必要的。
http://stackoverflow.com/questions/6637678/set-vary-accept-encoding-header-nginx
https://www.gomahamaya.com/specify-a-vary-accept-encoding-header/
Combine external CSS
您正在使用你的網站的每個CSS文件時添加到您的網頁加載速度。有時,這是不可避免的,然而,在大多數情況下,你可以結合起來使用的不是“複製和粘貼”僅此而已兩個或更多的CSS文件。
Minimize DNS lookups
隨著網頁變得更加豐富的功能往往會使用更多的DNS查詢,這使得它呈現慢得多。
這個過程可以減慢你的網頁相當,你將需要使你的PageSpeed的決定之一是許多DNS查找如何太多。
這方面的一個例子可能是一個社會按鈕(臉譜/嘰嘰喳喳/谷歌+)這些社交按鈕可能會要求你不是真的想它可以增加更多的DNS查找的一個或多個其他資源。一個現代化的網頁的許多功能是資源重,並調用不同的領域做好自己的工作。另一個例子是谷歌網絡字體。他們實際上需要兩個DNS查找。
發表評論
想要留言嗎?歡迎歡迎!