Submitted by Mile23 on Sun, 05/03/2020 - 10:28

A survey of some site link checker tools. Do you know another one? Preferably one that could be used in a CI environment?

sitemap_verify

  • https://github.com/paul-m/sitemap_verify
  • I wrote it.
  • Written in PHP.
  • Not all that mature.
  • Half-baked start at making it crawl the site instead of just sitemap.xml.
  • Will eventually output reports in structured file formats, like maybe junit.xml.
  • This list exists so I can find out if I need to finish it or not. :-)

linkcheck

  • https://github.com/filiph/linkcheck
  • Written in Dart, which I'd never seen before.
  • Very fast.
  • Declares that <link rel="delete-form" returning a 403 is a fail. (It is not.) I couldn't find how to change that.
  • Found this one:
http://mile23.com/taxonomy/term/42
- (223:260) '5 comments' => http://mile23.com/content/about-site#comments (HTTP 200 but missing anchor)
  • It's telling me that this is a 200 but the page that comes back doesn't have #comments anchor.

linklint

  • http://www.linklint.org/
  • Perl. I hate to be a language snob, but... Next.

Broken Link Checker (blc)

  • https://www.npmjs.com/package/broken-link-checker
  • Written in node.js.
  • It doesn't tell me any errors, so clearly it's the best. (That's a joke.)
  • Lets you choose which 'level' of tags to use.
  --filter-level          The types of tags and attributes that are considered links.
                            0: clickable links
                            1: 0 + media, iframes, meta refreshes
                            2: 1 + stylesheets, scripts, forms
                            3: 2 + metadata
                            Default: 1
  • Can include or exclude internal and/or external links. Only want to check external links? This is your tool.

linkchecker

  • http://wummel.github.io/linkchecker/
  • Written in python.
  • Has GUI + command line.
  • Outputs structured reports.
  • Installation instructions are wrong for Mac OS: https://github.com/wummel/linkchecker/blob/master/doc/install.txt
  • I couldn't find the Mac build, so I'd have to use XCode to build it. Will experiment on a linux container later.