Hyperlinks are a great feature of web publishing. Using hyperlinks you can easily link from one page to another providing the reader with information from different, and often also independent, sources. However as soon as you include a hyperlink in your content, the external content becomes a part of your page: not physically, but virtually. People reading your page expect your links to work because they assume that you wanted to provide them some additional information relevant to the page they reading. So knowing that, there is nothing bad as broken links in your content. In some situations you might get to hear from your visitors that some links don’t work, but wouldn’t it be better if you could find out about it first? Doing it manually can get very time consuming, but why bother if you can do it automatically using Mavention Scan Page for Broken Links?
What is Mavention Scan Page for Broken Links?
Mavention Scan Page for Broken Links is a SharePoint 2010 Solution that allows you to scan the contents of a Publishing Page for broken links. Due to the limitation of the SharePoint 2010 Sandbox in terms of reaching out to external resources, Mavention Scan Page for Broken Links is a Farm Solution.
Upon the deployment of the Solution the Mavention Scan Page for Broken Links Site Collection Feature is installed. After you activate it a new button called Scan for broken links is added to the Ribbon in the Page Actions section:
After clicking the button, the contents of the Publishing Page are being scanned for broken links.
If any broken links have been found, an error message is being displayed. Each broken link is marked what makes it easy to find all invalid links on the current page:
The Mavention Scan Page for Broken Links Solution can be used in the Edit Mode as well what makes it easy to find broken links during the page editing process and fix them before publishing the page.
If no broken links have been found during the scan, an information message is being displayed in the Status Bar:
The Mavention Scan Page for Broken Links Solution fully integrates with the SharePoint 2010 Fluent UI what makes the Solution very intuitive. It makes scanning page contents for broken links even on large pages with many links a very easy job.
Download: Mavention Scan Page for Broken Links (6,65KB, WSP)

















August 9th, 2010 at 11:18 am
HI,
Currently am using a sharepoint 2007 .. i want to check the borken links across the Intranet site rather than doing it manually? how is it possible?
August 9th, 2010 at 6:31 pm
I would suggest you try using Powershell for that. Unfortunately I don't have any code sample I could share with you.
September 20th, 2010 at 8:02 pm
Waldek – Awesome app, thanks for writing/publishing!
If it ever does go up a notch, it would be SERIOUSLY COOL to have a similar app that would run as a service and automatically notify the page owner (or site admin?) if links were broken.
Thanks again for your great work!
–Dave
September 21st, 2010 at 4:08 pm
@Dave: great suggestion! Thanks
October 8th, 2010 at 11:01 am
Hi,
Great post. I have been looking for this exact implmentation.
However, Will this code be compatible with MOSS-2007, too.
About, hosing the actual control, I understand it would be a bit differennt in terms of Element.xml 's .
But what i mean is will the core code, that you have written (using Javascript, .dll, .ashx), which finds out all the broken links, will that be compatible with MOSS-2007 ?
October 8th, 2010 at 11:17 am
@Soptik Dutta: this solution has been created specifically for SharePoint 2010, so the UI pieces like the Ribbon button, notificaion and status messages and such wouldn't work. On the other hand checking the links is being done using a custom HTTPHandler which should work with MOSS 2007 as well.
October 8th, 2010 at 12:03 pm
Thanks, for the reply Waldek.
Is it possible for you to share the code, on the dll that you have written.
October 12th, 2010 at 6:16 am
@Soptik Dutta: I haven't been planning to share the source code at this moment. If you are interested in the internal working of the solution, feel free to break ik open and open the assembly with Reflector. If you are interested in extending the functionality feel free to contact me.