一直以来,在我的疯狂优化提速下,我的 WordPress 的 Ylow 评分始终保持在 Grade A 99分,几近完美。不过使用的只是 Small Site or Blog 规则,若是用 Yslow(V2) 规则,小站就只能得个 Grade C,差距为何会如此之大呢?小站倒底有哪些条款没做到 Yslow(V2) 的要求呢?又如何加以改正使之进一步提速呢?
用 Yslow(V2) 规则评测本站,可以发现几个明显的失分点:1.Use a Content Delivery Network(CDN) 2.Add Expires headers 3.Configure entity tags(ETags)这三项我都得了F,这总分 Grade C 也就是被这三项害的。下面一一分析下这三个最容易失分的要点并给出相应的优化方案。
1.Use a Content Delivery Network(CDN)
这个看上去好像很深奥的样子,但是只要结合中国的网络特色,这个便不难理解了。“北方服务器”、“南方服务器”、“电信服务器”、“网通服务器”……这些词听起来是那么熟悉和压抑。如果,一个北京的电信用户试图从广东的网通服务器上打开一个类似《壁纸合集》帖子的网页时,你就能很深刻的理解。鉴于这个不是我们开发人员力所能及的准则,所以这里也就不多言了。 此段摘自:http://www.cnblogs.com/levin9/articles/965404.html
2.Add Expires headers
浏览器会用缓存来减少 http 请求数来加快页面加载的时间,如果页面头部加一个很长的过期时间,浏览器就会一直缓存页面里的元素。如何给头部加期限呢?其实就是在 .htaccess 文件中写入以下内容:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A86400
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
</IfModule>
该方法摘自:http://uicss.cn/promotion-loading-rate
不过可惜,因为我的虚拟主机并没有开启 mod_expires 模块,所以再争扎也没用,对这一点的优化我也只好放弃了。
3.Configure entity tags(ETags)
ETags(Entity tags)是服务器和浏览器的一个功能,它用来判断浏览器缓存里的元素是否和原来服务器上的一致。ETags 比 last-modified date 更具有弹性,它用一个独一无二的字符串来标识一个元素的版本。如果你不想发挥Etags提供的这个弹性验证模型的优势,你最好关掉它。我不是很懂这些,所索就把它关掉了事,方法很简单,就在 .htaccess 中加一句话:
FileETag none
说了半天,我力所能及的就是把 Configure entity tags(ETags) 这一项从F优化到了A,总成绩也从 Grade C 上升到了 Grade B,有点小成绩,心里也宽慰一些。向 Yslow 之 Grade A 继续迈进!
-
Wordpress 优化小结之二2009年07月13日 -
A-Z 26条WordPress.htaccess技巧2009年06月23日 -
Wordpress优化小结2009年06月12日 -
潇洒步入YSlow之Grade A时代2009年06月9日