Click here to Skip to main content
Licence CPOL
First Posted 13 Dec 2007
Views 12,343
Downloads 170
Bookmarked 20 times

Google Site Map Crawler

By | 13 Dec 2007 | Article
Console application that chacks all URLs listed in sitemap.xml file

Introduction

Have you ever thought of trying to validate each URL listed in your sitemap file?

Background

I have a site with dynamically generated page links. Those links are generated based on a page title which can be any combination of letters, numbers and symbols. Of course, the site does remove all forbidden characters from the page title before generating its URL, trims and shortens it a bit... however errors still occur from time to time. For example, a page with a title: ''...IS_BROKEN'' ''' due to my URL conversion specifics will have the following URL: /.IS_BROKEN+ There are thousands of pages so it’s clear that I can not verify each separate page that the site’s database contains.

Based on a list of dynamically generated URLs I generate a sitemap.xml file. Which contains all of the site pages. So each time a map-file is generated I need to ensure that there are no repeating items (this may happen if different pages have same titles) and each separate URL is accessible, i.e. does not produce either bad request, or 404 or anything like that.

So I created a C# program that walks through each URL listed in the sitemap.xml file and tries to access it. It logs all errors occurred into an output file, so it’s easy to track problem pages.

I use XmlDocument class for loading a sitemap.xml; WebRequest and WebResponse classes for determination of whether a URL exists.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Summer_son



Ukraine Ukraine

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Layout  Per page   
  Refresh
GeneralMy vote of 2 Pinmembergg678:44 15 Dec '09  
GeneralMinor spelling in article sub-title PinmemberTatworth5:24 14 Dec '08  
Instead of
Console application that chacks all URLs listed in sitemap.xml file
it should be:
Console application that checks all URLs listed in sitemap.xml file
 
An interesting article and a good addition to the toolbox.

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

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

Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120529.1 | Last Updated 13 Dec 2007
Article Copyright 2007 by Summer_son
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid