C\#sitemap 사이트 지 도 를 만 드 는 방법

Sitemaps 는 Google 의 웹 사이트 관리자 와 관련 된 도구 입 니 다.BLOG 의 RSS 기능 과 같 고 자신의 편 의 를 제공 하 는 서비스 입 니 다.만약 에 모두 가 이런 방식 으로 자신의 업 데 이 트 를 제출 하면 Google 은 더 이상 그렇게 많은 파충 류 를 보 내지 않 아 도 됩 니 다.그 어떠한 사이트 도 업데이트 만 있 으 면 자동 으로 Google 에 알 립 니 다.Google 에서 색인 을 쉽게 만 들 수 있 습 니 다.
최근 BAIDU 도 XML 형식의 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; }
}
}

좋은 웹페이지 즐겨찾기