SharePoint Portal Server 2003 is rapidly emerging as a common platform for Intranet and Extranet Solutions, but like most traditional web sites the challenge of maintaining hyperlinks and ensuring they are up-to-date is an ongoing issue. The challenge is that SharePoint has a number of structures that allow users to share links with each other. As the sites grow managing these links manually becomes impossible. Unfortunately SharePoint currently does not have any mechanism to test the validity of the hyperlinks stored within the system and this can lead to the undesirable situation where broken links are present throughout the Portal and Team Sites.
As with traditional web sites link checking has been carried out by “crawling” the site with a program that will generate a report that identifies the broken links. The site “crawler” retrieves each web page and finds the links within the page and then visits each link to test its status. This solution will work with SharePoint, but it has an unfortunate site effect of generating unnecessary site traffic that shows up in logs and will also ‘skew’ site usage reports.
Handling SharePoint sites requires a slightly different approach. A better “SharePoint Friendly” approach would be to extract the links from the SharePoint system directly rather than using the traditional “crawling” method.
The SharePoint Status Report extracts hyperlinks directly from the SharePoint system and then checks the status of each hyperlink. The hyperlinks are extracted from all Portal Areas, Links Lists and Content Editor Web Parts, located in the Portal and Team Sites. The link status is then displayed in a detailed report that allows you to resolve and manage any issues that have been detected.
Displayed below is a typical SharePoint Status Report and you can see from this report that the status of the links is obvious. As you find broken links then you can use the “Area” and “Link Edit” columns to update or delete the link.

Figure1. A typical SharePoint Status Report.
![]()
Each row in the report is colour coded based on the HTTP status code. This enables errors to be highlighted and easily seen when browsing the report.
The most common problem with SharePoint links is keeping the Portal Listings up-to-date. To demonstrate the value of the SharePoint Status Report we have created a small example. In this example we have added a number of links as “Portal Listings” which are typically displayed through a “Grouped Listings” Web Part. The listings have been created in a Portal Area called “SharePoint Status”. The area has been named after the product, but in production it does not matter what your areas are called.

Figure. The SharePoint Portal Site Map displaying Listings.

Figure. The “Grouped Listings” Web Part displaying the Listings in the “SharePoint Report” Area.

Figure. The SharePoint Status Report for Portal Listings.
|
Column |
Description |
|
Status |
This is the HTTP Status
code, so you will see standard HTTP Codes such as “200 Ok”, “404 Not Found”
or “503 DNS Error”. |
|
Listing Detail |
This link will allow you to
visit the Web Address (URL) specified by the listing. |
|
Area |
This link will allow you to
Manage the Area where the listing has been published. From this screen you
may choose to delete the link from the Portal. |
|
Link Edit |
This link will allow you to
edit the Portal Listing to adjust any the address so it points to the correct
address. |
The SharePoint Status report clearly identifies which links are causing errors and from the report view you can use the “Link Edit” to modify the link or the “Area” link to mange or delete the link.
SharePoint Portal Server and SharePoint Team Sites have a Link List that allows users to collect a number of web links into an organised list. These Links can be checked to ensure the web addresses are still valid.
We have created another example where we created a Link List called “My Web Links” and we added a number of links to the list. After running the status report you will notice we found two errors. The first error was a bad domain name and the second error was a non existent page. You can see from the colour coding and the status codes that these links have been highlighted and you can easily use the “List” and “Link” columns to locate and edit the List Item that contains the broken link.

Figure 2. A Link List Web Part called “My Web Links”.

Figure. SharePoint Status Report for Link Lists.
SharePoint Portal Server and SharePoint Team Sites both allow users to added HTML content to a page by using the Content Editor Web Part. These web parts are typically prone to broken links caused by typos when the user enters a web address.
We have created another example where we have created a Content Editor Web Part to an Area or Team Site. The HTML content that has been entered into the Content Editor Web Part contains a number of links, both internal and external links.
You can see from looking at the web part that there is no way of testing the links except to click on each link manually.

Figure. Content Editor Web Part containing a number of links.

Figure. SharePoint Status Report for Content Editor Web Parts.
You can see from the SharePoint Status Report has clearly identified 2 “File Not Found” errors and one “DNS Error” which indicates that the Host is not known.