ASP.NET 创建网站地图
很多个人站长会使用工具来生成自己网站的站点地图,这样做的缺点在于网站的 sitemap 不能及时的得到更新。当我们发表了一篇新文章时,应该对网站的地图进行更新,并通知搜索引擎网站地图已经发生了改变!
首先,让我们看看在 ASP.NET 中怎样生成网站地图。第一步,我们完成创建节点的方法,如下:
/// <summary> /// 创建节点 /// </summary> /// <param name="strUrl">链接地址</param> /// <param name="dLastMod">最后修改时间</param> /// <param name="strChangeFreq">更新频率</param> /// <returns>返回节点</returns> private static XmlNode CreateNode(string strUrl,DateTime dLastMod, string strChangeFreq) {XmlNode xNodeUrl = xd.CreateElement("url");XmlNode nodeLoc = xd.CreateElement("loc");nodeLoc.InnerText = strUrl;xNodeUrl.AppendChild(nodeLoc);XmlNode nodeLastMod = xd.CreateElement("lastmod");nodeLastMod.InnerText = dLastMod.ToString("yyyy-MM-ddThh:mm:ss+00:00");xNodeUrl.AppendChild(nodeLastMod);XmlNode nodeChangeFreq = xd.CreateElement("changefreq");nodeChangeFreq.InnerText = strChangeFreq;xNodeUrl.AppendChild(nodeChangeFreq);return xNodeUrl; }
接下来调用上边的方法,遍历网站文章,输出网站地图:
static XmlDocument xd = new XmlDocument();/// <summary> /// 输出 Sitemap /// </summary> /// <param name="article">List<Article></param> public static void WriteSitemap(List<Article> article) {string strFile = HttpRuntime.AppDomainAppPath + "xml/sitemap.xml";XmlNode rootNode = xd.CreateElement("urlset");XmlAttribute attrXmlNS = xd.CreateAttribute("xmlns");attrXmlNS.InnerText = "http://www.sitemaps.org/schemas/sitemap/0.9";rootNode.Attributes.Append(attrXmlNS);// 网站首页rootNode.AppendChild(CreateNode("http://www.lidongkui.com/", DateTime.Now, "daily"));//创建各文章节点 <url></url>foreach (Article a in article){rootNode.AppendChild(CreateNode("http://www.lidongkui.com/" + a.UrlName, a.AddTime, "monthly"));}xd.AppendChild(rootNode);xd.InsertBefore(xd.CreateXmlDeclaration("1.0", "UTF-8", null), rootNode);xd.Save(strFile); }
最后,只需要获取文章,调用方法输出网站地图:
XML.WriteSitemap(db.Articles .OrderByDescending(m => m.ID) .ToList() );
到这里就成功输出了网站地图,但是输出网站地图后搜索引擎并不能及时发现我们网站地图的改变,这时我们需要 ping 一下各搜索引擎,方法如下:
//google System.Net.WebRequest reqGoogle = System.Net.WebRequest.Create("http://www.google.com/webmasters/tools/ping?sitemap=" +HttpUtility.UrlEncode("http://www.lidongkui.com/xml/sitemap.xml")); reqGoogle.GetResponse();//ask System.Net.WebRequest reqAsk = System.Net.WebRequest.Create("http://submissions.ask.com/ping?sitemap=" +HttpUtility.UrlEncode("http://www.lidongkui.com/xml/sitemap.xml")); reqAsk.GetResponse();//yahoo System.Net.WebRequest reqYahoo = System.Net.WebRequest.Create("http://search.yahooapis.com/SiteExplorerService/V1/updateNotification?appid=YahooDemo&url=" +HttpUtility.UrlEncode("http://www.lidongkui.com/xml/sitemap.xml")); reqYahoo.GetResponse();//bing System.Net.WebRequest reqBing = System.Net.WebRequest.Create("http://www.bing.com/webmaster/ping.aspx?siteMap=" +HttpUtility.UrlEncode("http://www.lidongkui.com/xml/sitemap.xml")); reqBing.GetResponse();
使用这些方法,当我们发表了一篇新文章后及时更新了我们的网站地图,同时告知搜索引擎我们的网站地图已经发生变化,这样更有利于 SEO。
转自:http://www.lidongkui.com/create-sitemap
转载于:https://www.cnblogs.com/mrma/p/3981633.html
ASP.NET 创建网站地图相关推荐
- 帝国cms建立自定义页面来创建网站地图sitemap.html
帝国cms用自定义页面来创建网站地图sitemap.html的方法.具体步骤有三步,1.创建自定义模板(网站地图模板):2.创建自定义页面(调用网站地图模板):3.刷新自定义页面(生成sitemap. ...
- JAVA实现网站地图,创建网站地图的方法
在新网站上线后,配置一个XML的地图(Sitemaps),容易被搜索引擎收录,那么很多新人对于网站地图如何创作,不是很懂,那么飞天狐狸就为大家讲解一下网站地图的第三方创作方法.首先,第三方创建网站地图 ...
- 汉文SEO大牛教你如何创建网站地图-seo必修课
如今做SEO的人那么多,大家总是会在群里问,怎么提高收录,怎么能让搜索引擎快速抓取网站,下面汉文SEO一起来聊聊seo怎么建立网站地图(sitemap). 实战分析:其实seo建立网站(sitemap ...
- 实现 ASP.NET 网站地图提供者
ASP.NET 网站导航提供若干 Web 服务器控件用于 Web 页面中导航结构的显示:SiteMapPath,TreeView,和 Menu 控件.这些 Web 服务器控件都使用 ASP.NET 默 ...
- 技术SEO之网站地图(技术SEO连载1,2021更新)
采自:埃克森数字营销 网站地图 今天我们聊一聊网站地图,网站地图属于技术SEO范畴. 除了服务器,网站地图是你网站SEO优化战略的基础. 网站地图可以协助搜索引擎浏览网 ...
- 教你创建Google网站地图Sitemap.xml(转)
http://teachmyself.blog.163.com/blog/static/18881422920119895248288/ Sitemap.xml是 google搞出来的,也就是网站地图 ...
- ASP.NET 实践:在非层次化控件中显示网站地图的数据
网站地图数据包含的是层次化信息,每个节点都可以包含零个或多个子节点.TreeView 和 Menu 控件就是专门为层次化数据而设计的.但是,网站地图数据也可以绑定到非层次化控件(如 DropDownL ...
- 360SEO 如何创建和提交360网站地图
360网站地图(360 Sitemap)是一种用于搜索引擎优化(SEO)的文件,它列出了您网站上的所有页面和内容,以帮助搜索引擎更好地了解和索引您的网站.本文将介绍如何创建和提交360网站地图. 一. ...
- 【ASP.NET Web】项目实践—网上宠物店2:创建ASP.NET Web 网站项目、连接数据库
1.创建网站 打开VS软件(项目当中使用的软件版本是 VS2012 ) ,依次点击 [文件]→[新建]→[项目],在弹出的"新建项目" 窗口中,新建一个 ASSP.NET 空 We ...
- 关于ASP.NET 中站点地图sitemap 的使用【转xugang】
关于ASP.NET 中站点地图sitemap 的使用 SiteMapPath 控件简介 SiteMapPath 控件是一种站点导航控件,反映了SiteMap 对象提供的数据.它提供了一种定位站点的方式 ...
最新文章
- Glide 框架解析
- 攻防世界———MISC 高手区题解
- 基于python爬虫技术的应用_基于Python爬虫技术的应用
- SAP Spartacus产品转盘页面(ProductCarousel)的产品数据批量加载实现细节
- ST:没错,又是我!继续涨价!
- 在Eclispe中编译运行jbox2d
- 【鲲鹏来了】鲲鹏迁移过程案例分享
- 随想录(源代码预处理命令)
- Android开发者指南(7) —— App Install Location
- Perl5中19个最重要的文件系统工具
- linux的cd命名返回上级目录,返回根目录
- Emscripten 单词_背单词分享 | 我觉得实用的背单词方法
- python 三维地球_python的matplotlib的模拟太阳-地球-月亮运动
- 面经:阿里二面自我剖析---Java岗(50分钟)
- 自由宣言--《I Have a Dream》(马丁.路德.金)
- 2022危险化学品生产单位安全生产管理人员考题及在线模拟考试
- 概率函数(密度函数)
- Java开源数据库引擎,数据库计算封闭性的一站式解决方案
- 项目管理(四):项目整合管理
- 前端面试题【背完最低10k】
热门文章
- mysql表不存在但实际存在_历史上有哪些实际上并不存在的人物但很多人相信他存在的?...
- python定时任务_Python3.x:定时任务实现方式
- php 支持泛型,PHP对Java样式类的泛型有答案吗?
- java string 空间_java堆与栈 java String分配内存空间(详解)
- 基于android p的miui,小米8青春版终于迎来基于AndroidP的MIUI10系统,米粉欢呼
- redis统计用户日活量_【赵强老师】Redis案例分析:用setbit统计活跃用户
- 阿里云云计算6 ECS的概念
- java内省_聊聊Java内省Introspector
- 服务器webpack构建性能,webpack性能优化——构建效率(一)
- DSSM模型的原理简介,预测两个句子的语义相似度