Click here to Skip to main content
15,892,697 members
Articles / Programming Languages / C#
Article

C# Google Sitemap Class

Rate me:
Please Sign up or sign in to vote.
1.51/5 (12 votes)
29 Nov 20061 min read 52.2K   1.2K   19   8
An article that describes a C# class to simplify Google Sitemap file generation.

csharp sitemap class

Introduction

Sitemaps are an easy way for web masters to inform search engines about pages on their website that needs to be crawled. It is an XML file which consists of lists of URLs with additional meta data on each URL. Sitemaps is arguably one of the most important feature of Site SEO (Search Engine Optimization). With the release of sitemap protocol 0.90, Google has managed to gain support for two other search giants, namely Microsoft and Yahoo!, to use the standard protocol. This module allows you to easily create and modify sitemaps generation for your website.

The C# Sitemap Class

To use the C# sitemap class, all you have to do is to include two .cs files in your project, namely, Sitemap.cs and Url.cs. Url.cs consists of the basic element for individual URL needed in the sitemap. Sitemap.cs is the class that will be generating the sitemap XML file.

Using the Code

First, you'll have to create a Url object. A Url object has four properties:

  • Loc
  • ChangeFreq
  • Priority
  • LastModified

Examples are as below:

C#
url url1 = new url();
url1.loc = "http://www.codeproject.com";
url1.priority = "1";
url1.lastmodifieddatetime = datetime.now;
url1.changefreq = "always";

You'll then need to create the Sitemap object and use the public Add method, adding the url1 object you have created. However, remember to put the intended file name as the parameter to the sitemap class constructor. Example:

C#
Sitemap sitemap0 = new Sitemap(txtFilename.Text);
sitemap0.Add(url1);

and in order to add a new URL:

C#
Url url2 = new Url();
url2.Loc = "http://www.codeproject.com/script/PressRelease/pr.asp";
url2.Priority = "0.8";
url2.LastModifiedDateTime = DateTime.Now;
url1.ChangeFreq = "always";

sitemap0.Add(url2);

After adding all the URLs, call the Write method, and the sitemap file will be generated.

C#
sitemap0.Write();

History

  • Rev 0.1 - 11/29/2006 -- Initial revision.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Singapore Singapore
Daytime Electronic/RF Engineer and night time coder. He sometime rant about technology and other stuff on his personnel blog



His latest hobby project is building Job Search Engine

Comments and Discussions

 
GeneralAlternative Class Pin
ekul246-Oct-10 19:39
ekul246-Oct-10 19:39 
Generalok Pin
ngc.vn22-Jun-08 0:50
ngc.vn22-Jun-08 0:50 
GeneralIt's imposible Pin
Member 358862110-Feb-07 6:20
Member 358862110-Feb-07 6:20 
GeneralRe: It's imposible Pin
greenrob10-Feb-07 6:33
greenrob10-Feb-07 6:33 
GeneralHonestly Pin
Jan R Hansen4-Dec-06 2:45
Jan R Hansen4-Dec-06 2:45 
- this is not an article. A wrapper for writing an xml element ? Call it that, and get a bit closer to the truth. A Google sitemap class would e.g. handle nested nodes. This is useless. Sorry.

Do you know why it's important to make fast decisions? Because you give yourself more time to correct your mistakes, when you find out that you made the wrong one. Chris Meech on deciding whether to go to his daughters graduation or a Neil Young concert

GeneralRe: Honestly Pin
greenrob9-Dec-06 9:14
greenrob9-Dec-06 9:14 
GeneralBasically... Pin
Itay Sagui29-Nov-06 5:14
Itay Sagui29-Nov-06 5:14 
GeneralRe: Basically... Pin
teongkee29-Nov-06 14:16
teongkee29-Nov-06 14:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.