YSlow 和 Page Speed 优化
YSlow 和 Page Speed 是两款知名的网页性能分析工具,可以对你的页面载入效率进行打分,并给出改进性能的建议。
很多做主题的朋友都会参照这两项进行优化,并分享改进的经验。
那我也赶下潮流,稍微花了些时间,把 YSlow 和 Page Speed 的分数都提高到了 A 级,当然这只是首页的成绩。
晒测试成绩
成绩如图:
测试的项目为全部,也就是 YSlow 23项、Page Speed 28项。
Use a Content Delivery Network (CDN) 这一项基本是 0 分,嘛,小网站无视。
另外还有一些图片缩放、CSS 选择器部分导致扣分。
如何提高 YSlow 和 Page Speed 的分数
其实也不难,下面从几个常见的方面说说怎么提高等级。大多来自朋友们分享的经验。
减少页面文件大小
- 优化图片:压缩体积,减少使用缩放的图片
- 压缩 CSS 和 JS 文件
减少 HTTP 请求数,减少 DNS 查询
Http 请求数当然是越少越好,这方面的优化也很简单:
- 合并 JS 、CSS 文件
- 给背景图片做 CSS sprite
- 不要外链太多其他域名的文件
Use cookie-free domains
Use cookie-free domains 这一项对分数影响很大,建议折腾。
当浏览器向服务器请求一张静态的图片前,会先发送同域名下的 cookie,服务器对于这些 cookie 不会做任何处理。因此它们只是在毫无意义的消耗带宽。所以你应该确保对于静态内容的请求是无 cookie 的请求。
在 wp-config.php 加入
define('COOKIE_DOMAIN', '你的博客域名');
这样你的所有子域就 Cookie-free 了,然后用子域名来作图床是很好的选择。
对于不加 WWW ,而是直接用顶级域名的,那么上面设置之后,子域名还是会带 Cookies,只能用另外的域名做图床了。
Add Expires headers
Expires header,就是过期时间的header报文。这个文件过期时间,其实就是通过header报文来指定特定类型的文件在浏览器中的缓存时间。有些文件(例如样式表中调用的背景图片和文章中调用的图片)其实在很长一段时间内我们都不会对它们有什么改变,这类文件可以设置非常长的缓存时间,这样浏览器以后就不需要再从服务器下载这些文件而直接从缓存中读取,从而大大加速网站的载入速度。
这个我们只要在 .htaccess 文件添加几行代码即可。
# Expire images header
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/ico A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000
Configure entity tags (ETags)
在 .htaccess 中添加:
FileETag none
其他方面的优化
- 尽量不使用内嵌脚本、样式,应从外部加载
- 把 CSS 文件放在源代码的开头,把 JS 放在页面底部加载
- 优化 CSS 选择器(网页分析其实部分目的也是为了提高这方面的技巧)。
- 开启 Gzip ,这方面插件和代码的实现方法都有很多,有的主机控制面板还可以直接设置。
- 使用缓存插件(Hyper Cache、WP Super Cache 等)、数据库缓存插件(WordPress Object Cache、DB Cache Reloaded 等)
参考资料
以前把相应的链接放在了文章每段中,都有同学反映说我没给出方法。。。
囧,难道是因为链接样式不显眼么。这次试试单独放一段。
感谢这几位博友提供的经验。
- WordPress速度优化之Expires Headers | Axiu’s blog
- html代码层次加速WordPress – Kangzj
- Cookie-free Domains Yslow 极限页面性能优化 – 大猫の意淫筆記
- [网站加速]之优化网站Yslow评分到99 | 自力博客
Gtmetrix:在线测试 YSlow 和 Page Speed
YSlow 和 Page Speed 都是基于 Firebug 的插件,使用 Firefox 的朋友就方便了,直接装扩展即可。
A.shun 这里用来测试的是在线网页性能分析工具 Gtmetrix,同时进行 YSlow 和 Page Speed 的测试,也会详细列出各个项目的成绩,给出改善的建议。
官方提供了 Bookmarklet 方便调用,拖到你的书签栏或个人栏:Gtmetrix Test any page easily
顺便提供 Opera 按钮(国际惯例 😛 ),拖到你的工具栏:Gtmetrix Test any page easily
P.S.
1. 其实要把分数再提高些也完全可以做到,只是没必要。
分数这些只是个参考,过分追求就不美了。而且有些优化会给我们平时修改主题带来麻烦。
2. 本文谈的问题主要是网页的性能,这不等于访问速度。
访问速度在极大的程度上是取决于主机的带宽和性能,以及访问者的网络环境。
» 转载请以超链接形式注明来源:A.shun Blog » 《YSlow 和 Page Speed 优化》
» 本文链接地址:http://shun.im/21431
@@
@snowxh 乃果然是无敌的
@A.shun 可惜我还没考完试!就随便杀花下好啦啦啦啦 😆
杀!20:26
测试提交再修改,时间到底算哪个?HOHOHOHO
等
等
等!20:28
再等再等~
@林木木 好可怜…
@林木木 是定时在了26发的。。。不过服务器的时间和这里有点不同步。。。
我是幸福的沙发。 😳
@Vicia 我是杯具的地板……
@Vicia [摸摸头](~ ̄▽ ̄)ノ
@Vicia 这篇文章看起来好专业。国际惯例很可爱。xD
一直有折腾wp的打算,可是已经生疏了,重新拎起来很没头绪,不知道该从哪部分开始。主题也想换个,找不到合适的,自己更没时间造个满意的。就这么拖啊拖,也不知道这次圣诞假期是不是真会在这方面好好折腾一下。都对自己没信心了。
先去测下我的分数。= =
@Vicia 别被打击到哈 😎
@Vicia 摸摸。
分数是浮云,简单能优化的就折腾下吧。
@A.shun 不打击。这样的结果折腾起来才有动力。 😎
@A.shun
我的分数也差不多就这个
这些我也做过我也做过~哦也
还没功夫做优化,有时间确实要搞一下了。
果然是国际惯例啊,呵呵,几乎每一篇都有一个opera的工具栏按钮 😀
@婉秋 只是偶尔。
有相关的在线资源站点就顺便贴上嘛
沙发难坐啊 ❗
我没有www……只能杯具了……
@阿修 应该有其他办法的。有些差插件可以实现吧。
不过分数什么的,无所谓。
cookie-free原来是这样搞,哈哈,一直不鸟它
顺你个折腾帝……
我的,好大一对 C,囧。不过看了看也没多少改进的余地了,幸好没有分数癖。
O卡不卡 没尝试过.
在腾讯微博中点击链接,打开显示的居然是手机版样式。
@zrqx008 腾讯微博很那个。。。短网址了也要加上自己的调整
折腾帝啊
测试测试
@希锐亚 原来你还用 mac 的 👿
@A.shun
我在测试修改user agent 😀
以前有网上有很多图片有这个功能,现在找不到,只能到你这里来了。
@希锐亚 我用的是 WP-UserAgent 插件,准确度和选项都不错
另外还有一个 Comment Info Detector,有显示国旗的功能。
嘛,wp 下的这些选择都很多。
只是测试自己浏览器 UA 的话,用简单的 js 即可。
锲而不舍地追求精致。
我上80分就满足了。。 😆
YSlow: 91
Page Speed: 93
小博客 这些都是浮云~ 😛
super cache多了CDN选项,可以搞cookie free
@bigCat 我现在用的是 Hyper Cache ,被主机商强制的,锤地 😡
我现在好像只有主页是A了,single就只有B了= =(淡定
@静夜燃香 我的内页也是B。
偷偷跑去测试你的,别受打击。。。(淡定
呵呵。很强大,找时间我也弄弄~
学习了
如果再这样一来,主题肯定又被改来混乱无章了。。
这个前来学习了
现在的主题是图片搭起来的。。。无视Yslow无视ps。。。正在修改的那个已经弄到双a了 😀
等有空折腾了,再来请教请教你 😆
@Weitian Zhao 图片多华丽嘛
其实图片质量恰当的话对分数影响不大的。
主要还是 Add Expires headers 和 Use cookie-free domains 两项
请教不敢当,相互学习~
先学习一下,暂时还没用到。
测试 手机评论
82~~主要是没有启用CDN
看来我的也很慢啊
我是两个插件都装了,优化优化再优化,哈哈
刚进来我以为我看到乱码了、、点击文章才到了正常页面、、嘻嘻 😛 ❓ 😈
@魂牵梦萦、遇见你 纳尼。。。我的首页居然给人乱码的感觉。。。
现在不敢安装插件了,我已经装了16个了,人家说太多了不好、吓吓 ➡
@魂牵梦萦、遇见你 我现在是9个~
的确是不要太多的好。
先把Use cookie-free domains弄起来。
好像我一次都没有做过这个和w3c验证,回头试一下,希望不要太恐怖鸟。 😳
@小邪 o(* ̄▽ ̄*)ゞ,干脆麻烦你帮我验证一下,打击一下我可怜滴小心灵好了。
@小邪 那我就不客气的打击了~ 😎
你那个 Yslow 不错了,page speed 是稍差。
w3c 验证也没过。。。
@A.shun 嘿嘿嘿,yslow倒是不错啦,就是pagespeed很蛋疼 ~
很多图片优化之后反而很糊了 ~
所以下不了手压缩图片 ╮(╯▽╰)╭ ~
【- _ -】,这个,w3c倒是在意料之中,因为这是我这辈子第一次做 【- -】,w3c验证 【- -||】 ~
突然感觉到了杯具 👿 👿 ~
@小邪 w3c 那个很好解决,错误都标得很详细,css的话就是太多私有hack了,-moz、-webkit 什么的用js吧。
图片我也没有压缩,分数影响不是很大,但改起来麻烦,没必要
难怪你博客打开速度这么快。
哈哈、、我再看看,,习惯就不会觉得了 😛 😀
先学习了,空了来折腾~
最近事多,暂不折腾
关键还是看主机性能。。
如果我的站去测试一定惨不忍睹…博客常常当成实验室来改~~~
YSlow Grade:
(91%)
Page Speed Grade:
(96%)
我尽力了(除了css- -!),虽然还是有很多地方偷懒的..嘿嘿..
大概有那么多就行.. 😳
@mice 不错的成绩
怪不得,我总感觉网页很快呢
感谢ashun的文章,昨天对底子比较好的古博优化了一下:
YSlow Grade:
(96%)
APage Speed Grade:
(95%)
@天毅 原来的还有这么个博客。
恩,你的主题都很简洁,分数容易提高。
我大概看了一下,你这里访客极少用ie的啊,基本都是chrome+firefox+opera,chrome好强大……
学习了。谢谢分享!
你的wordpress主题挺不错的说。
感谢分享,现在去试试这玩意~
这两天在折腾WP主题,A.Shun兄的博客给了我不少帮助啊!谢谢! 😀
折腾了一下,前一个95,后一个87,快过年了就不折腾了!新年快乐!
@Terry Chen 哈,折腾好,不过别太沉迷哦
还是拿古博开刀
YSlow Grade:(97%)
Page Speed Grade:(98%)
折腾快到头了,内页没有太折腾,毕竟wp插件加载的js是个麻烦事
YSlow Grade:(99%)
Page Speed Grade:(97%)
不过ashun,你知道最悲剧的地方在哪儿么,刚优化完就发现主题有升级,如果升级,意味着又得重头开始,一咬牙,果断跳过……
我用的是img.mengfei.me子域名存图
但是掉用file_put_contents
函数的时候报错额。。。好像是权限问题,这个应该怎么修改额?
@梦语飞歌 弄好了。。。是我目录弄错了,嘿嘿。
感谢分享哈~
折腾好了,继续折腾去
一分钱也怕失去的人,必然最后一分钱也没有。
4ikp6s