版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 爱博文提供海量资料满足您的求知欲!本站所有资源部分转载自互联网!版权归作者所有!网站瘦身SEO代码优化seo代码优化是一项比较复杂的工程,大多数seo人员对网站的代码优化了解并 不多,希望这篇seo代码优化的文章能有一点点帮助。网站为什么都需要SEO搜索引擎优化呢?有一部分原因就是网页设计不规 范造成的。今天我在这里讲一下网页如何瘦身,代码如何优化?我们大家都知道,网页设计无论是基于那种语言都是两种布局方式和架构: 一是:table 做的;二是:div+css做的然而这两种架构也不是绝对的互斥的,也有出现你中有我,我中有你的情 况。为什么要网页瘦身呢?原因是,搜索引擎本身的资源是有限的,在一
2、定的时间内他的存储空间也是 有限的。如果一个页面是2k相比一个将1m的页面来说,2k的页面存储500个 的空 间,只能放一个1m的页面。鉴于对搜索引擎的考虑,我们应该让他减轻负还有就是:1.尽可能的减少数据的数据的传输量。2.尽可能的减少数据的 传输频率。如何做到以下几点:1.提高网页的下载速度2.降低服务器使用的资源3. 提高网络带宽利用率首先我们会把注意力放在导致速度下降的最大因素上:图片,二进制文件上。这固然重要,但是优化html代码,css代码和javascript 也是相当重 要的。但是,我们常常忽略了这一点。我们了解一个典型的网页加载流程是:首先(x) html文件最先浏览器读到,
3、然后加载到内存中,因为这个文件决 定了整个网页中其他文件的关系,一般情况下,我们称这个为主文件(hostdocume nt)浏览器一旦加载完成这个文件,便开始解析各种markup 了在从文件顶部开始向下解析的过程中,会同时发出一系列的相关对象的请求,包括外部脚本,样式表单,flash等其他元素。而这些css和javascript则有可能继续 触发一些相对图片和脚本资源的请求。从这了可以看出主文件的重要性,如果能把他尽可能快的传给浏览器,浏览 器就可能先一步解析。所以第一步,需要对主文件进行优化,减肥。如何优化传 输,我们 的基本方法是:是什么?减少空白区域,精简css和javascript1.
4、 除去空白区域,一般而言,空白区域(空格,制表符,换行符等)都可以安全删除,但要避免修改pre,textarea,及受css属性中white- space 影 响的标签。我还有一个建议就是,这些代码在优化前,大家留一个备份,因为毕竟有空白区域的代码,我们看起来比较舒服,不至于是我们的眼睛太累,可能 我们后期还要对优化的过的代码进行再操作2. 出去注释,除了在客户端给ie和doctype声明的注释,几乎所有的注释 都可以k掉,毫无顾虑3. 使用短格式的颜色表示,我们常常在用颜色的时候喜欢用16进制和全颜 色名称,认为这样比较精确,但我们要尽可能根据实际情况使用短格式的颜色表 示女口: #ffOO
5、OO,其实就是red一些名称可以用最短字符来4. 用短格式的字符表示。和最短颜色表示一样, 表示,我们可以用较短的数字来代替某些长长的字母'5. 除去无用的标签。有些无用的标签,比如使用了多次的重复标签或者某些 编辑器里面用做广告的meta标签,都可以安全地去掉。css 优化,css也有一套成熟而有简单的方法。实际上,时下大多数的css都较(x)html更容易压缩。1. 除去css中的空白区域。相比html 来, css对于空白区域没有那么敏感, 所以除去空白区域可以极大地减少css文件和style样式表的区域大 小2. 除去css注释,如同除去markup代码中的注释一样,由于 cs
6、s的注释对 普通的最终用户来说并没有什么使用价值, 使用应该除去。不过,如果考虑到 较 低级的浏览器,则css中的style标签中的屏蔽注释信息不可以除去。 使用短格 式表示颜色,同上,不再重复。3. 对css的规则进行合并,如这短代码: pfo nt-size:36pt;fon t-family:aral;lin e-height:48pt;fon t-weight:bold;可以这样写:pfo nt:bold 36pt/48ptarial;这样的话,数据量顿时就见效了许多。这些都我们可以注意到,而又没有在 意的方面,seo就是细节,细节决定成败。4、在CSS优化中最危险的动作可能是重命名类
7、或ID值了。看看如下规则:.superSpecial color: red; fon t-size: 36pt;本站所有资源部分转载自互联网!版权归作者所有!可将其更名为sS。而 对ID值一样可以遵循这样的原则,例如对于:#firstParagraph backgro un d-color: yellow;则可将原来的” #firstParagraph ”重命名为” #fp ”,并在整个文档中重复 这一动作。诚然,这样做可能会涉及到“标识-样式-脚本”互相依赖的问题: 如果一个“ tag ”有一个ID值,而这个值又可能不但用于样式表,还可能用于脚 本参考,甚至可能是一个链接目标地址。在这种情况
8、下,您一旦修改了这个值, 您就必须得保证对所有相关的脚本和链接参考都进行了相应的修改,包括其他文件中的这个 值,所以千万要小心细致。改变类的值相对改变ID值来说,危险性小一些。因为经验告诉我们,比较起ID值来说,大多数JavaScript程序员都不太经常处理类的值。然而,改变类的名 称来缩减CSS的尺寸也面临着和改变ID名称同样的问题,所以再次强调,要小 心谨慎。请注意:最好不要更改名称属性,尤其是表单区域中的名称属性。因为 这些数值也会被服务器端程序所操作。虽然不是不可能,但对多数的网站来讲, 要 计算好这些相互依赖关系是困难的。JavaScript 优化越来越多的网站都依赖于JavaScr
9、ipt来生成导航菜单、表格确认和其他各种各 样实用的东西。不足为奇,大多数这些代码都非常笨重,亟待优化。对JavaScript 代码的很多优化技术同那些用于 markup代码和CSS的技术很相似。不过,对 JavaScript的优化必须更加小心翼翼,因为一旦操作有误,其后果可能不仅仅 是显示变形,并且可能导致网页残缺不全。下面我们先来看看一些最简单明了的 方法,然后再探讨那些需要小心操作的技巧。n除去JavaScript注释除了注释,其他所有的/or /* */注释都可以安全删除,因为 它们对于最终使用者来说没有任何意义(除非有人想了解您的脚本是如何工作的)。n除去JavaScript中的空白
10、区域 有意思的是,除去JavaScript中的空白区域并不象想象的那么有用。一方面, 像如下代码:x = x + 1;显然可以简短得写成x=x+1;然而,很多随便的JavaScript程序员会忘记在两行之间加上分号,这时空白区 域的除去就会带来问题。比如,下面合法的JavaScript使用了暗示的(implied) 分号:x=x+1 y=y+1草率地删除了空白区域则会产生如下表达式:x=x+1y=y+1显然,错误就产生了。但如果您加上必需的分号,如下: 爱博文提供海量资料满足您的求知欲!本站所有资源部分转载自互联网!版权归作者所有!x=x+1;y=y+1;则在字节数上并没有减少。然而在此,我们
11、仍然鼓励这种格式的变化,因为对 w3compiler Beta版的测试反馈中,很多人对看起来压缩了的脚本非常满意(也许这是因为视觉上确认了对原始代码的格式转变)。他们也喜欢这种处理方法产生的另一个效果,那就是让交付的代码变得更难读。n进行代码优化简单的方法如除去暗示的(implied)分号,某些情形下的变量声明或者空回车语 句都可以进一步减少脚本代码。一些简略的表达方式也会产生很好的优化, 例如:x=x+1;可以写成:x+;不过得小心谨慎,不然代码很容易出错n 14.重命名用户自定义的变量和函数为了阅读方便,我们都知道在脚本中应该使用象sumTotal这样的变量而不是s。 不过,考虑到下载的速
12、度,sumTotal这个变量就显得冗长了。这个长度对于最 终使用者来说没有意义,但对浏览器下载则是个负担。这个时候s就成为较好的 选择了。先写好方便阅读的代码,然后再使用一些工具来处理以供交付。这种处理方式在这里再一次展示了其价值所在。 将所有的名称都重新用一个或两个字母 来命名将带来显著的改善。n改写内建(built-in) 对象长长用户变量名会造成JavaScript代码过长,除此之外,内建(built-in) 对象(比如 Window Documen、Navigator等)也是原因之一。例如: alert(w in dow .n avigator.appName);alert(wi nd
13、ow. navigator.appVersio n);alert(wi ndow. navigator.userAge nt);可以改写成如下简短的代码:w=w in dow ;n=w.n avigator;a=alert;a(n. appName);a(n .appVersio n);a( n.userAge nt);如果这几个对象使用频繁的话,这样改写带来的好处就不言而喻了。 事实上这些 对象也的确经常被调用。然而我要提醒的是,如果Window或Navigator对象仅仅被使用了一次的话,这样的替换反而使代码变得更长。所以手工进行这种优化时要格外小心,不过好在目前市面的常用的JavaScr
14、ipt代码优化工具都已经考虑到这个因素了。这个技巧带来一个对象更名后脚本执行效率的问题:除了代码长短上带来的好处, 这种改写更名实际上还会稍微的提高一点脚本执行的速度, 因为这些对象将会被 放在所有被调用对象中比较靠前的位置。JavaScript游戏开发程序员使用这个 技巧已经有多年了,下载和执行速度都会有所提高,并且对本地浏览器的内存花 销也会降低,可谓一石三鸟。文件方面的优化最后一类的优化技巧与文件和站点的组织有关。下面谈及的一些技巧可能会牵扯 到服务器的调整和站点的重构n重命名用户访问不到的独立文件和目录一些站点往往包含有诸如SubHeaderAbout.gif或rollover.js
15、等是用户无法通 过URL来访问的文件。它们通常都保存在一个标准名称的目录中, 比如/images, 因此我们常常会在markup代码中看到这样的句子:<img src="/images/SubHeaderAbout.gif">或者更糟糕的象<img src="./././images/SubHeaderAbout.gif>既然这些文件从来都不会被访问到, 对于最终使用者而言,方便不方便阅读便无 关紧要。考虑下载速度的因素,上 述句子改成下列形式更有意义:<img src="/0/a.gif">然而手工的文件和
16、目录的修改工作量太大了, 我们可以借助一些内容管理系统来 完成相关的工作,比如将内容重命名成简短格式等。前面提到的w3compiler就 有自动复制并且检查相互依赖关系的功能。 如果使用得当,这个技巧会给引用这 些文件的(X)HTML文件减肥不少,并且也让那些剽窃(X)HTML的人重新使用这些 文件设置了重重障碍。n使用URL rewriter 来缩短所有的网页 URL(例如 products.html )进行注意在刚才提到的技巧中并不建议对网页的文件名 重命名。那样的话,则下面的标示:<a href="products.html">Products</a
17、>就会变成 爱博文提供海量资料满足您的求知欲!本站所有资源部分转载自互联网!版权归作者所有!本站所有资源部分转载自互联网!版权归作者所有!<a href="p.html">Products</a>这背后的主要原因是读者会看到一个这样的URLhttp:/www.site 相比起http:/www.site 来,后者比前者要来的更有意义、更 好用的多。不过,在不牺牲网页URL原义的前提下,假如我们结合更名技巧和修改服务器配 置的话,我们还是有可能从缩短文件名中得到收获。譬如,在源代码中把 products.html 用p.htmll替换掉,之后再设
18、立一个 URL复写(rewrite) 规则, 由服务器端的一个类似复写模块的过滤器比如来使用这个规则,从而再把这个URL扩展成一个较为用户友好的值。注意这个窍门,如果这个复写规则只执行外 部(external)重定向的话,新的URL仅仅会写在使用者浏览器的地址条处, 因而会强迫浏览器重新请求该页。在此种情况下,文件本身没有被重命名,仅仅 是在源代码中URL里使用了重命名的简短的文件名。由于这个技巧依赖于URL的复写,并且缺少对服务器端工具(如复写模块)的广泛 接触渠道和理解,即使是象w3compiler之类的高级工具在目前也不推崇使用这 个技巧。然而, 考虑到像Yahoo!这样的大型网站通过积
19、极使用该技巧得到了显 著的获益,这个技巧是不能够被忽视的,毕竟它给目录及文件名称都是非常具描 述性的站点提供了明显的减肥(X)HTML文件的效果。n除去或缩短文件扩展名想想看,其实有些情况下文件的扩展名并没有多大用处,比如.gif, .jpg, .js等。浏览器不会依赖这些扩展名来显示页面,而是在处理时使用MIME类的头信息(header)。了解了这一点,我们就可以把:<img src="images/SubHeaderAbout.gif">简化为:img src="images/SubHeaderAbout"或是结合文件名目录名重命名,我们
20、可以得到:<img src="/0/sA">.您可别乍一看这个结果就吓跑了,.sA.gif 仍然是.sA.gif文件,只不过网页的访问者不知道罢了。不过,为了使用这个相对高级的技巧,您还需要对服务器来做一下修改。主要要做的工作是启用一个叫做“内容协商”(con te nt n egotiatio n)的东西。它可能是服务器自带的,也可能需要一个扩展(比如象Apache的mod_negotation 模块或者IIS里Port80的PageXchanger )来支持。这样做会有一个负面的影响, 它可能会造成服务器性能的一点损失。 然而,内容协商的功能所带来的好处远大
21、 于所付出的。干净利落的URL可让您的网站即安全又轻便,甚至还使得自适应的 内容传递变成可能:根据访问者浏览器的功能和系统的设置来向他传输不同类型 的图片或语言!更多的说明请参看同作者所著的 Towards Next Gen eration URLs 一文。注意:少了扩展名的URL不会降低您网站在搜索引擎上的排名。Port80软件和 其他知名网站(如 W3C网站)都使用此技术而没有负面效果。n重构script和style调用方式来优化请求次数我们常常在一个HTML文件头中看到这样标记代码:vscript src="/scripts/rollovers.js">v/script> vscript src="/scripts/validatio n.js">v/script><script src="/scripts/tr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版电子商务平台搭建与推广合同3篇
- 2024年度国际酒店管理服务与加盟合同3篇
- 2024年个体运输服务合同2篇
- 2024版内墙涂料粉刷环保要求合同3篇
- 2024年房产证押借款合同8篇
- 防洪工程施工监理合同三篇
- 2024年劳务派遣公司合同样本
- 2024年出口业务中间商报酬合同一
- 2024年合同授权代表委托说明书3篇
- 2024年度高品质五金材料采购合同样本版
- 2024年国际劳务输出合作合同(中英版)版B版
- 中华人民共和国安全生产法知识培训
- 2023年北京市燕山初三二模化学试卷及答案
- 儿童脑瘫中医治疗
- 共青团教育课件
- 2024年保险公司工作计划模版(2篇)
- 消除歧视关爱艾滋病
- 考研计算机学科专业基础(408)研究生考试试卷与参考答案(2025年)
- 2024 ESC慢性冠脉综合征指南解读(全)
- 学校消防安全隐患排查整治方案3篇
- 华南理工大学《民法总论》2021-2022学年第一学期期末试卷
评论
0/150
提交评论