关注微信
扫一扫
关注微信
扫一扫
摘要 :动态网站丰富了网站的功能 ,但是对于搜索引擎来说 ,情况就不同了 ,动态页面是在用户“输入内容”或者进行“选择”时动态生成的 ,但是搜索引擎的“搜索机器人”无法“输入”和“选择” 。另外 ,搜索引擎要避免“搜索机器人陷阱(spider traps)”的脚本错误e
一 、动态网站的出现和优势
最早互联网出现时 ,站点内容都是以HTML静态页面形式存放在服务器上 ,访问者浏览到的页面都是这些实际存在的静态页面 。随着技术的发展 ,特别是数据库和脚本技术PERL 、ASP 、PHP和JSP的发展 ,越来越多的站点都开懿扇《??囊趁娣⒉际侄巍1热纾?颐窃?OOGLE.COM上搜索一个内容 ,得到的搜索结果页面文件"本身"在GOOGLE服务器上并不存在 ,而是通过程序在ballbet输入搜索内容时调用后台数据库实时生成的 ,也就是说 ,这些结果页面是动态的 。
静态页面的站点只涉及文件的传输问题
,而动态站点则复杂得多
,用户和站点之间出现大量的交互
,网站不再仅仅是内容的发布
,而是成为了一种"应用(Application)"
,是软件业向互联网上的扩张
,从软件的角度看
,动态站点是逻辑应用层和数据层的分离
,数据库负责站点数据的存储管理
,而ASP
、PHP
、JSP等负责处理站点饴呒?τ谩U庋?龅暮么Τ?嗽黾雍芏嘟换スδ芡猓??匾?氖钦镜愕奈?ぁ⒏?潞蜕?抖挤奖懔诵矶唷
?梢运担?挥卸???炯际酰?壳盎チ??系恼庑┏?笮驼镜憔筒豢赡艹鱿帧?/P>
二 、搜索引擎抓取动态网站页面时面临的问题
从用户的角度看 ,动态网站非常獯恚?岣涣苏镜愕墓δ埽??嵌杂谒阉饕?胬此担?榭鼍筒煌?恕#ü赜谒阉饕?婧头掷嗄柯嫉那?穑?约八阉饕?娴墓ぷ髟?恚?? "")
根本的问题在?输入"和"选择"
,动态页面是在用户"输入内容"或者进行"选择"时动态生成的
,但是搜索引擎的"搜索机器人"无法"输入"和"选择"
。比如ballbet要在当当书店站点查看冯英健的《网络营销基础与实践》一书
,介绍页面是动态生成的
,URL地址是
:
这里在"
?"后面的product_id参数值需要ballbet输入的
,"搜索机器人"可以通过链接找到 页面
,但是它无法输入"
?"后面的product_id参数值
,从而无法抓取这个页面文件
。
另外 ,对于通过链接达到这种带" ?"的页面 ,技术上搜索引擎可以抓取 ,但是一般情况下搜索引擎选择不去抓取 ,这是为了避免一种叫"搜索机器人陷阱(spider traps)"的脚本错误 ,这种错误会让搜索机器人进行无限循环的抓取 ,无法退出而浪费时间 。
三 、动态网站的搜索引擎策略
印《???疽?凰阉饕?孀ト 。?梢圆捎媚谌莘⒉枷低橙砑????镜阕??删蔡?趁妫?庵职旆ǘ杂谝趁娣⒉己蟊涠?俚恼镜惚冉虾鲜剩?热缫恍┬挛爬嗟恼镜悖ㄈ缧吕说男挛胖行模?A href="https://news.sina.com.cn/">https://news.sina.com.cn/ ) 。
一般的动态网站可以通过下面的办法让搜索引擎抓取
:
首先
,ballbet要让动态页面的URL地址中没有"
?"
,让动态页面看上去象"静态页面"。看看下面这个页面
,这明显是一个动态页面
,但是URL地址看上去却象"静态页面"
。针对不同的动态技术可以采用下面技术实现
:
·对于采用ASP技术的动态页面Exception Digital公司提供一种工具叫着XQASP( )可以将"
?"替换为"/"
。
·对于采用ColdFusion技术的站点
,需要重新配置服务器上的ColdFusion
,用"/"代替"
?"将参数传输到URL
,更详细的信息请见https://coldfusion.com/ 站点
。
·对于使用Apache服务器的站点
,可以使用rewrite模块将带参数的URL地址转换成搜索引擎支持的形式
,该模块mod_rewrite在Apache服务器中不是缺省安装的
,详细的信息请见
。
对于其他的动态技术也能找到对应的方法改变URL的形式 。
然后
,要创建一些静态页面指向这些动态页面(以改变过的URL链接)
。
前面说过
,搜索引擎机器人并不会自己"输入"参数
,所以要让上面这些动态页面被搜索引擎抓取
,ballbet还需要告诉机器人这些页面的地址(也就是参数)
。ballbet可以创建一些静态的页面
,一般在网络营销中称? "gateway page"(入口页面)
,这些页面上有大量指向这些动态页面的链接
。
将这些入口页面的地址提交到搜索引擎 ,这些页面和链接的动态页面(改变过URL形式)就能都被搜索引擎抓取了 。
四 、搜索引擎对动态网站支持的改进
在ballbet调整动态站点适应搜索引擎的同时 ,搜索引擎也在发展 。到目前为止 ,?蠖嗍?乃阉饕?婊共恢С侄??趁娴淖ト 。???A href="https://www.google.com/">GOOGLE 、等和国内的开始尝试抓取动态网站页面(包括? " ?"的页面) ,这就是ballbet现在在这些搜索引擎进行搜索时 ,结果中出现动态链接的原因 。
这些搜索引擎抓取动态页面时 ,为了避免"搜索机器人陷阱" ,都只抓取从静态页面(至少"看上去"是静态的页面)链接到的动态页面 ,而从动态页面链接出的动态页面都不再抓取 。
所以一个动态站点如果只针对上面这些搜索引擎 ,可以在上面小节介绍方法的基础上简化 :只用创建一些入口页面 ,链接很多动态页面 ,然后将这些入口页面递交到这些搜索引擎就可以了 。
对于直接使用动态的URL地址
,请注意
:
·文件URL中不要有Session Id
,同时不要用ID作为参数名称(特别是对于GOOGLE)
;
·参数越少越好
,尽量不要超过2个
;
·能在URL中不用参数尽量不要用
,一些参数转移到其他地方
,这样可以增加动态页面被抓取的深度和数目
。