I can’t believe i’ve not spotted this sooner!
A Site Directory can easily contain broken links because users (and sometimes site administrators!) have deleted sites and failed to tidy up behind them. As a site administrator, you can easily identify these sites by running the Broken Link Checker, that’s right in front of your nose! I’ve missed it for a while now.
The Broken Link Checker looks at each site in the Site Directory and stores those that return a 404 or 403 error. (Only http and https links are checked, not file, ftp, or mailto links). Broken links are then listed in a Broken link column in the Site Directory. You can delete the broken links individually or as a group.
To run the Broken Links Scan, click Site Actions > Broken Links Scan or append your site directory portal URL with /_layouts/linkschecker.aspx