ASP.NET生成Google站点地图

本文介绍了一个用于生成Google网站地图的实用程序。该程序通过遍历站点的所有文件来创建一个符合Google规范的XML格式的地图文件,以便帮助搜索引擎更有效地抓取网站内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1    /// <summary>
 2    /// 生成google网站地图
 3    /// </summary>
 4    /// <returns></returns>

 5    public static bool BuildGoogleSitemap()
 6    {
 7        try
 8        {
 9            string RootDirectory = AppDomain.CurrentDomain.BaseDirectory;
10            XmlTextWriter Writer = new XmlTextWriter(HttpContext.Current.Server.MapPath("~/GoogleSitemaps.xml"), Encoding.UTF8);
11            Writer.Formatting = Formatting.Indented;
12            Writer.WriteStartDocument();
13            Writer.WriteStartElement("urlset""http://www.google.com/schemas/sitemap/0.84");
14            //遍历扫描网站所有文件
15            showfiles(RootDirectory, Writer);
16
17            Writer.WriteEndElement();
18            Writer.WriteEndDocument();
19            Writer.Close();
20            return true;
21
22        }

23        catch (Exception err)
24        {
25            return false;
26        }

27    }

28
29    //遍历扫描网站所有文件
30    static void showfiles(string dirpath, XmlTextWriter Writer)
31    {
32        try
33        {
34            DirectoryInfo dir = new DirectoryInfo(dirpath);
35            foreach (FileInfo f in dir.GetFiles())
36            {
37                string path = dir.FullName.Replace(AppDomain.CurrentDomain.BaseDirectory, "");//文件相对目录
38                //HttpContext.Current.Response.Write(AppDomain.CurrentDomain.BaseDirectory + "**********" + dir.FullName + "<br>");
39                Writer.WriteStartElement("url");
40
41                Writer.WriteStartElement("loc");
42                StringBuilder sb = new StringBuilder("/" + path + "/" + f.Name);
43                sb.Replace("//""/").Replace(@"/""/");
44                Writer.WriteString(ConfigurationManager.AppSettings["WebSiteUrl"].ToString() + sb.ToString());
45                Writer.WriteEndElement();
46
47                Writer.WriteStartElement("lastmod");
48                Writer.WriteString(string.Format("{0:yyyy-MM-dd}", f.LastWriteTime));
49                Writer.WriteEndElement();
50
51                Writer.WriteStartElement("changefreq");
52                Writer.WriteString("always");//更新频率:always:经常,hourly:小时,daily:天,weekly:周,monthly:月,yearly:年 
53                Writer.WriteEndElement();
54
55                Writer.WriteStartElement("priority");
56                Writer.WriteString("0.8");//相对于其他页面的优先权,此值定于0.0 - 1.0之间 
57                Writer.WriteEndElement();
58
59                Writer.WriteEndElement();
60            }

61            foreach (DirectoryInfo d in dir.GetDirectories())
62            {
63                showfiles(d.FullName, Writer);
64            }

65        }

66        catch (Exception) { }
67    }

68

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值