C#生成sitemap站点地图的方法

Sitemaps是Google的一个和网站管理员相关的工具,有点象BLOG的RSS功能,是一个方便自己的服务,如果大家都采用了这种方式提交自己的更新的话,Google就再也不用派出那么多爬虫辛辛苦苦的到处乱窜了,任何一个站点,只要有更新,便会自动“通知”Google,方便Google进行索引。

好像最近BAIDU也开始支持XML格式的sitemap的站点地图了。

目前网络上有很多免费的生成sitemap站点地图的工具,使用起来也比较方便。其原理就是抓取你指定的页面,获取页面上所有的链接,根据这些链接生成一个xml格式的sitemap站点地图文件。

但是这样做的缺点就是只能生成页面上有链接的sitemap站点地图,同时,站点地图需要手工上传到服务器才能使用。

下面就提供一种通过C#自动生成sitemap站点地图的方法,可以直接通过网站系统生成在服务器目录,而且根据自己的需求任意设置需要显示在sitemap站点地图中的链接。


代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Voodoo.other.SEO
{
/// <summary>
/// 生成站点地图sitemap
/// (c) http://aizr.net
/// </summary>
public class SiteMap
{
public List<PageInfo> url
{
get;
set;
}

/// <summary>
/// 生成SiteMap字符串
/// </summary>
/// <returns></returns>
public string GenerateSiteMapString()
{
StringBuilder sb = new StringBuilder();
sb.AppendLine(“<?xml version=\”1.0\” encoding=\”UTF-8\”?> “);
sb.AppendLine(“<urlset xmlns=\”http://www.sitemaps.org/schemas/sitemap/0.9\”> “);

foreach (PageInfo pi in url)
{
sb.AppendLine(“<url>”);
sb.AppendLine(string.Format(“<loc>{0}</loc>”,pi.loc));
sb.AppendLine(string.Format(“<lastmod>{0}</lastmod> “, pi.lastmod.ToString(“yyyy-MM-dd”)));
sb.AppendLine(string.Format(“<changefreq>{0}</changefreq> “, pi.changefreq));
sb.AppendLine(string.Format(“<priority>{0}</priority> “,pi.priority));
sb.AppendLine(“</url>”);
}

sb.AppendLine(“</urlset>”);
return sb.ToString();
}

/// <summary>
/// 保存Site文件
/// </summary>
/// <param name=”FilePath”>路径</param>
public void SaveSiteMap(string FilePath)
{
Voodoo.IO.File.Write(FilePath, GenerateSiteMapString());//保存在指定目录下
}
}

public class PageInfo
{
/// <summary>
/// 网址
/// </summary>
public string loc { get; set; }

/// <summary>
/// 最后更新时间
/// </summary>
public DateTime lastmod { get; set; }

/// <summary>
/// 更新频繁程度
/// </summary>
public string changefreq{get;set;}

/// <summary>
/// 优先级,0-1
/// </summary>
public string priority { get; set; }
}
}

(0)

相关推荐

  • c#使用windows服务更新站点地图的详细示例

    由于公司平台访问人数逐渐增多,公司项目的数据库已经几次出现宕机现象.为减轻数据库压力,我上个月对公司项目做了下调整.把新闻板块提取出来单独一个站点,单独一个数据库.减少了主站点和数据库的负担和压力. 但放在线上一个月,新闻新的发布数量最少已经有500篇左右.百度只收录了70个左右,于是想到可能是没有站点地图造成的.但怎么定时更新站点地图呢? 我尝试使用windows服务来定时更新站点地图. 首先需要了解下几个问题. 1.百度收录的站点地图(sitemap)的格式.详情请查看该链接:查看 目前我只

  • C#开发Android百度地图手机应用程序(多地图展示)

    一.简介 地图控件自v2.3.5版本起,支持多实例,即开发者可以在一个页面中建立多个地图对象,并且针对这些对象分别操作且不会产生相互干扰. 文件名:Demo04MultiMapView.cs 简介:介绍多MapView的使用 详述:在一个界面内,同时建立四个TextureMapView控件: 二.示例 1.运行截图 在x86模拟器中的运行效果如下: 在上一节例子的基础上,只需要再增加下面的步骤即可. 2.添加demo05_multimap.axml文件 在layout文件夹下添加该文件,将其改为

  • c#生成站点地图(SiteMapPath)文件示例程序

    复制代码 代码如下: //创建站点地图        private void CreateSiteMap(DataSet ds)        { XmlDeclaration declareation;            declareation = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);            xmlDoc.AppendChild(declareation); XmlElemen

  • 基于C# 网站地图制作

    1. 我们的网站是用C#开发的,我们采用数据库存储所有文章信息.所以我们的文章都是动态地从数据库中提取出来的.这点很不利于蜘蛛的顺藤摸瓜. 2. 这点嘛,嘿嘿,就有些勉强了.做个网站地图,可以让用户对敝网站的内容一目了然,能起到很好的导航作用. 鉴于上述原因,于是乎,俺就决定为俺地"赤兔英语网"做一个网站地图.由于Google等搜索引擎所需的网站地图必须是XML文件,所以俺决定做网页形式和XML形式两种网站地图.我们的网站是用C#开发的,当然是使用C#语言来编写俺地网站地图了,赫赫.

  • 如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)

    以下是使用js代码实现百度地图计算两地距离,代码如下所示: <script src="js/jquery-1.9.0.js" type="text/javascript" language="javascript"></script> <script language="javascript" type="text/javascript" src="js/area.j

  • c#调用arcgis地图rest服务示例详解(arcgis地图输出)

    1.使用步骤 1)构建请求网址 A.确定端点:每个GIS服务都有一个端点.例如,ArcGIS Server上Demographics文件夹下名为ESRI_Census_USA的一个地图服务sampleserver1.arcgisonline.com的端点为:http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer. B.确定操作:不同地理信息系统服务支持不同的

  • Windows下C#的GUI窗口程序中实现调用Google Map的实例

    对谷歌地图操作使用的是WebBrowser控件,通过对javascript的操作来实现对谷歌地图的各种操作,所以首先要创建一个html文件,并赋给WebBrowser的URl: <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv=&

  • C#生成sitemap站点地图的方法

    Sitemaps是Google的一个和网站管理员相关的工具,有点象BLOG的RSS功能,是一个方便自己的服务,如果大家都采用了这种方式提交自己的更新的话,Google就再也不用派出那么多爬虫辛辛苦苦的到处乱窜了,任何一个站点,只要有更新,便会自动"通知"Google,方便Google进行索引. 好像最近BAIDU也开始支持XML格式的sitemap的站点地图了. 目前网络上有很多免费的生成sitemap站点地图的工具,使用起来也比较方便.其原理就是抓取你指定的页面,获取页面上所有的链接

  • NodeJs生成sitemap站点地图的方法示例

    如果博客是使用Hexo管理的,sitemap可以使用插件来生成.但对于一个内容管理网站,后端可能是express.koa之类的框架,这时sitemap就需要自己来生成了 什么是sitemap Sitemap可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页.最简单的Sitemap形式,就是XML文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间.更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站. sitemap结构 <url>

  • php生成百度sitemap站点地图类函数实例

    本文实例讲述了php生成百度sitemap站点地图类函数的方法,分享给大家供大家参考.具体实现方法如下: 问题概述: 公司网站是问答百科的网站.seo工程师提出需求说根据网站的问题来生成xml文件.每个xml文件包含5000条setmap格式数据.现在线上网站大约有70w条问题,所以说基本生成140个xml文件.还有一个索引文件.比如文件的名称以数字开头的.索引文件包含的内容就是每个xml文件的路径还有名称. 为什么要每个文件存储5000条数据呢,因为这是mysql的一个界限值.如果每次取多了以

  • Django Sitemap 站点地图的实现方法

    Django 中自带了 sitemap框架,用来生成 xml 文件 Sitemap(站点地图)是通知搜索引擎页面的地址,页面的重要性,帮助站点得到比较好的收录. 白话文就是:一个写了你网站的所有url的xml文件,告诉搜索引擎,请及时收录我的这些地址. sitemap 很重要,可以用来通知搜索引擎页面的地址,页面的重要性,帮助站点得到比较好的收录. 开启sitemap功能的步骤 settings.py 文件中 django.contrib.sitemaps 和 django.contrib.si

  • 自定义Django默认的sitemap站点地图样式

    Django 中自带了 sitemap框架,用来生成 xml 文件 Sitemap(站点地图)是通知搜索引擎页面的地址,页面的重要性,帮助站点得到比较好的收录. 白话文就是:一个写了你网站的所有url的xml文件,告诉搜索引擎,请及时收录我的这些地址. sitemap 很重要,可以用来通知搜索引擎页面的地址,页面的重要性,帮助站点得到比较好的收录. 一.站点地图sitemap 一般在Web网站开发完成之际,如果对搜索引擎优化(SEO)有一定的要求,我们都会为网站添加一个站点地图sitemap,配

  • 利用Python脚本生成sitemap.xml的实现方法

    安装lxml 首先需要pip install lxml安装lxml库. 如果你在ubuntu上遇到了以下错误: #include "libxml/xmlversion.h" compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Cleaning up... Removing tempo

  • PHP生成sitemap.xml地图函数

    复制代码 代码如下: <?php /** *    网站地图更新控制器 * *    @author    Garbin *    @usage    none */class SitemapApp extends FrontendApp{    function __construct()    {        $this->SitemapApp();    }    function SitemapApp()    {        parent::__construct();     

  • ASP.NET 站点地图(sitemap)简明教程

    还好,现在有这个机会,就权当自己的笔记吧!.以下讲一下最简单的创建形式. 站点地图,在每一个网站都必须用的一种技术.它是用来给用户导航作用的,以便告诉用户现在的位置.特别是对那些目录很深的网页,这种效果就犹为明显. 比如 天涯社区>天涯论坛>海口...这种形式. 1.新建一个站点地图(和新建aspx一样),tour.sitemap.下面是默认情况生成的xml文件. 复制代码 代码如下: <?xml version="1.0" encoding="u

随机推荐