如何统计访客搜索的常用的关键词_动易Cms教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!
  统计来访客户在你的站点搜索的关键词,根据这个统计你可以很方便的知道客户喜欢些什么!后台看到的结果如下图:


图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看

下面我们来操作怎么实现它:

举一个新闻频道的例子,其它频道参考这个

1,修改article目录下的Search.asp,在Call CloseConn前加入'统计关键词被搜索的次数
DIM rs,sql

channelname="Article"
if Keyword<>"" then
Set rs=Server.CreateObject("ADODB.RecordSet")
sql="select * from plus_keys where keywords='"&keyword&"' and channel='"&channelname&"'"
rs.open sql,conn,1,3
if not (rs.eof and rs.bof) then
rs("num")=rs("num")+1
rs("keydate")=now()
else
rs.addnew
rs("channel")=channelname
rs("keywords")=keyword
rs("keydate")=now()
end if
rs.update
rs.close
set rs=nothing
end if
'统计关键词被搜索的次数

channelname="Article",如果是商品频道,就修改为channelname="shop",其它类似

 

2,数据表的创建

表名:plus_keys,表结构参考下图(这里是SQL数据库表)


图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看

 

3,建结果查询页面,在后台,文件名:plus_keywordscount.asp,页面代码如下

<%
dim sqlOpenDB,Conn
sqlOpenDB="driver={sql server};database=你的数据库;server=你的服务器名;uid=sa;pwd=密码"
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open(sqlOpenDB)
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
BODY {
FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif, 宋体
}
P {
FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif, 宋体
}
TD {
FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif, 宋体
}
BODY {
BACKGROUND-COLOR: #d4d0c8
}
TR {
BACKGROUND-COLOR: #e7e7e7
}
.bg {
BACKGROUND-COLOR: #d4d0c8
}
.bg_2 {
BACKGROUND-COLOR: #e7e7e7
}
.tables {
BORDER-RIGHT: 1px; BORDER-TOP: 1px; BORDER-LEFT: 1px; BORDER-BOTTOM: 1px; BACKGROUND-COLOR: #d4d0c8
}
.table {
BORDER-RIGHT: 1px; BORDER-TOP: 1px; BORDER-LEFT: 1px; WIDTH: 98%; BORDER-BOTTOM: 1px; BACKGROUND-COLOR: #d4d0c8
}
.table0 {
BORDER-RIGHT: 1px; BORDER-TOP: 1px; BORDER-LEFT: 1px; WIDTH: 100%; BORDER-BOTTOM: 1px; BACKGROUND-COLOR: #d4d0c8
}
.table1 {
BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; WIDTH: 90%; BORDER-BOTTOM: 0px; BACKGROUND-COLOR: #e7e7e7
}
.table2 {
BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; WIDTH: 85%; BORDER-BOTTOM: 0px
}
.table3 {
WIDTH: 98%
}
.tr {
HEIGHT: 20px; BACKGROUND-COLOR: #e7e7e7
}
.tr0 {
BACKGROUND-COLOR: #d4d0c8
}
.tr1 {
BACKGROUND-COLOR: #dddddd
}
.tr2 {
HEIGHT: 20px; BACKGROUND-COLOR: #d7d7d7
}
.tr3 {
HEIGHT: 20px; BACKGROUND-COLOR: #f7f7f7
}
.td {
FONT-WEIGHT: bold; CURSOR: hand; COLOR: #ffffff; HEIGHT: 24px; BACKGROUND-COLOR: 1da2db
}
.div_alt {
BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: black 1px solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN-LEFT: 18px; BORDER-LEFT: black 1px solid; WIDTH: 240px; COLOR: #000000; PADDING-TOP: 2px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #ffffe1
}
.tims {
FONT-SIZE: 7pt; COLOR: #808080
}
.htd {
LINE-HEIGHT: 180%
}
.red {
COLOR: #ff3300
}
.red2 {
COLOR: #cc3300
}
.read {
COLOR: #3131ce
}
.blue {
COLOR: #0066cc
}
.gray {
COLOR: #808080
}
A {
COLOR: #000000; TEXT-DECORATION: underline
}
A:hover {
COLOR: #ff3300; TEXT-DECORATION: underline
}

</style>
</head>
<BODY>
<%
if request("action")="del" then
conn.execute "delete from plus_keys"
response.write "<script language='javascript'>"
response.write "alert('统计数据已被清除,系统将从重新开始统计。');"
response.write "</script>"
end if
%>
<table width="98%" border="1" style="border-collapse: collapse; border-style: dotted; border-width: 0px" bordercolor="#333333" cellspacing="0" cellpadding="2">
<tr class=backs><td class=td height=18>搜索关键词统计,帮助您分析在您的站点有哪些关键词受访客关注</td></tr>
<tr><td>
<table border="1" width="100%" cellSpacing=0 cellPadding=3 bordercolorlight="#C0C0C0" bordercolordark="#FFFFFF" bordercolor="#FFFFFF">
<tr>
    <td width="14%" align="center">频道</td>
    <td width="31%" align="center">关键词</td>
    <td width="29%">最近搜索时间</td>
    <td width="26%">搜索次数      
    <span style="cursor:hand" onClick="{if(confirm('该操作不可恢复!\n\n确认要删除全部统计数据吗? ')){location.href='?action=del';}}"><font color=red><u>清除统计数据</u></font></span>    </td>
</tr>

<%
set rs=Server.CreateObject("ADODB.recordset")
sql="select * from plus_keys order by num desc"
rs.open sql,conn,1,3
if rs.eof and rs.bof then
%>
<tr>
<td colspan=4>暂时没有访问者搜索商品</td>
</tr>
<%
else
pages = 20    '每页记录数
rs.pageSize = pages
allPages = rs.pageCount   '计算一共能分多少页
page = Request("page")
'if语句属于基本的排错处理
if isEmpty(page) or clng(page) < 1 then
page = 1
elseif clng(page) >= allPages then
page = allPages
end if
rs.AbsolutePage = page


do while not rs.eof and pages>0
%>

<tr>
    <td align="center"><%=rs("channel")%></td>
    <td><span alt="用户曾在本站以“<font color=red><%=rs("keywords")%></font>”为关键字搜索商品"><%=rs("keywords")%></span></td><td><%=rs("keydate")%></td><td><%=rs("num")%></td>
</tr>

<%
pages = pages - 1
rs.movenext
if rs.eof then exit do
loop

end if

rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</table>
<%
call listpages()
%>
</td></tr>
</table>
</body></html>
<%
'分页
sub listPages()
if allpages <= 1 then exit sub
if page = 1 then
response.write "<font color=darkgray>首页 前页</font>"
else
response.write "<a href="&request.ServerVariables("script_name")&"?page=1>首页</a> <a href="&request.ServerVariables("script_name")&"?page="&page-1&">前页</a>"
end if
if page = allpages then
response.write "<font color=darkgray> 下页 末页</font>"
else
response.write " <a href="&request.ServerVariables("script_name")&"?page="&page+1&">下页</a> <a href="&request.ServerVariables("script_name")&"?page="&allpages&">末页</a>"
end if
response.write " 第"&page&"页 共"&allpages&"页"
end sub
%>

 

4,修改Admin_Index_Left.asp,在适当位置加上以下语句,

Response.Write " 关注: <a href='plus_keywordscount.asp' target=main title='客户搜索的关键词'>热点关键词</a>

 

 

至此,此功能实现制作完毕。这个统计可作为记录客户在网站行为的一个参考,帮助建站者更好做好满足客户需求的网站。

 

查看更多 动易Cms教程  动易Cms模板

来源:模板无忧//所属分类:动易Cms教程/更新时间:2009-07-21
相关动易Cms教程