From the user's perspective, most broken pages are just as disturbing as broken links. Broken links can be introduced in a multitude of ways. One common cause is changing a file name. Also, changing a directory name incorrectly can result in dozens, if not hundreds, of broken links. Moving files and directories, or inserting new levels of directories, can also profoundly disrupt a site.
Any file deletion is a potential broken link.
Fortunately, broken links are the sort of problem that programmers find easy to solve. Each of the numerous link-checking software packages sails through the source code on a starting Web page, finds all the links, and jumps to them one after another. On each successive page it jumps to, the software finds all the links and jumps to them. Along the way, it keeps track of the errors it finds and writes them to a file or a database so it can report them. Simple enhancements include the ability to stop at the boundaries of the local site, to limit the number of jumps on local or remote sites, and to filter certain sorts of URLs, such as excluding CGI calls or including only streaming media URLs or only particular subdirectories.