刚刚听到网友反应说因为用了石头的主题后博客速度超慢,决定放弃这个主题了。石头觉得非常不可以理解,因为用了石头的主题所以博客会变慢,怎么可能?
先让我们看看会让博客变化的主题可能会存在些什么问题?Z-Blog采用的页面缓存机制会在首次读取模板内容后缓存入文件,再次访问直接调用静态文件,所以如果博客变慢,排除服务器问题和网络故障,那原因只有在代码上。
以前曾经听到朋友说松松的模板使用后会比较慢,我以前曾经解析过松松模板的构成,那到底是什么原因造成的模板使用后会变慢?石头觉得在模板上存在以下问题才会造成模板使用后博客变慢:
1、代码凌乱沉冗
不整齐不清晰的代码结构和复杂而又无用的代码在一定程度上不仅增加了网页的大小,还造成用户端浏览器的无用解析,所以网页打开会变慢。比如过多的调用JS函数,太复杂的文件名命名等等;
2、图片太大
一个普通的文章页网页大小也最多20-30K,而一张图片的大小大则可以达到1M,小则不低于1K,所以如果模板所需要图片都没有经过压缩处理,往往会严重影响网页打开的速度;
3、过多的图片下载请求
这主要表现在网页所需的素材都需要一一下载,意思就是在CSS中没有使用CSS定位切割的方式来加载图片,而是为每一个图片素材都分开读取,如:
#Menu {width:950px; height:45px; background:url(images/menu_bg.jpg) no-repeat;}
#Body{width:950px; height:500px;background:url(images/body_bg.jpg) repeat-x;}
#Footer {width:950px; height:90px;background:url(images/footer_bg.jpg) no-repeat;}
在Menu、Body、Footer这三个类中,每一个类都有一个不同的背景图片,所以浏览器也会向服务发出三次图片下载的请求,而实际上,我们完全可以更改CSS达到只发出一个请求。原理在于CSS的background中可以使用X,Y坐标的方式来定位图片,所以我们可以把三张图片合并一张,再定位调用,以上CSS可以改成:
#Menu {width:950px; height:45px; background:url(images/bg.jpg) no-repeat 0 0;}
#Body{width:950px; height:500px;background:url(images/bg.jpg) repeat-x 0 -45px;}
#Footer {width:950px; height:90px;background:url(images/bg.jpg) no-repeat 0 -545px;}
这样不仅减少了HTTP请求,而且更容易维护。通过以上分析,石头觉得说因为使用了石头的模板所以博客变慢是不可能的,如果你也因为使用了某模板后博客变慢了,不妨试着用本文分析分析,看看原因到底在哪里?
原创文章转载请注明引自石头博客 http://www.stou.info/ 欢迎订阅石头博客。
卢松松那模板就速度很慢。代码太复杂了不好改。
顶博主!学习了!
感觉还可以,不过发现石头哥网站速度比我的快。。
三张图片合并一张??
这样也可以? 教教我。
不错!
用卢松松的博客,确实会慢很多,而且有时还不能完全打开。
- -
我的博客一向走简约路线的..
很快啊,慢的时候再看了。
博主说的有道理,不过我的才刚开张,不存在慢的问题,以后再说吧,呵呵!
看了一下,感觉还蛮快的,不觉得哪里慢了
速度慢的话确实是个大问题。
挺快的呀,不觉得哪慢了。
至少比起我自己的快了N倍,我也准备从WP那找个新皮来换上,现在这个实在是太慢了。
很少研究过。
原来是这样啊,学习!
石头的博客速度很快啊,如果说石头博客有很多图片加载速度慢,这还说的过去。
但是的确是没有的,所以说是石头博客的模板有问题,我不敢认同。
CSS定位切割这项技术确实能提升网页载入速度,但是有很多人都不会,所以调整模板难度就会加大,对代码的SEO一般小菜鸟都不怎么会,反正拿到一个主题后不要做太多的修改,不然结构会多多少少的改变。
对了,今天你的主页速度好多了。
学习,占位!
第一次来,留个名
再测试下评论,呵呵,问题多多呀。加油。
没感觉到慢啊,不过还是期待石头的新模版