很多个人站长会使用工具来生成自己网站的站点地图,这样做的缺点在于网站的 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 创建网站地图相关推荐

  1. 帝国cms建立自定义页面来创建网站地图sitemap.html

    帝国cms用自定义页面来创建网站地图sitemap.html的方法.具体步骤有三步,1.创建自定义模板(网站地图模板):2.创建自定义页面(调用网站地图模板):3.刷新自定义页面(生成sitemap. ...

  2. JAVA实现网站地图,创建网站地图的方法

    在新网站上线后,配置一个XML的地图(Sitemaps),容易被搜索引擎收录,那么很多新人对于网站地图如何创作,不是很懂,那么飞天狐狸就为大家讲解一下网站地图的第三方创作方法.首先,第三方创建网站地图 ...

  3. 汉文SEO大牛教你如何创建网站地图-seo必修课

    如今做SEO的人那么多,大家总是会在群里问,怎么提高收录,怎么能让搜索引擎快速抓取网站,下面汉文SEO一起来聊聊seo怎么建立网站地图(sitemap). 实战分析:其实seo建立网站(sitemap ...

  4. 实现 ASP.NET 网站地图提供者

    ASP.NET 网站导航提供若干 Web 服务器控件用于 Web 页面中导航结构的显示:SiteMapPath,TreeView,和 Menu 控件.这些 Web 服务器控件都使用 ASP.NET 默 ...

  5. 技术SEO之网站地图(技术SEO连载1,2021更新)

    采自:埃克森数字营销                 网站地图 今天我们聊一聊网站地图,网站地图属于技术SEO范畴. 除了服务器,网站地图是你网站SEO优化战略的基础. 网站地图可以协助搜索引擎浏览网 ...

  6. 教你创建Google网站地图Sitemap.xml(转)

    http://teachmyself.blog.163.com/blog/static/18881422920119895248288/ Sitemap.xml是 google搞出来的,也就是网站地图 ...

  7. ASP.NET 实践:在非层次化控件中显示网站地图的数据

    网站地图数据包含的是层次化信息,每个节点都可以包含零个或多个子节点.TreeView 和 Menu 控件就是专门为层次化数据而设计的.但是,网站地图数据也可以绑定到非层次化控件(如 DropDownL ...

  8. 360SEO 如何创建和提交360网站地图

    360网站地图(360 Sitemap)是一种用于搜索引擎优化(SEO)的文件,它列出了您网站上的所有页面和内容,以帮助搜索引擎更好地了解和索引您的网站.本文将介绍如何创建和提交360网站地图. 一. ...

  9. 【ASP.NET Web】项目实践—网上宠物店2:创建ASP.NET Web 网站项目、连接数据库

    1.创建网站 打开VS软件(项目当中使用的软件版本是 VS2012 ) ,依次点击 [文件]→[新建]→[项目],在弹出的"新建项目" 窗口中,新建一个 ASSP.NET 空 We ...

  10. 关于ASP.NET 中站点地图sitemap 的使用【转xugang】

    关于ASP.NET 中站点地图sitemap 的使用 SiteMapPath 控件简介 SiteMapPath 控件是一种站点导航控件,反映了SiteMap 对象提供的数据.它提供了一种定位站点的方式 ...

最新文章

  1. Glide 框架解析
  2. 攻防世界———MISC 高手区题解
  3. 基于python爬虫技术的应用_基于Python爬虫技术的应用
  4. SAP Spartacus产品转盘页面(ProductCarousel)的产品数据批量加载实现细节
  5. ST:没错,又是我!继续涨价!
  6. 在Eclispe中编译运行jbox2d
  7. 【鲲鹏来了】鲲鹏迁移过程案例分享
  8. 随想录(源代码预处理命令)
  9. Android开发者指南(7) —— App Install Location
  10. Perl5中19个最重要的文件系统工具
  11. linux的cd命名返回上级目录,返回根目录
  12. Emscripten 单词_背单词分享 | 我觉得实用的背单词方法
  13. python 三维地球_python的matplotlib的模拟太阳-地球-月亮运动
  14. 面经:阿里二面自我剖析---Java岗(50分钟)
  15. 自由宣言--《I Have a Dream》(马丁.路德.金)
  16. 2022危险化学品生产单位安全生产管理人员考题及在线模拟考试
  17. 概率函数(密度函数)
  18. Java开源数据库引擎,数据库计算封闭性的一站式解决方案
  19. 项目管理(四):项目整合管理
  20. 前端面试题【背完最低10k】

热门文章

  1. mysql表不存在但实际存在_历史上有哪些实际上并不存在的人物但很多人相信他存在的?...
  2. python定时任务_Python3.x:定时任务实现方式
  3. php 支持泛型,PHP对Java样式类的泛型有答案吗?
  4. java string 空间_java堆与栈 java String分配内存空间(详解)
  5. 基于android p的miui,小米8青春版终于迎来基于AndroidP的MIUI10系统,米粉欢呼
  6. redis统计用户日活量_【赵强老师】Redis案例分析:用setbit统计活跃用户
  7. 阿里云云计算6 ECS的概念
  8. java内省_聊聊Java内省Introspector
  9. 服务器webpack构建性能,webpack性能优化——构建效率(一)
  10. DSSM模型的原理简介,预测两个句子的语义相似度