A. 代码优化的注意事项有哪些

一、恰当地使用标题标签
合理的使用h1-h6标签,它的存在是告诉搜索引擎哪个是最重要的,哪些是次要的。对于页面的主题使用标签。充分利用到标签来指明内容的层次以及描述相似的内容区域。但不要一个页面使用多个标签。
二、避免页面重复
每个页面包括标题、描述和关键字等都应该不一样,需要注意的是很多设计师会做一个通用的模板,而用的时候又忘记修改。标题一定要是具有独特性的!
三、设计好网站导航
网站的导航全站通用,至关重要,尽量用文字导航,不要用图片和flash等,若一定要用图片请一定加上alt属性。Flash则尽量避免,Flash的效果是很好的,但加载很慢,搜索引擎也无法读取Flash文件。
四、精简代码,合理布局。
符合web2.0标准,使用div+css设计网页,合理布局标签尽量减少div层,使用描述标签,精练描述你的网页网络销售培训,将网站重点内容与经常更新的内容代码尽量靠近的位置。页面不要超过125K。
五、图片与文字链接加上属性
给所有图片加上alt描述属性。并符合W3C标准,搜索引擎会读取alt属性,图片的alt属性还可以帮助用户浏览。给文字链接加上title属性,并记住尽量减少用图片代替文字!
六、少用脚本,外部调用。
网站的javaScript和CSS等文件一律外部调用,不要把代码写在网页中,并且尽量减少脚本文件个数,这样不仅仅有利于网页加载速度也有利于搜索引擎蜘蛛的抓取!要提一下的是ajax效果虽然很炫,也尽量少用哟!
七、网页布局结构
面包屑型导航,树状扁平化结构。首页点击不出三次可以到达网站任何一个页面,任何页面都可以很快的回到想要的页面。文章内容部分先于其他部分显示,设置上一篇、下一篇文章,根据文章的关键词设置“相关文章",如果文章内容多分几页显示,需要保持每页的网页标题、文章内容均不同,避免出现复制内容问题。

B. 请教什么是代码优化

应该是抄页面整体代码的编排吧,袭搜索会访问你的源代码,也是一种优化巴,你看那些大网站靠前的,右键查看源代码,是否代码编排的很专业?呵呵比如更多网站pw用户就喜欢把标题和网站介绍还有关键字在代码里给重新优化下,原始的看起来非常的乱

C. 如下几条简单代码怎么优化

1. 最简单高效的实现方法是使用指针定义front,behind和tem。
T* front, *behind, *tem;
front = new T;
behind = new T;
tem = front; front = behind; behind = tem;
2. 右值引用比较复杂,没用熟悉前最好多做内练习。容实现如下
T&& move(T&& value)
{
return value;
}
T tem = move(front);
front = move(behind);
behind = move(tem);
右值引用避免了内存复制,效率大大提高,但是仍然不如方法1.
所以单纯交换数据来说,右值引用并没有多大的优势,它的主要优点是在于使用类,stl,函数返回值等情况时避免内存复制。

D. 代码优化是如何实现的

代码优化就是对网页中的html源代码进行必要的调整,以提高页面的有好行,页面经过优化后,一方面可以有效的精简页面中的冗余代码,加快页面的显示速度,同时降低页面占用搜索引擎服务器的存储空间,从而提高页面的用户体验及搜素引擎友好型;另一方面可以突出页面主题,提高页面的相关性。
主要步骤:精简代码;头部优化,权重标签使用及图片优化。在这四个环节中,精简代码是最基础、最根本。
1.精简代码是指清除或者简化页面中的代码,从而达到降低页面体积、提高页面的用户体验及搜索引擎优化性的目的。
精简代码又分五个小步骤:1.清理垃圾代码;2.html标签转换;3.CSS优化;4js优化以及表格优化。
1.1 垃圾代码是指那些在删除的情况下也不会影响页面正常显示的非必要代码。不要小看这些代码,他占据了很大的空间,不仅影响性能还影响搜索引擎的计算时间,所以代码最好是手写,如果用frontpage,Word,Dreamweaver,等工具写的话,产生的垃圾代码会非常多,所以手动清理掉。
1.2 html标签转换,主要是指使用短标签替换在网页中实现同样效果的长标签。例如与,两周都是对字体加粗,但是比多出五个字符,如果页面很多的话,就会产生很多冗余代码。
1.3 css优化。css优化主要是改变css的调用方式,以及避免使用css为重要内容定义样式。
使用div+css方式制作页面,一方面防止垃圾代码,另一方面可以减少重复代码。这种方式对搜索引擎非常友好。
1.4 js优化。js对搜素引擎极不友好。目前搜索引擎不能解析javascript生成的页面或者内容。所以重要的内容不能用js脚本生成;
1.5表格优化,传统的页面基本都是用table。但是这种方式对搜索引擎非常不友好,所以不建议用table
实战:我的网站gsm alarm system所有的页面都是手写,几乎没有任何的冗余代码,就是标签的转换,尽量避免了长便签。
还有就是css优化,所有的样式我放在外部页面,只需在头部添加引用即可,这样大大减少了页面的体积。
还有就是我采用了div+css的方式写了每个页面。
还有js优化,所有的重要内容都没有使用js,用js只是显示一些特效,但是js的代码也是写在外部页面,而要在页面的底部添加引用,千万不要再头部,如果在头部也会影响页面的性能的
而我的网站gsm alarm system所有的页面都遵守了上面所述规则。以上小弟如果有错的地方,各位大哥,可以给予指点,小弟不胜感激。好了今天就到此了,下节继续。

E. 代码优化

创建3个数组 myCompOverlay[6],BMapPoint[6],myBuldings[6]

F. 代码优化从那里入手

优化见解
php作为脚本语言被广泛应用于网页网站程序设计中。

由于是脚本语言,在运行时才对高级语言代码解释执行,所以跟编译语言(如C)比起来php的效率比较低,稍复杂的程序执行起来就需要消耗较多的时间。作为网页服务器时,低效率意味着消耗更多的服务器资源。所以,有必要通过优化php 程序代码来提高效率,减小服务器资源消耗。(当然如果你的程序本来就消耗很少执行时间或者你的服务器足够强,那就不一定要进行优化了)

网上很多文章介绍优化php程序,是通过安装Zend Optimizer之类的加速软件实现的,但这种加速是有限的。本文主要从程序代码着手介绍一些优化思路和手段。

程序的抽象层越多,各抽象层分离得越严格,程序效率越低。

最原始的应用于网页的php程序模式莫过于脚本嵌入模式,即仅仅在一个网页中需要动态处理或显示数据的地方通过加入<?php和?>标识符嵌入php脚本。一般来说这是php程序员最早学习的模式,它只有一个抽象层,就是网页,故本文称其为单层模式。

随着网站规模逐渐增大,程序员可能会发现单层模式的程序很难维护,当想对程序修改或扩充功能时,会发现代码非常混乱,感觉无从下手。于是模板类诞生了,它使得一个网页由两个文件组成:一个php程序文件,一个html模板文件。常用的模板类有PHPLib库带的Template模板类,Smarty模板类等。由于加入了额外的处理程序(模板类),程序效率下降了。你若不信可自己测试一下。其实一般情况下,不用函数(最原始的编程方法)比用函数(面向过程)的效率高,而用函数的效率又比对象封装(面向对象)高。所以就算在编译语言中,需要高效率的地方会用C写而不用C++,例如FreeBSD操作系统的内核;而需要极端高效的地方还要用汇编写。

为了使程序可以适应多种数据库系统,或者方便随时转换数据库系统,常常还会用一个类把跟数据库打交道的函数封装起来,这样当转换数据库系统时只要把封装类换掉就行了,主程序不需要修改。这里又用了一个类,效率又打折扣了。

上述模板类的使用,使程序分成两个抽象层:程序层和表现层。而数据库类的使用又把程序层分为数据接口层和数据处理层。

项目越庞大,需要分离的抽象层就越多,这样使得分工清晰,方便管理,但是以牺牲程序执行效率为代价。

对于抽象层造成的效率下降,优化的方法有二:减小抽象层、优化抽象层之间的接口。一般地,不应该为了提高效率而盲目减小抽象层,这样会使得代码混乱、难于管理。但是不应该为小项目建立过多的抽象层,除非你有将来把它做得很大的计划。关于如何恰当分割抽象层,本文不作更深入讨论。

对于上文说的两个分层例子,优化抽象层之间的接口分别是模板类和数据库操作类。抽象层接口在程序中需要被频繁调用,以在不同层之间交换信息,所以层接口是很值得优化的。对于数据库接口类,可能仅仅是封装一些数据库函数,优化余地恐怕不大。对于模板类,很多时候是有较大优化余地的。一般地,模板模型越通用,模板类功能越强大,效率就越低,例如PHPLib库带的Template类就有极大的优化余地。而Smarty模板类比PHPLib的Template更复杂,我没有用过,据称有缓存机制,不知是否可以弥补其性能损耗。下面就来看看PHPLib的Template类有多少东西可以优化掉。

1.

读入模板文件时,file函数效率低,改用get_file_content函数。
2.

匹配子模板时,正则表达式替换函数preg_replace效率低,改用str_pos函数进行定位和用str_replace函数进行替换操作。此优化手段后文会详细分析。
3.

模板模型通用性很强,能适应各种情况,但在具体细节的处理上,通用的方法效率可能很低。可以对模板模型作适当修改。我的做法是建一个相对通用的模板类,然后再派生出一个只适用于特定程序的模板类。在通用模板类的模板模型上可以作些优化(相对于PHPLib的Template),例如在处理二维数据表的时候用 PHPLib的Template处理就比较复杂(具体实现方法可参考《优化php嵌套模版》),需要多次调用类方法(本质上是函数调用),所以重写的时候可以把处理二维数据表的功能封装到一个高效率的方法中,直接避免方法的多次调用。
4.

调试功能在小项目上不需要用,跟调试相关的代码全部去掉。

我在按上面4点重写了模板类之后,一个复杂页面的执行时间缩小了一个数量级(除模板外没有作其它优化)。

现在就优化你的程序的抽象层之间的接口,特别是当这些接口是使用现成的函数或类的时候。因为这些函数或类在设计时会为了适应普遍情况而牺牲一些效率,而且它们的作者也可能没有考虑效率问题。像如此著名的PHPLib的模板类的效率也不见得就高。
细节代码优化

优化代码不应总是祈求大刀阔斧式的优化,当大方面已经无从入手时,不妨把视线转移到细节上。

1.

上文模板类优化已提到的,正则表达式匹配比一般字符串匹配慢得多,尽可能用字符串匹配而不用正则表达式匹配。有时候虽然用正则表达式匹配使程序代码更简洁,而一般字符串匹配使代码更冗繁,但很多时候字符串匹配仍比正则表达式高效。
2.

字符串替换函数str_replace和preg_replace都是可以接受数组参数的。有时候需要对字符串进行批量替换,则用数组参数比循环调用替换函数来得高效。例如下面的代码:
1. for ($i = 0; $i < $n; $i++) {
2. $str = str_replace($search[$i], $replace[$i], $str);
3. }

应该换成:
1. $str = str_replace($search, $replace, $str);

注意:这里$search和$replace都是数组

str_replace和preg_replace的数组用法可参考PHP手册。
3.

对用于赋值的条件语句,可改用?:算符

这里仅举三个细节代码优化的方法。实际上PHP程序还有很多细节代码优化方法,要掌握这些方法,需要多看PHP手册,多了解些函数。在解决一些细节问题时,用不同的函数作不同的搭配,就产生不同的方法,对不同的方法应进行实际效率测试,得出优化方法。
面向对象、面向过程、类、函数、宏

尽管面向对象方法在程序设计中有很多优点(这里就不罗列了),但一般地说,面向对象程序的执行效率往往不如面向过程好,一个显然的理由是面向对象的程序往往要频繁调用对象的方法从而使代码简洁明了,却降低了程序执行效率。

对于中小型项目,为程序效率着想,最好在思想上,面向对象与面向过程兼有,在代码上,类、函数、宏搭配使用。这里提到一个可能对读者陌生的概念——宏(macro)。在C语言中有宏,宏汇编中也有宏,但PHP中官方没有定义“宏”的概念。然而我们可以通过require函数和include函数实现宏的功能。require和include通常用来在程序代码中包含函数库或类库等文件,一般很少用来直接包含程序代码文件,因为包含程序代码有时会降低代码易读性。当有一段代码需要在很多页面中都执行时,通常被想到的是把它打包为函数或封装为类。但此法有缺点如下:

1.

降低程序效率。因为增加了函数/类方法调用。
2.

有时此段嵌入代码较复杂,实现功能并不单纯,封进函数并不符合函数功能单纯的原则。
3.

有时嵌入代码需要与外部大量交换数据,如果封进函数会使参数表庞大,且处理函数的返回值也变得复杂。
4.

由于有2、3两点缺点,导致当嵌入代码与外部代码交换的数据有所变化时,函数或类的接口的更改会变得麻烦。

当遇上以上情况时,我建议使用宏,即把嵌入代码直接写入被包含文件中,供各页面包含。但此时务必要清晰注释宏的调用方法,输入输出数据等,以弥补代码易读性的降低。

总之,面向对象、面向过程、类、函数、宏,这些都应根据具体实际情况而搭配使用,不应盲目死守某些原则。
SQL数据库

本来SQL数据库的优化不应归入PHP优化,但实际应用中PHP常与SQL数据库配合构建网站,常用的数据库有MySQL、PostgreSQL等。于是SQL查询的效率也直接影响PHP程序的效率,故本文也略为谈一谈。

1.

MySQL 中,使用InnoDB或BDB表(支持事务)的效率比MyISAM表(不支持事务)的效率低,尤其InnoDB表效率比MyISAM低很多,而BDB表的主要劣势在于占用磁盘空间比MyISAM表多很多,且不能查知每个表占用磁盘空间的大小。而对中小型应用,数据不一致性出现的概率是很微的,所以尽可使用 MyISAM表提高效率。(关于MySQL数据表的更多讨论可参考《MySQL 中三种数据表的对比》)
2.

恰当建立索引和存储冗余数据。此话题太大故本文不打算作详述。
3.

有些SQL查询仅需知道数据库中是否存在符合条件的行,故只要查得一行,搜索即可结束。所以对此类查询,可在SQL句末加上LIMIT 1使数据库一旦搜到满足条件的行即不再搜索。
4.

尽量少用JOIN,有些低效率的JOIN查询可通过存储冗余数据来避免。
5.

有时候需要比较现在的时间与数据库某列的时间的差距,返回时间差距满足一定条件的行。在MySQL 4.1之前,是没有DATEDIFF函数的,但可以用DATE_ADD或DATE_SUB函数简洁实现,例如要返回xtime列距今超过10天的行,有两种写法:

法一:
1. SELECT somecolumn FROM sometable WHERE DATE_ADD(xtime, INTERVAL 10 DAY) < NOW()

法二:
1. SELECT somecolumn FROM sometable WHERE DATE_SUB(NOW(), INTERVAL 10 DAY) > xtime

两种写法执行结果等效但效率不同。如果xtime列建有索引,则法一的写法无法使用索引,而法二的写法可以用索引,故应采用第二种写法提高效率。

除此之外,SQL数据库优化还大有学问。
延迟输出与缓冲

有时候有些页面无论如何也无法优化到需要的速度,此时可以考虑使用延迟输出与缓冲的技术。

关于延迟输出,可参考《动态网页中慢数据的延迟输出》,本文不再详述。

而缓冲也是一个大话题,故本文也不打算作详述,但作一简介。

常用的技术,按网站软件层次分,有网页服务软件的缓冲技术,例如Apache的缓冲技术;又有动态脚本的缓冲技术,例如用PHP编程实现的缓冲技术。

此外又可分为静态缓冲技术和动态缓冲技术。静态缓冲技术即把动态内容生成静态的html页面存于磁盘,客户端几乎完全跟静态页面打交道,整个网站犹如一个静态网站。而服务器后台在适当时候调用动态程序更新静态内容(重新生成静态内容)。动态缓冲技术则是客户端仍与动态页面打交道,而动态网页在接到客户请求时先检查是否有相应的缓冲网页,如有,直接把该静态页输出到客户端,如无或缓冲页已过时,则重新生成缓冲页面并输出到客户端。

虽然本文篇幅已经有相当长度,但对PHP优化这个大话题来说只是一个概述,很多优化技术也只是点到为止。读者可择感兴趣的技术看更多的资料作深入学习。

G. 网站代码优化是怎么操作的,内容越细致越好

简单而言,网页的代码优化,就是代码精简和标签优化的结合体。
虽然搜索引擎力争和来访用户行为一致,但它毕竟是机器程序,访问页面的时候针对的是网页的源代码。为更好地进行搜索引擎优化及更好地支持蜘蛛的抓取和爬行,需要对网页代码进行精简、优化以及对网页代码中的标签进行适当的优化。

第一、代码精简
代码精简是指清除或者简化页面中的代码,达到降低页面体积,提高页面加载速度,从而提升用户体验,提高搜索引擎友好度的目的。
不论一般的CMS系统,还是自己研发的网站程序,代码精简都非常必要。因为现在的程序开发往往都力争“无所不包”,恨不得在一个脚本系统中加入所有的功能,而对网站、用户、搜索引擎而言,这些功能可能并不需要,所以需要进行适当的精简。页面代码的精简通常可以分为以下几个方面:
1、垃圾代码清理;
2、HTML标签转换;
3、CSS优化;
4、JS优化;
下面简单介绍上述各方面的典型例子。
一、“垃圾代码清理”:将页面中无用的代码删除之后,页面不会有任何影响。
1、常见的垃圾
代码一般包括各种网页制作软件在制作网页时默认生成的无用代码,比如无意义的空格、默认属性、注释语句和空语句等。
“HTML标签转换”:从代码精简的角度考虑,将原本的长标签替换成拥有同样功能、搜索引擎认为作用一致的短标签,比如“<strong>”和“<b>”的作用都是加粗,但是“<strong>”比“<b>”多5个字符。如果网页上有很多个加粗的标签,明显用“<b>”替换“<strong>”可以起到代码精简的作用。
“CSS优化”:CSS是cascadingstylesheet的缩写,即层叠样式表。它是目前最常用的控制页面布局、字体、颜色、背景的技术。CSS优化主要是改变CSS的调用方式、采用DIV+CSS的方式进行页面制作,以防止垃圾代码的产生,减少重复代码。
“JS优化”:所谓JS,就是&#106avascript的简称。在搜索引擎眼中,到目前为止仍然不解析JS生成的页面或者内容,也就是说JS对搜索引擎来说是不友好的,如果将内容放置到JS中,是无法被搜索引擎抓取的。JS优化主要是为了避免JS代码占用页面空间及重要位置,以及放置一些不希望搜索引擎看到的内容。
上面是一些典型的代码精简的例子,考虑到技术门槛,并未做过多地深入讲解。就目前来看,主流的CMS系统往往都需要进行代码的精简,根据不同情况,搜索引擎优化者应该进行适当的学习和调整。
2.<title>标签优化
<title>标签页称为标题标签,它和<keywords>、<description>标签一起构成网页的头部三大标签。
标题标签内容是对网页主题的概括,相当于一篇文章的题目。一般情况下,打开一个网站,在任意页面选择“查看源文件”,都可以看到页面中的<title>标签,而这个标签中的内容,,对用户来说,就显示在浏览器的顶部。
在整个站内搜索引擎优化技术当中,标题标签是最重要的,它对页面内容产生决定性影响,绝大多数搜索引擎都会提取网页标题中的内容作为搜索结果展现给用户。
在标题标签优化中,需要注意以下几个细节:
a、“唯一的标题”:在单网页优化中,所有网页都应该有适合自己的独特的标题。很多网站因为脚本程序的默认设置,或者是内容建设者的马虎,往往会造成网页内容不同,而标题相同的情况,这在搜索引擎优化中是应该杜绝的。
b、“标题长度”:为符合搜索引擎展示网页的需求,~般要求标题长度在25~30个字之间较为合适。如果太短,无法很清楚地表达出页面的内容;如果太长,则搜索引擎返回的查询结果中就无法完全显示。
c、“关键词分布”:在网页的标题中,尽量出现针对这个网页内容主题的关键字、关键词,但是需要自然,要符合用户阅读习惯,同时不要生硬地进行关键词堆砌。
d、“标题吸引力”:上一篇《这样优化标题,更吸引人》讲过,一个好的标题,应该对用户产生足够的吸引力,以方便网站在搜索结果中展现的时候,吸引更多用户进行点击。如果标题没有足够的吸引力,排名再好也不会让用户感兴趣,获得的流量自然也不会多。
e、“标题构成”:对单网页来说,一般情况下,标题顺序应该是“本页内容主题’’+“栏目名”+“网站名(品牌)”,这种标题构成格式是最常见,也是最符合用户习惯和搜索引擎喜好的标题构成方式。
3.<keywords>标签优化
<keywords>标签也就是网页的关键字标签,主要作用是告诉搜索引擎,此页面的主要内容要点、关键词。
对单网页来说,<keywords>标签应该按照关键词的重要性顺序,有针对性地罗列几个真实的关键词。也就是说,这里罗列的关键词应该是整个网页的主要内容凝练,不应该伪造或者堆砌关键词。
4.<description>标签优化
<description>标签也就是描述标签,主要是对当前网页内容的概括,是相对简单的页面介绍。
和<keywords>标签一样,因为早期很多人利用<description>标签堆砌关键词,从而达到作弊的目的,所以现在的一些搜索引擎已经表示减弱或者完全不将<description>标签作为排名算法因素。
不过,同<keywords>标签不同的是,很多搜索引擎会将<description>标签的内容,作为搜索结果展现中的描述,呈现给用户,所以从提高用户体验、吸引眼球的角度而言,<description>标签应该进行有针对性的优化:
a、<description>标签长度:在Google中,它有时会截取描述标签中的112个中文字符长度的内容,作为搜索结果中的描述,所以一般情况下,描述标签不应该太长、太短,以80~110个中文字符长度为宜:
b、关键词分布与组合:在<description>标签中,应该恰当地出现关键词,并且在自然、通顺、归纳网页内容的前提下,尽量进行关键词组合,以利于搜索引擎挖掘更多的长尾关键词。
5.<h>标签优化
对单网页来说,头部三大标签优化完成之后,整个网页的代码优化就大致完成一半,其余一些重要的权重标签优化占到另外的一半,比如<h>、<b>等。
<h>标签是所有权重标签中最重要的标签,它一共有6种样式,即<h1>~<h6>,这些标签在影响页面相关性方面逐级递减。
在实际的页面优化中,优化者应该将页面中最重要的内容,加上<hl>标签,比如单网页内容区域中的标题;将网页中的主要段落标题、二级分类加上<h2>标签。
需要注意的是,对内容单网页来说,不建议采用过多的<h>标签进行标记。通常情况下,<hl>出现1次,<h2>出现3、4次就足够了。<h3>可能偶尔出现在分类较细的网站首页,但是<h4>以后的<h>标签一般就没有运用的必要。
6.其他标签优化
除上述讲解的几个常用标签以外,还有一些其他的标签,也可以适当地进行优化,比如:
a、<font>标签:用于字体属性的定义。
b、<b>标签:粗体属性定义。,
c、<i>标签:斜体属性定义。
d、<u>标签:下划线属性定义。
这些标签有各自的作用,在“自然”的前提下,可以适当的使用,以便让网页更有层次感,更能突出页面内容重要性分级——但是这些标签一定不要在每一个单网页中都频繁出现,或者在任何一个标签中都加入几个关键词,这样的优化会造成关键词堆砌或者优化过度,往往适得其反。

第二、URL优化
URL优化是指通过对URL各组成部分进行适当的调整,以提高URL的搜索引擎友好度,提高用户的记忆、理解、输入的方便性.进而提高用户体验。
URL优化包括三大部分内容:
1.对域名、目录、文件的命名
好的URL命名方式,应该能让用户通过URL即可很清楚地明白自己身处的网站位置。
2.URL中分隔符的使用
在URL中,很多看起来都是起分隔作用的符号其实意义是不一样的,比如斜杠“/”是约定俗成的分隔符,用于URL中目录之间或者目录与文件名之间的分隔,而不能作为文件名中两个词语的分隔。
通常情况下,在CMS系统中的URL分隔符都有比较好的定义规范,不建议搜索引擎优化人员进行分隔符的修改。
3.URL长度和关键词控制
URL长度为用户体验考虑,当然是越短越有意义、越容易记忆越好,但是在搜索引擎优化中,在URL中适当地包含关键词是非常好的一种优化细节,通过关键词的包含,用户、搜索引擎都可以很方便地了解其含义。
这三部分之间相互制约、相互影响,最好的优化结果就是充分协调上述三个部分。

第三、关键词布局与密度
在任何一个单网页中,关键词的布局和密度都是比较重要的。换句话说,如果关键词布局设计得好,密度控制比较自然,那这个页面的优化相对而言就比较成功。
1.关键词密度
关键词密度每个搜索引擎的标准都不一样,有的控制很严,一般需要控制在2%~8%之内:有的根本不在乎,单页面的关键词密度30%也不会影响到排名。要检查某个网页的关键词密度,可以采用站长站上的关键词密度检测工具。
通常情况下,对搜索引擎优化者而言,推荐的关键词密度仍然是2%~8%,但是这并不是重点,重点是关键词出现的布局和网页内容的自然。
2.关键词布局
关键词的布局是优化细节中比较重要的一个部分,好的关键词布局,应该在网页标题、正文第一段、正文末尾、URL和链接等位置合理地出现关键词。
但是,如果搜索引擎优化者死记硬背这一点,在所有的地方都试图加入关键词的话,往往就意味着优化过度。切记以自然为主,不用刻意进行关键词堆砌。

第四、导入与导出链接
对单网页来说,导入链接决定这个网页的权重,导出链接决定这个网页给其他网页传递的权重。
在单网页优化当中,导入链接可以包含站内的导入连接和站外的导入链接两部分;导出链接也同样分为导出到站内的链接和导出到站外的链接两部分。
对单网页的导入与导出链接而言,应该尽量遵循以下的原则:
a、单网页的站内导入链接应该尽量多:也就是尽量在网站的内容链接中,形成更多指向网页的链接。
b、单网页的站外导入链接应该尽量多:尽量在其他网站上,建设指向此单网页的外部导入链接。
c、单网页的导出链接必须要有相关性:不管是单网页的站内导出链接还是站外导出链接,都应该有密切的内容相关性。只有有相关性的导出链接,才能为用户提供更好的用户体验,也才能更利于搜索引擎的排名。
对搜索引擎优化新手而言,导入/导出链接的建设相对单网页的其他优化细节而言更不容易理解,其实记住以下这句话不但可以很好地判断如何建设导入、导出链接,还能判断其他的优化细节是否必要。
提醒:搜索引擎优化者应该站在普通网站访问者的角度来审视网站,如果自己感觉需要的功能,则SEO就应该增加、扩展;如果自己都感觉不需要、不舒服、没意义的功能,则SEO应该修改、删除。

H. 网站代码优化操作流程,如何给网站做代码优化

给网站代码做优化,可以从以下几个方面进行:
1、head部分代码规范化
head部分代码是搜索引擎爬行网站的入口部分,将网站的代码规范化,建立起网站独一无二的head部分。
2、使用div+css布局网页
大多数网页都在用div+css另外,一些网站会使用外部文件,将css和js放在外部文件中,页面html中只要放一样代码调用就可以了,
3、css优化
css是页面效果呈现中非常重要的组成部分,它包括颜色、大小尺寸、背景和字体等。所有css定义代码的位置要放到网站之前。网站上的一些图片可以采用css sprite技术进行合并,减少加载请求次数,从而提高网页的加载速度,减小css文件的大小,尽量不要使用内嵌式css。
将html控制方式转换为CSS控制比如利用标签内对内容进行控制,比如img标签里通过width和height来控制图片的大小,尽量将这些代码转换成外调式的CSS,使网页代码减少。
4、JS优化
将js放在页面最后,这样可以加快页面打开速度。合并js合并相同域名下的js,通过减少网络连接次数从而提高网页的打开速度。当前的搜索引擎还是不能够识别JS代码的,可以将用到Javascript代码用外部调用的形式放在网站中,降低页面对于JS的依赖性,尤其是页面的关键位置如导航栏,尽量采用DIV+CSS的设计方法。
5、清除页面中多余的代码,比如注释代码,减少页面代码的容量。
6、缓存静态资源
通过设置浏览器缓存,将css、js等不太经常更新的文件缓存在浏览器端,这样同一访客再次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、js等,在一定程度上加快了网站的打开速度,而不必每次都从你的服务器读取,节省服务器流量。
7、网页压缩技术
启用服务器Gzip,对页面Gzip压缩,减少元素的体积,从而减少数据的传输,进而提高网页的打开速度。

I. Java代码如何优化

今天就跟中公优就业一起来看看java代码优化细节。

1、尽量指定类、方法的final修饰符

带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。

2、尽量重用对象

特别是String对象的使用,出现字符串连接时应该使用StringBuilder/StringBuffer代替。由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响。

3、尽可能使用局部变量

调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中速度较快,其他变量,如静态变量、实例变量等,都在堆中创建,速度较慢。另外,栈中创建的变量,随着方法的运行结束,这些内容就没了,不需要额外的垃圾回收。

4、及时关闭流

Java编程过程中,进行数据库连接、I/O流操作时务必小心,在使用完毕后,及时关闭以释放资源。因为对这些大对象的操作会造成系统大的开销,稍有不慎,将会导致严重的后果。

5、尽量减少对变量的重复计算

明确一个概念,对方法的调用,即使方法中只有一句语句,也是有消耗的,包括创建栈帧、调用方法时保护现场、调用方法完毕时恢复现场等。所以例如下面的操作:

for (int i = 0; i < list.size(); i++){...}

建议替换为:

for (int i = 0, int length = list.size(); i < length; i++){...}

这样,在list.size()很大的时候,就减少了很多的消耗

6、尽量采用懒加载的策略,即在需要的时候才创建

例如:

String str = "aaa";if (i == 1){list.add(str);}

建议替换为:

if (i == 1){String str = "aaa";list.add(str);}

7、慎用异常

异常对性能不利。抛出异常首先要创建一个新的对象,Throwable接口的构造函数调用名为fillInStackTrace()的本地同步方法,fillInStackTrace()方法检查堆栈,收集调用跟踪信息。只要有异常被抛出,Java虚拟机就必须调整调用堆栈,因为在处理过程中创建了一个新的对象。异常只能用于错误处理,不应该用来控制程序流程。

8、不要在循环中使用try…catch…,应该把其放在最外层

除非不得已。如果毫无理由地这么写了,只要你的领导资深一点、有强迫症一点,八成就要骂你为什么写出这种垃圾代码来了

9、如果能估计到待添加的内容长度,为底层以数组方式实现的集合、工具类指定初始长度

比如ArrayList、LinkedLlist、StringBuilder、StringBuffer、HashMap、HashSet等等,以StringBuilder为例:

(1)StringBuilder() // 默认分配16个字符的空间

(2)StringBuilder(int size) // 默认分配size个字符的空间

(3)StringBuilder(String str)// 默认分配16个字符+str.length()个字符空间

可以通过类(这里指的不仅仅是上面的StringBuilder)的来设定它的初始化容量,这样可以明显地提升性能。比如StringBuilder吧,length表示当前的StringBuilder能保持的字符数量。因为当StringBuilder达到最大容量的时候,它会将自身容量增加到当前的2倍再加2,无论何时只要StringBuilder达到它的最大容量,它就不得不创建一个新的字符数组然后将旧的字符数组内容拷贝到新字符数组中—-这是十分耗费性能的一个操作。试想,如果能预估到字符数组中大概要存放5000个字符而不指定长度,最接近5000的2次幂是4096,每次扩容加的2不管,那么:

(1)在4096 的基础上,再申请8194个大小的字符数组,加起来相当于一次申请了12290个大小的字符数组,如果一开始能指定5000个大小的字符数组,就节省了一倍以上的空间

(2)把原来的4096个字符拷贝到新的的字符数组中去

这样,既浪费内存空间又降低代码运行效率。所以,给底层以数组实现的集合、工具类设置一个合理的初始化容量是错不了的,这会带来立竿见影的效果。但是,注意,像HashMap这种是以数组+链表实现的集合,别把初始大小和你估计的大小设置得一样,因为一个table上只连接一个对象的可能性几乎为0。初始大小建议设置为2的N次幂,如果能估计到有2000个元素,设置成new HashMap(128)、new HashMap(256)都可以。

10、当复制大量数据时,使用System.array()命令