1. 1
  2. 2
  3. 3

网站制作及网页优化标准规范说明

发布时间:2014-07-17
浏览次数:3812
公共

代码注释

当制作大型网站时需将相关的文件统一放入一个文件夹中

例如:news、news_category、news_view放入news文件夹中

前台:

文件夹命名规范:

本地图像:Image

数据文件:data(用户上传的图像文件,数据库文件)

Js文件夹:存放所有js数据

Css文件夹:存放所有css

Include文件夹:常用asp函数文件

精简css  :用尽可能少的样式代码实现整个网页的样式效果


整合css  :在网站制作完成后,我们需要把页面的所有样式合并大一起以提高网页的响应速度

压缩css  :就是去掉多余的空格和换行。网上有很多工具

在线压缩:http://pagespeed.webkaka.com/youhua/css/ 或自行查找

外链css :于网站排名优化来说,css的几乎没有任何影响,但往大的方向如网站优化来说,样式表css的优化就至关重要了,其主要作用即是提高网页的响应速度。要尽量使用外链css而不要将css写在文件页面中 正确做法如下

压缩js   :网上也有很多的工具,请百度查询“js压缩工具”即可

在线压缩:http://pagespeed.webkaka.com/youhua/js/ 或自行查找

外链的Css 和 js 应放在之中

置底js  :等html加载完毕之后才加载js代码,当然,有部分特殊功能的js代码是没有办法放到页面底部的,具体请根据实际情况操作。

不要过早优化 :正确的方式是,你应该将项目开发和优化当作两个独立的步骤来做。

Title标签 :每个页面都必须有且内容不同!基本格式为

Meta元素 :关键字,设定与本页内容相关的主关键词一到三个,不要滥用无关关键字。

描述还是很有用的一个东东了,虽然对于网站的优化排名么有多大的影响,但会作为搜索引擎展示网站索引的一个依据,一般60到80字即可

H标签 :h标签一共有六个,分别是h1/h2/h3/h4/h5/h6,分别代表不同的级别,我们称之为一级标题、二级标题……当然,一级标题具备更多的权重 , 而一篇文章,不可能出现多个一级标题,所以h1,在同一个页面中只能出现一次,而h2等则可以出现多次。

加强和强调:strong被认为是“加强”,em被认为是“强调”,这对于网站优化至关重要。我们在优化网站时会对关键字进行突出,这时使用strong或em。

Alt和title :我们在alt中设置图像的描述内容 。title则当作图像标题来处理。图像的描述和标题如果平设置成一样的,这样会被搜索引擎惩罚!正确格式为:

一个美女站在黄昏的街头默默等待爱人的回归,眼神中充满了忧伤

将图片合并为CSS贴图

使用CSS sprites合并图片可减少下载资源,从而减少网页总体积,增加访问速度。

优化图片

使用适当的格式化图片可以减少图片的字节数

指定字符集

指定字符集可以让浏览器立即执行脚本,加快浏览器的显示速度。

指定图片大小

指定图片大小可以消除不必要的重绘,从而提高传送速度。

去除错误的请求

错误的请求会增加额外的请求时间,应尽量避免。

后台:

代码安全:

防sql注入:<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定义部份 头------
Fy_Cl = 1 '处理方式:1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx = "index.Asp" '出错时转向的页面
'---定义部份 尾------
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a=split(Fy_Url,"&")
redim Fy_Cs(ubound(Fy_a))
On Error Resume Next
for Fy_x=0 to ubound(Fy_a)
Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)
Next
For Fy_x=0 to ubound(Fy_Cs)
If Fy_Cs(Fy_x)<>"" Then
If Instr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then
Select Case Fy_Cl
Case "1"
Response.Write " "
Case "2"
Response.Write " "
Case "3"
Response.Write " "
End Select
Response.End
End If
End If
Next
%>

转换字符,防止sql注入:

Function CheckSql(Str)

 If Str = "" Then

  CheckSql = ""

  Exit Function 

 End If

 Str = Replace(Str,Chr(0),"", 1, -1, 1)

 Str = Replace(Str, """", """, 1, -1, 1)

 Str = Replace(Str,"<","<", 1, -1, 1)

 Str = Replace(Str,">",">", 1, -1, 1) 

 Str = Replace(Str, "script", "script", 1, -1, 0)

 Str = Replace(Str, "SCRIPT", "SCRIPT", 1, -1, 0)

 Str = Replace(Str, "Script", "Script", 1, -1, 0)

 Str = Replace(Str, "script", "Script", 1, -1, 1)

 Str = Replace(Str, "object", "object", 1, -1, 0)

 Str = Replace(Str, "OBJECT", "OBJECT", 1, -1, 0)

 Str = Replace(Str, "Object", "Object", 1, -1, 0)

 Str = Replace(Str, "object", "Object", 1, -1, 1)

 Str = Replace(Str, "applet", "applet", 1, -1, 0)

 Str = Replace(Str, "APPLET", "APPLET", 1, -1, 0)

 Str = Replace(Str, "Applet", "Applet", 1, -1, 0)

 Str = Replace(Str, "applet", "Applet", 1, -1, 1)

 Str = Replace(Str, "[", "[")

 Str = Replace(Str, "]", "]")

 Str = Replace(Str, """", "", 1, -1, 1)

 Str = Replace(Str, "=", "=", 1, -1, 1)

 Str = Replace(Str, "'", "''", 1, -1, 1)

 Str = Replace(Str, "select", "select", 1, -1, 1)

 Str = Replace(Str, "execute", "execute", 1, -1, 1)

 Str = Replace(Str, "exec", "exec", 1, -1, 1)

 Str = Replace(Str, "join", "join", 1, -1, 1)

 Str = Replace(Str, "union", "union", 1, -1, 1)

 Str = Replace(Str, "where", "where", 1, -1, 1)

 Str = Replace(Str, "insert", "insert", 1, -1, 1)

 Str = Replace(Str, "delete", "delete", 1, -1, 1)

 Str = Replace(Str, "update", "update", 1, -1, 1)

 Str = Replace(Str, "like", "like", 1, -1, 1)

 Str = Replace(Str, "drop", "drop", 1, -1, 1)

 Str = Replace(Str, "create", "create", 1, -1, 1)

 Str = Replace(Str, "rename", "rename", 1, -1, 1)

 Str = Replace(Str, "count", "count", 1, -1, 1)

 Str = Replace(Str, "chr", "chr", 1, -1, 1)

 Str = Replace(Str, "mid", "mid", 1, -1, 1)

 Str = Replace(Str, "truncate", "truncate", 1, -1, 1)

 Str = Replace(Str, "nchar", "nchar", 1, -1, 1)

 Str = Replace(Str, "char", "char", 1, -1, 1)

 Str = Replace(Str, "alter", "alter", 1, -1, 1)

 Str = Replace(Str, "cast", "cast", 1, -1, 1)

 Str = Replace(Str, "exists", "exists", 1, -1, 1)

 Str = Replace(Str,Chr(13),"
", 1, -1, 1)

 CheckSql = Replace(Str,"'","''", 1, -1, 1)

End Function

文本编辑器过滤:

Function chgStrHtml(str)

              Dim sTemp

              sTemp = str

              chgStrHtml = ""

              If IsNull(sTemp) = True Then

                     Exit Function

              End If

              sTemp = Replace(sTemp , "'" , "'")

              chgStrHtml = sTemp

       End Function

代码系统性能提高,代码规范

在ASP页面内,凡是使用CreageObject()创建的对象(Com、Recordset等),对于这些变量,应当在该页结束进行对象释放:即

Set 对象变量名=Nothing

数据库打开以后在不用的时候(通常是本页最后面),需要对连接进行关闭;

Conn.close

Set  conn  =  nothing

或调用函数closeconn

对于SQL语句,存储过程,尽量避免使用*来取所有字段。

例如:

 SELECT name,age,birthday,telephone,address FROM SchoolFellow.Address WHERE name=’xxxx’ ORDER BY birthday DESC

4.  * 如果获得Form中提交的内容,必须使用Request.Form(“itemName”).

  * 如果获得QueryString中提交的内容,必须使用Request.QueryString(“itemName”)

  * 不得在代码中出现Request(“”)这样的引用方式 这点很好,必须这样做,减少服务器负担。