THE WEBSITE DONKEY · DETERMINISTIC, PLUS A CAGED READER

Paste your link.

We read every page in your sitemap, work out the conventions it already keeps, and flag where it drifts from itself. The structure, and the voice.

Paste your sitemap.xml and we check every page it lists, live, right here. Or paste the link and we find the sitemap for you.

What it looks for

There is no rulebook to write. The donkey reads your pages, works out the conventions most of them already keep, and flags the ones that break from the rest. Three layers do the reading: the structure, the words, and the look.

DETERMINISTIC

Structure that drifted

A header copied into thirty pages that went out of sync. A page with its own styling and no link in the menu. A page no one can reach. Em dashes and internal nicknames in public copy. Counted, byte for byte, the same verdict every run.

DETERMINISTIC

Voice that turned inward

Pages that talk about you-the-company more than you-the-reader. Runaway sentences. Codenames only your team understands. These are countable too: a ratio, a word list, a length.

• A CAGED READER

Context only a reader catches

A pinned, auditable model reads each page for the tells counting cannot see. A section written as if it is for everyone when it applies to one audience. A claim leaning on borrowed authority. A line that sounds impressive and means nothing. It nominates; you decide.

• VISION

How it looks, not just reads

A vision model screenshots the page and judges the layout against the four design basics, Contrast, Repetition, Alignment, Proximity, plus anything ragged, overflowing, or misaligned.

We ran it on this site first

On its first run against doloop.io it failed 12 of 20 pages. The header had drifted across the whole site. Two pages shipped off-template. Four were orphans. Em dashes and internal nicknames sat in public copy. We also found a regulatory page written as if for everyone when it applies only to banks, exactly the tell the caged reader is built to catch. We fixed all of it, and this page passes too.

Or run it yourself

Prefer to keep it local? Point the open checker at your built site. Exit 0 is a clean site; a non-zero exit means a page broke a rule, so it gates a deploy.

  # the open checker, on your built site
  python3 check_site.py ./your-built-site
  # 0 = clean, 2 = a page broke a rule