日期:2013-12-22  浏览次数:20921 次


今天对 车米网 的论坛作了优化,发现动网论坛7.0本来就考虑到了搜索引擎的问题,只需要简单修改就可以很好的优化了.

动网论坛采用javascript+模版的方式显示页面,服务器将没有深加工的数据和js代码一起发送到客户端解析,减轻了服务器负担,但是搜索引擎一般不会解析javascript代码的,不过动网论坛的主要页面都有判断浏览器类型,如果是搜索引擎,自动跳转到专门为浏览器显示的页面,但是这些页面做得不是太好,下面是我修改的结果:


昨天我把论坛的meta标签的description部分去掉,google发现这个标签后就会忽略下面的内容,直接区标签中的内容。

修改index.asp:

      将函数Sub Show_Index_Footer()中的

Dim BrowserType

If BrowserType.IsSearch Then Response.redirect "indexNew.asp"

提升到index.asp的前面,让页面一检测到是搜索引擎就跳转到优化后的页面,原来那样子的结果是google仅仅抓取了Show_Index_Footer()中的信息,前面的都给忽略了。

修改indexnew.asp

将Dvbbs.head()改为Dvbbs.head()

注释掉

Dvbbs.ActiveOnline()

Show_Index_Top

Show_Index_Footer

Response.Write Replace(template.html(9),"{$Getlink}",Getlink())

If Dvbbs.Forum_setting(29)="1" Then Call birthuser()

Dvbbs.Footer()

Response.Write Dvbbs.value

Response.Write template.html(8)(1)

这样子跳转后的首页显示的就相对比较简单了,但是代码还是有些冗余,如果想再精简些,就不要用dvbbs的模版了,直接用asp生成静态页面,能去掉的都去掉。

同样修改list_show.asp

将Dvbbs.head()改为Dvbbs.head()

注释掉

News

Board_Online

Show_List_Footer

Dvbbs.ActiveOnline()

Dvbbs.Footer()

再修改printpage.asp

如果你的论坛需要注册用户才能浏览,而你又要搜索引擎能够抓取信息的话,把If Dvbbs.GroupSetting(2)="0"  Then Dvbbs.AddErrcode(31)这行注释掉。

其他的没什么好改的,这个页面的模版已经做得非常精简了,你可以试着修改page_postjob模版来增加些其他的连接。

下面作一个更有实际效果的索引页面,很多不错的php论坛都有这样的页面,效果很好:

新建一个目录,随便什么,然后在里面建立一个index.asp文件,这个文件的代码我直接用了动网论坛的newtopic.asp,把里面的js去掉就行了:

<!--#include file="../conn.asp"-->
<!--#Include File="../inc/Dv_ClsMain.asp"-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>车米网</title>
<link rel="stylesheet" href="../style.css" type="text/css" />
</head>
<body>
<div class="main">
<div class="top"><a href="../index.asp">车米网</a> - 论坛新贴</div>
<div class="body">
<%
'DVBBS 7.0 动网论坛首页调用-----主题调用
dim bbsurl,lockboardid,picurl
'############以下为修改项######################
dim lockurl
lockurl=""
'只允许调用网址,要以"HTTP://"开头,为空则不开放此功能.(可允许多网址限制,要以","分隔。)
'例如只允许此两个网址调用: lockurl="http://www.artistsky.net/,http://www.artbbs.net/"
bbsurl="http://bbs.my-car.cn/"       '请填写你论坛的正确地址,要以"HTTP://"开头
lockboardid="1,2,3"          '请填写限制调用的论坛版块ID,用逗号隔开。(当lock参数为1,2时生效)
picurl="http://bbs.my-car.cn/skins/default/topicface/" '心情图标目录地址
'############以上为修改项######################
'bbsurl=getservepath(request.ServerVariables("server_name")&request.ServerVariables("URL"))
'function getservepath(str)
'dim tmpstr
'tmpstr=split(str,"/")
'getservepath="http://"&replace(str, tmpstr(ubound(tmpstr)), "")
'end function
'*************************************
'上传到与CONN.ASP同级的目录下
'以上地址参数一定要修改,否则所调用的链接是去了以上的论坛.
'若有问题,可以运行一起上传的newscode.ASP文件进行调试(newscode.ASP运行前要修改调用参数)
' FSSUNWIN 2003.12.31
'*************************************
'if trim(lockurl)<>"" and checkserver(lockurl)=false then
' response.write "document.write ('数据被保护,禁止被其他站点调用!"
' response.end 
'end if

Private function checkserver(str)
 dim i,servername
 checkserver=false
 if str="" then exit function
 str=split(Cstr(str),",")
 servername=Request.ServerVariables("HTTP_REFERER")
 for i=0 to Ubound(str)
 if right(str(i),1)="/" then str(i)=left(trim(str(i)),len(str(i))-1)
  if Lcase(left(servername,len(str(i))))=Lcase(str(i)) then
   checkserver=true
   exit for
  else
&