static site checker

event

introduction

The static site checker (ssc) is an opinionated website nitpicker, intended for people, like its author, who hand code sites.

It doesn’t just check static sites for broken links, dubious syntax, and bad semantic data, it will actively complain about things that are perfectly legal but rather untidy—like its author.

Except when serving web queries, it recursively scans your chosen directory seeking source code, such as HTML & CSS, to verify. It produces a list of errors, warnings, and other hints of imperfection.

SSC only nitpicks the static content of sites. Scripts are ignored.

background

This website, arts & ego, has gigabytes of original content. It contains hand coded HTMLs 2 to 5. It is a complete mess. At the time, despite a long search, I could not find any tools to properly identify its myriad flaws. Anything I did find was at most cursory.

Then came the cow flu*.

Hence ssc is a covid project that grew out of hand.

But there’s more to it than that.

capabilities

ssc analyses static websites at source:

  • HTML living standard, Jan 2005 to Nov 2025
  • HTML Tags / 1.0 / + / 2.0 / 3.0 / 3.2 / 4.00 / 4.01 / 5.0 / 5.1 / 5.2 / 5.3-draft
  • CSS 1 / 2.0 / 2.1 / 2.2-draft, 2007-2025 snapshots, HTML5 necessities, more
  • SVG 1.0 / 1.1 / 1.2 Tiny / 1.2 Full / 2.0 / 2.x-draft
  • MathML 1 / 2 / 3 / core / 4-draft
  • XHTML 1.0 / 1.1 / 2.0 / 5.x
  • ads.txt / robots.txt / security.txt / WebVTT
  • ATOM / JSON-LD / RSL / RSS
  • finds broken links
  • server side includes, mostly
  • verifies many ontologies
  • verifies microformats
riff on name

with opinions on:

  • contradictory flavours/flavors of english
  • legal but inefficient HTML
  • abhorrent rudeness such as AUTOPLAY on <VIDEO>

It does NOT:

  • analyse or understand scripts
  • except per above, analyse or understand anything XML

It can produce:

  • ‘repaired’ HTML with resolved server side includes
  • JSONs of ontological content
  • website statistics
  • deduplicated websites
  • signed reports

downloads

These links download the current version of Static Site Checker, version 0.2.23. Older versions are linked from the release notes.

These downloads are unsigned. If that worries you, and you can’t or won’t run them in a secure context, then you can always build your own copy. The current source is available here and on github. You’ll need a popular C++ 17 compiler, some common libraries, and a good deal of patience: SSC is written to run quickly, not build quickly. For details, consult the build notes.

configuration & usage

Here’s a guide on how to use ssc, and here’s a set of pages on ssc’s settings.

security

ssc should not be used on untrusted content; its parsers are holier than Robin’s cow (you have to be a certain age…).

Regarding the EU’s Cyber Resilience Act, any security issues should be reported to devongarde@me.com. For a list of components used by SSC, please consult the build notes and the source code.

REMINDER

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

* corvid means crow, thus covid means cow**.
** by the laws of sympathetic spelling.