asp网站如何制做动态实时sitemap?
asp网站有很多sitemap工具,但是一般都是直接生成,这样无法进行实时更新。
可以根据网站的最新数据列表的思路,配合伪静态,进行生成动态sitemap。步骤如下:
1.在根目录创建文件sitemap.asp;复制粘贴以下代码:
注意:
1.)黄色背景文字表示sitemap展现的数据条数;
2.)蓝色背景文字表示sitemap网站的前缀;
<!--#include file="inc/conn.asp"--> <% sql="select top 2500 * from MB_Link where L_hmd=2 order by L_ID desc" Set rs= Server.CreateObject("ADODB.Recordset") rs.open sql,my_conn,1,1 if rs.eof and rs.bof then response.write "<p align='center'>没有可排行的对象 </p>" else filename=1 %> <% Response.Write("<?xml version='1.0' encoding='utf-8'?>") %> <urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'> <%do while not rs.eof%> <url> <loc>https://www.aaa.com/SiteInfo.asp?SiteID=<%=rs("L_ID")%></loc> <priority>0.9</priority> <lastmod><%if DatePart("yyyy",rs("L_Date"))<10 then%>0<%end if%><%=DatePart("yyyy",rs("L_Date"))%>-<%if DatePart("m",rs("L_Date"))<10 then%>0<%end if%><%=DatePart("m",rs("L_Date"))%>-<%if DatePart("d",rs("L_Date"))<10 then%>0<%end if%><%=DatePart("d",rs("L_Date"))%></lastmod> <changefreq>always</changefreq> </url> <% rs.movenext filename=filename+1 if filename>2500 then Exit Do loop %>
<% end if rs.Close set rs=nothing %> </urlset>
2.在服务器(宝塔为例)设置伪静态规则,将sitemap.asp指向sitemap.xml即可;
<rule name="1_rewrite"> <match url="^sitemap.xml$"/> <action type="Rewrite" url="sitemap.asp"/> </rule>
3.访问sitemap.xml,查看格式,如图即可,并在百度站长进行提交。