PageAdmin Cms自助建站系统生成百度SiteMap文件的方法

简介: PageAdmin作为一款优秀的建站系统,国内拥有不少的用户,之前在论坛里看到很多用户生成百度SiteMap文件都是通过安装插件来实现,但实际上通过系统自带的自定义路由功能一样可以实现siteMap文件生成,下面说一下步骤。

PageAdmin作为一款优秀的建站系统,国内拥有不少的用户,之前在论坛里看到很多用户生成百度SiteMap文件都是通过安装插件来实现,但实际上通过系统自带的自定义路由功能一样可以实现siteMap文件生成,下面说一下步骤。

1、首先添加一个自定义页面配置,如何添加自定义路由,请参考我之前的文章,或者到官方帮助中搜索:自定义页面,可以找到自定义路由的使用方法,下面是我添加的一个配置。

<route urlConstraint="^buildSiteMap.cshtml$" viewPath="siteMap/siteMap.cshtml" httpcacheSolutionId="0" title=""></route>

以上配置仅供参考,大家可以根据自己需要来写。
2、在模板目录的Views目录下新一个siteMap/siteMap.cshtml文件,文件内容如下:

@{
 Layout = null;
 string table = Request.QueryString["table"];
 string domain = "http://localhost:800/buildSiteMap.cshtml";//localhost:800改为您的网站域名,必须是外网域名
 
 //生成栏目siteMap
 if (table=="column")
 {
 <?xml version="1.0" encoding="utf-8" ?>
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">
 @foreach (var item in Html.GetColumnList().Where(c => c.Show == 1 && c.ColumnType <= 2))
 {
 string url = Html.ColumnUrl((int)(item.Id));
 <url>
 <mobile:mobile type="pc,mobile" />
 <loc>@url</loc>
 <lastmod>@DateTime.Now.ToString("yyyy-MM-dd")</lastmod>
 <changefreq>weekly</changefreq>
 <priority>0.8</priority>
 </url>
 }
 </urlset>
 }
 //生成信息表的siteMap
 else if (!string.IsNullOrEmpty(table))
 {
 <?xml version="1.0" encoding="utf-8" ?>
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 @foreach (var item in Html.InfoDataList(new { Table = table, ShowNumber = 1500 }))
 {
 <url>
 <mobile:mobile type="pc,mobile" />
 <loc>http://www.pageadmin.net/jianzhan/@(item.Id).cshtml</loc>
 <lastmod>@item.Thedate.ToString("yyyy-MM-dd")</lastmod>
 <changefreq>weekly</changefreq>
 <priority>0.5</priority>
 </url>
 }
 </urlset>
 }
 else
 {
 HttpRequestHelper httpRequestHelper = new HttpRequestHelper();
 //生成栏目siteMap文件
 IOHelper.CreateFile("/columnSiteMap.xml", httpRequestHelper.Get(domain+"?table=column").Trim(), true);
 //生成product表的siteMap文件,必须保证news信息表实际存在
 IOHelper.CreateFile("/productSiteMap.xml", httpRequestHelper.Get(domain+"?table=product").Trim(), true);
 //生成news表的siteMap文件,必须保证news信息表实际存在
 IOHelper.CreateFile("/newsSiteMap.xml", httpRequestHelper.Get(domain+"?table=news").Trim(), true);
 //更多信息表可以自行添加IOHelper.CreateFile方法,table参数改为信息表名即可
 Response.Write("sitemap文件生成成功!");
 }
}

3、最后直接在浏览器中输入:您的域名/buildSiteMap.cshtml 就会自动生成对应siteMap.xml文件,生成后在百度官方的站长工具提交即可。

相关文章
|
2月前
夸克网盘的文件怎么保存到百度网盘?
夸克网盘的文件怎么保存到百度网盘?
980 2
夸克网盘的文件怎么保存到百度网盘?
|
2月前
|
Linux
百度搜索:蓝易云【Linux系统ps命令:查看正在运行的进程】
通过这些简洁的ps命令用法,你可以方便地查看Linux系统中正在运行的进程信息。
55 1
|
2月前
|
Linux
|
2月前
|
Ubuntu
百度搜索:蓝易云【Ubuntu系统永久自动挂载硬盘或分区教程】
现在,Ubuntu系统将会在每次启动时自动挂载指定的硬盘或分区,并且挂载将保持永久有效。请确保配置 `fstab`文件时使用正确的UUID和挂载目录名,以免出现挂载错误。
76 7
|
2月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SSH服务端配置】
现在,你已经成功在Ubuntu系统上配置了SSH服务端。这将允许其他计算机通过SSH协议连接到你的Ubuntu系统,并进行远程管理和操作。请注意,远程访问有安全风险,建议在生产环境中采取必要的安全措施来保护系统。
54 3
|
2月前
|
Ubuntu
百度搜索:蓝易云【Ubuntu系统apt添加第三方PPA源教程】
现在,你已经成功在Ubuntu系统中添加了第三方PPA源。系统将会从该源获取更新和软件包。请注意,添加第三方PPA源时要确保其来源可信,以免引入不安全的软件包。
57 5
|
2月前
|
Ubuntu 网络安全
百度搜索:蓝易云【ubuntu系统ufw开放端口教程】
现在,你已经成功在Ubuntu系统中使用ufw开放了指定的端口。请确保只开放必要的端口,并注意网络安全。
172 3
|
2月前
|
Ubuntu 测试技术 Linux
百度搜索:蓝易云【Ubuntu系统打RT实时内核补丁教程】
现在,你已经成功在Ubuntu系统上打上RT实时内核补丁,并且系统将使用RT内核运行,提供更好的实时性能。请注意,内核编译和替换是一项复杂的操作,建议在实施前备份重要数据,并在测试环境中进行验证。
46 2
|
2月前
|
存储 Ubuntu
百度搜索:蓝易云【在ubuntu系统下安装配置onedrive步骤】
现在,你已经成功在Ubuntu系统下安装和配置了OneDrive,可以使用该工具与OneDrive云端存储进行同步。
69 0
|
2月前
|
Ubuntu 网络协议
百度搜索:蓝易云【ubuntu系统如何设置静态IP地址?】
现在,你已经成功在Ubuntu系统中设置了静态IP地址。系统将使用指定的静态IP地址进行网络连接。
46 0