Marius's Personal site

My personal blog & gallery
Welcome to Marius's Personal site Sign in | Join | Help
in Search

Blogging About .NET

Sitemap Provider for Communityserver

A few months ago I was looking for a Sitemap provider for CommunityServer, given that more and more search engines are using this technology to obtain additional information from indexed sites. I found Dan Bartel's Sitemap provider which is explained on Community Server's forum, and it was incorporated in Community Server 2007 release, or at least that's my understanding. However it has some significant drawbacks at least for CS 2.0 which I was interested in:
  • It was not customizable enough. My configuration has two different sites plugged in the same DB, and you could not exclude for example the gallery list for sitemap. Dan Bartel's version put everything it found in the DB in the sitemap index
  • It worked only on English locale servers
  • It used an older version of sitemap schema (0.84), instead of a more current version that is used by non-Google search (0.90)
  • Last modification date wasn't working correctly for blog categories
  • The name was pretty much hardcoded to GoogleSitemap.aspx
  • It was listing incorrectly only 10 posts available per blog (by using Individual Blog Post count property)
  • There are different binary versions depending on CS version and .NET Framework version
As a result I started to write my own Sitemap provider for Community Server which I'm sharing with the world. My version should solve all the above issues, however it doesn't support Google Ping feature from Dan Bartel's version, firstly because it cannot be implemented just as a ASPX and I didn't need it at all.

My version consists just from 2 different ASPX pages, which host the source code in them, so if you do not like any aspect of how the sitemap is generated you can tweak it to suit your needs. In order to install it you just need to copy ASPX files in root of your installation and merge SiteUrls.merge.config file from archive with your SiteUrls.config, keeping in mind that if you don't want some particular types of posts in your index, you just do not put that in your SiteUrls.config.

For example if you don't want your galleries listed in your sitemap index, then you will remove <url name="GallerySiteMap"> entry.

This code was tested only with Community Server 2.0, and I might have introduced some dependency to this particular version, but I haven't got a 2.1 installation to test it against. However the modifications should be trivial to make it work against 2.1 version, or even a 2007 version, if you want.

Any comments welcomed on how this can be improved.


CS Sitemap by Marius Constantin is licensed under a Creative Commons Attribution Non-Commercial 3.0 License. Permissions beyond the scope of this license may be available at http://blogs.mconstantin.eu.org/cchrism/.

Published Friday, February 22, 2008 9:45 PM by cchrism
Filed Under:
Attachment(s): Sitemap-CS2.0.zip

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

What do you think?

(required)
(optional)
(required)

This Blog

Post Calendar

<February 2008>
SuMoTuWeThFrSa
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

News

Listed on BlogShares

Syndication

Powered by Community Server, by Telligent Systems