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,查看格式,如图即可,并在百度站长进行提交。

 

 

 

posted @ 2022-07-13 20:15  coderjim  阅读(229)  评论(0编辑  收藏  举报

更多知识请点击——

www.7017online.xyz