时间:2010-05-16 15:27
第五部分对搜索引擎友好的网页设计title和meta标签标题(title):
网页优化可以说是从title开始的。在搜索结果中,每个抓取内容的第一行显示的文字就是该页的title,同样在浏览器中打开一个页面,地址栏上方显示的也是该页的title。因此,title可谓一个页面的核心。对title的书写要注意以下问题:
1、title简短精炼,高度概括,含有关键词,而不是只有一个网站名称。但关键词不宜过多,不要超过3个词组。
2、前7个字对搜索引擎最重要,因此关键词位置尽量靠前,总字数不超过30个汉字。
例如:google手机搜索,可以看到排在前面的几个都是大公司手机频道,手机这个词是排在最前面的。
meta属性关键词(keywords):
keywords提示搜索引擎:本网站内容围绕这些词汇展开。
因此keywords书写的关键是每个词都能在内容中找到相应的匹配才有利于排名。
例如:网易手机频道,关键词是“手机,手机报价,诺基亚,摩托罗拉”。
不过最近搜索引擎对keywords属性的权重降低,不如原来那么重要了。
描述(description):
描述部分用简短的句子告诉搜索引擎和访问者关于本网页的主要内容。用该网站的核心关键词搜索后得到的搜索结果中,描述往往显示为标题后的几行描述文字。description一般被认为重要性在title和keywords之后。描述的书写要注意以下问题:
1.描述中出现关键词,与正文内容相关,这部分内容是给人看的,所以要写的很详细,让人感兴趣,吸引用户点击。
2.同样遵循简短原则,字符数含空格在内不要超过120个汉字。
3.补充在title和keywords中未能充分表述的说明。
例如:abcd51edu.com的在google搜索结果里面描述:中国领先的教育门户和国内最大的招生引擎,为用户提供万门优质课程优惠报名服务,为教育机构提供基于互联网的招生营销、市场管理、品牌宣传等专业化服务。
另外百度对页面最开始的内容比较感兴趣,通常以这部分内容作为显示结果。
例如:abcdbaidu.com/s?wd=site%3aabcd51edu.com&cl=3显示的页面菜单栏:
首页商学院/研究生高考中小学外语it职业教育管理考研留学音乐美术体育使馆文教处专区社区高级搜索拉萨尔三年国际本科考研
其它meta标签:
为了限制搜索引擎对内容的抓取,可以采用以下几个robotsmeta标签:
<metaname="robots"content="allnoneindexnoindexfollownofollownoarchive">
其中:all:文件将被检索,且页面上的链接可以被查询;
none:文件将不被检索,且页面上的链接不可以被查询;
index:文件将被检索;
follow:页面上的链接可以被查询;
noindex:文件将不被检索,但页面上的链接可以被查询;
nofollow:文件被检索,页面上的链接不被查询。
noarchive:文件不被缓存
这些值是可以组合在一起使用。
说道这里,不得不提一下google另外的一个属性rel="nofollow"。使用方法:
<arel="nofollow"href="abcd1234567.com">小电影</a>
作用呢:就是告诉搜索引擎这个链接不是经过作者自己编辑的,所以这个链接不是一个可信任的链接。搜索引擎看到这个标签就可能减少或完全取消链接的投票权重。
但并不是所有的搜索引擎都支持meta中的robots标签。
综合运用样例:
<title>亲子教具-万花筒儿童教育集团</title>
<metaname="robots"content="all">
<metaname="keywords"content="亲子教具">
<metaname="description"content="对于亲子教师来说系统完善的亲子游戏教具是他们在亲子活动前必不可少的实用性素材,北京智泉万花筒教育研究院亲子中心为教师及加盟商提供全套的亲子游戏教具">
访问结构访问结构即通过几层能够访问到最终页面,google最好为三层,百度不限。
较好的例子:
以abcdseochat.org为例。
abcdseochat.org首页为第一层,百度优化为第二层,百度如何优化为第三层。
这样的结果便于搜索引擎索引。百度如何优化这个页面在百度和google里面都有收录。
二级域名访问结构:
由于三层的目录,容纳的页面有限,需要多级目录。
这个时候使用前面我们讲过的二级域名方式扩大级数。因为二级域名算独立网站,目录层次从当前二级域名算起。
外部访问结构:
有的网页在本网站层数很多,但也被google收录,这是因为这些网页在被其他网站引用,而google从其他页面进入这个页面。可以使用link命令查询该页的反相链接。
目录和文件命名目录和文件名称中的关键词
目录名称和文件名称中可以使用到关键词。如果是关键词组,则需要用分隔符分开。我们常用连字符“-”和下划线“_”进行分隔,url中还经常出现空格码“%20”。因此,如果以“中国制造”作文件名,就可能出现以下三种分隔形式:
made-in-china.htm
made_in_china.htm
made%20in%20china.htm
连在一起之后,关键词就失去了意义。但事实上,至少在目前google并不认同“_”为分隔符。对google来说,made-in-china和made%20in%20china都等于madeinchina,但made_in_china就被读成了madeinchina,
因此,目录和文件名称如果有关键词组,要用连字符“-”而不是下划线“_”进行分隔。
url应该越短越好
有人为了单纯增加关键字而额外建多一个带有关键字的子目录,改变目录结构。由于url中含有关键字本身对排名提高帮助并不大,因而这种做法多此一举,也是搜索引擎反感的。
不好的例子:
要做英文关键词computer,这样的目录abcdibm.com/computer/computer/computer.html是错误的。
好的例子:
abcdibm.com/computer/该目录在根目录下的第一级,权重相对第二级较大。
gb2312中文路径
现在搜索引擎对gb2312的中文url能正常收录了。优化无处不在,url上的关键词相比标题权重要少一些,但还是有效,有条件可以增加上。
连载五"title="《seo从入门到精通》连载五"/>
abcdgoogle.cn/search?comp...avomv.com&meta=
abcdbaidu.com/s?wd=site%3...9%a4%b7%bb&cl=3
abcdsearch.cn.yahoo.com/searc...=utf-8&meta=all
动态网页静态化本章在线视频:abcdxue24.com,免费下载该视频教程:rewrite_demo.rar,运行里面的play.htm,如果不能看就执行demo\content.htm文件,或者可以下载课件插件。
虽然大多数搜索引擎的蜘蛛程序现在基本都可以解读符号“?”后的字符,但搜索引擎更喜欢静态文件,所以要对动态网页静态化。
在介绍静态化之前,介绍一些常用的正则表达式:
符号
匹配字符
示例
\d
任何十进制数字
等价于[0-9]
\d
任何非数字
等价于[^0-9]
\s
任何空白字符
空格、制表符、分页符
\s
任何非空白字符
等价于“[^\f\n\r\t\v]”
\w
任何单词字符
等价于“[a-za-z0-9_]”
\w
任何非单词字符
等价于“[^a-za-z0-9_]”
\n
回车换行
.
除\n以外的任何字符
(.)+匹配除换行符以外的所有字符串
?
0个或1个前面的字符
ab?c?可以且只能匹配“abc”、“abbc”、“abcc”和“abbcc”
零个或多个所有的字符
ab可以匹配“ab”、“abb”、“abbb”
+
一个或多个所有字符
ab+可以匹配“abb”、“abbb”等,但不匹配“ab”
{n}
n表示数量如果是2,表示2个字符
a{2}可以匹配“aa“,但不匹配“a”
{n,n}
从几个字符开始到几个字符结束,如果不写,表示至少或者至多
a{3,}匹配“aaa”、“aaaa”等,但不匹配“a”和“aa”。
xy
匹配“x”或“y”
“ab(cx)yz”匹配“abcyz”和“abxyz”
\?\.\\+
?.+
了解更多正则表达式,请下载:正则表达式教程
这里我介绍几种静态化方法:
1.使用iis_rewrite静态化处理,适合php、asp、asp.net程序。
a.isapi_rewrite.isapi_rewrite分精简(lite)和完全(full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理,精简版下载地址isapi_rewrite2.7foriis。
b.打开iis,选择网站,右键菜单属性,添加过滤器。如图:
连载五"title="《seo从入门到精通》连载五"/>
c.打开文件:开始菜单->程序->helicon->isapi_rewrite->httpd.ini
d.将rewriterule/user/(\d+).htm/user.asp\?id=$1[i,o]加入内容中。
e.在浏览器地址栏输入:/user/1.htm页面将指向/user.asp?id=1。
2.使用虚拟主机的asp网站,需要使用404错误操作实现静态化。
a.下载404处理页面。404_rewrite_gb2312.rar
b.解压后将rewrite.asp、error.asp放在网站的根目录。
c.设置网站自定义错误信息如图:
连载五"title="《seo从入门到精通》连载五"/>
d.在error.asp里添加处理命令:
callparaseurl("/(\d+).htm","/user.asp?user=$1")
e.在需要静态化的实例user.asp页面中添加代码:
<!--#includevirtual="/rewrite.asp"-->引用文件
<%
response.write"<li>para="&session("para")‘变量是通过session传递
‘原来使用request(“user”)获得参数的命令,需要修改成request_(“user”)调用
response.write"<li>request_(""user"")="&request_("user")
‘原用request.querystring(“user”)获得参数命令,修改为request__.querystring(“user”)调用
response.write"<li>request__.querystring(""user"")="&request__.querystring("user")
%>
f.在地址栏输入/1.htm,实际调用/user.asp?user=1
3.使用asp.net开发的网页程序,使用urlrewriter.dll实现静态化。
下载urlrewriter.rar,解压后放在/bin/目录下将urlrewriter.rar加入工程引用。连载五"title="《seo从入门到精通》连载五"/>
配置iis站点,将扩展名为html指向处理程序aspnet_isapi.dll。iis站点->属性->主目录->配置->添加
连载五"title="《seo从入门到精通》连载五"/>
可执行文件和aspx处理相同,都是
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
特别注意,一定不要选择检查文件是否存在。
在web.config中添加配置内容,压缩包里有。<configsections>
<sectionname="rewriterconfig"
type="urlrewriter.config.rewriterconfigserializersectionhandler,urlrewriter"/>
</configsections>
<!--实际重定向-->
<rewriterconfig>
<rules>
<rewriterrule>
<lookfor>~/(\d).html</lookfor>
<sendto>~/user/default.aspx?link=$1</sendto>
</rewriterrule>
</rules>
</rewriterconfig>
<system.web>
<!--
需要在iis里面增加html引用,改成aspx的引用
-->
<httphandlers>
<addverb=""path=".aspx"type="urlrewriter.rewriterfactoryhandler,urlrewriter"/>
<addverb=""path=".html"type="urlrewriter.rewriterfactoryhandler,urlrewriter"/>
</httphandlers>
在地址栏输入abcdlocalhost/1.html指向abcdlocalhost/user/default.aspx?link=1
4.基于apachehttpserver静态化
apachewebserver的配置(conf/httpd.conf)
在httpd.conf文件中查找loadmodulerewrite_modulemodules/mod_rewrite.so通常该行被注释,去掉“#”。如果没有就增加该行。
加入代码:<ifmodulemod_rewrite.c>
rewriteengineon
rewriterule^/([0-9]+).html$/user.php?user=$1
</ifmodule>
如果网站使用通过虚拟主机来定义,请务必将代码加到虚拟主机配置文件.htccess中去,否则可能无法使用。重启apache,重新载入配置。在地址栏输入abcdlocalhost/1.html,实际指向abcdlocalhost/user.php?user=1
5.静态化后文件格式
链接静态化后可以是html文件,也可以是目录,通常目录的权重大于文件的权重,可以在搜索引擎中获得更好的排名。
例如:优化前:abcdsupercss.com/user.asp?id=1
优化后文件:abcdsupercss.com/user/1.html
目录:abcdsupercss.com/user/1/
同等条件下abcdsupercss.com/user/1/有更高的优先权。