Now that I'm back at work, here's how I use Xenu. 1. File > Check URL. Choose the index of my master project. (In my case, the file has a custom name.) 2. Go to the "by page" report. 3. Check the links. The "by page" report looks something like this: The first row is the source (the topic/item where the link originates) and the other rows are the target links (the links that the source page tries to access, but can't). I don't have broken topic links in my project, so this example is not very helpful, but the screenshot above is showing the fact that the whtopic.js script is linking to some weird paths that cannot be accessed. The report can be pretty confusing the first time, but this is how I read it: If the source (first row) is a JavaScript file (like in the screenshot above), ignore it. I don't know what these errors mean, but nothing seems to be broken despite their existence. (If anyone knows why they are reported, please let me know! I've been wondering for years.) If the source is an HTM file, this is most likely a broken link. If the target is an image, it means that an image is referenced in the respective topic and cannot be found. If the target is another HTM file, it means that another topic is referenced and cannot be found. If the target is a JS file, it may mean something is missing from your output. In my case (because of a bug*) the ehlpdhtm.js file is often missing from many merged projects. When that happens, you will see a broken link reported from every HTM, pointing to ehlpdhtm.js. When this happens, I just copy the JS in all the folders and re-run Xenu, it's faster than trying to scroll through all the report. (*The bug, if anyone is curious: ehlpdhtm.js is the file that opens and closes drop-downs. Because it changes when you generate a project, it can cause conflicts if source controlled, so we ignore it in SVN. This means that, when you check out a project on a new computer, the file will not be there. Normally, the file is generated in the source folders the first time you open the project in the RH GUI... but I generate the output using the rhcl.exe batch, which is not smart enough to recreate the file. This way, the file ends up missing from the output as well. If it's missing from the output, the dropdowns won't work.)
... View more