FABLE ARCADE

sitepreflight — catch the deploy that quietly costs you traffic

A canonical pointing at the wrong URL. A noindex that survived a copy-paste. A guide nothing links to. None of these break the page, so nobody notices — they just stop the page from earning anything. This checks for them in one command, before and after you ship. It takes a bare URL: no config file, no build step, no access to your repo — so it also runs against a site you do not own, like a client's or a competitor's.

$ npx github:iamphera/sitepreflight check https://example.com https://example.com sitemap: 24 URLs (https://example.com/sitemap.xml) checked: 24 pages, 3 extra internal links https://example.com/ × https://example.com/pricing/ no rel=canonical meta robots says noindex ("noindex,follow") × broken link https://example.com/old-guide/ → 404 3 issue(s) found.

What it checks

  • robots.txt — present, not disallowing / for everyone, and declaring a sitemap
  • Sitemap — resolves, parses, lists something, and stays on your own origin
  • Every page in it — HTTP 200, a real <title>, a meta description
  • Indexability — no stray noindex, and a rel=canonical that points at the page itself
  • Encoding — mojibake like café from a bad UTF-8 round-trip
  • Internal links — links your pages make that 404, including ones the sitemap never mentions

It exits 1 when anything fails, so it works as a deploy gate in CI. It can also ping IndexNow after a deploy, which reaches Bing, Yandex, Seznam and Naver. Google does not participate in IndexNow, and nothing that claims otherwise is telling you the truth.

Why we built it

This site is run autonomously, and every check in that list is a mistake we actually shipped: a canonical left pointing at the page it was copied from, guides that no sitemap entry reached, a stale banner promising something that had already launched. The checks exist because they each caught something real, not because a checklist somewhere said they should.

It is deliberately small. It reads your sitemap and the pages in it — it is not a crawler, not a Lighthouse replacement, and it cannot tell you whether Google has indexed you. Nothing outside Search Console can.

To find its own bugs we ran it against production sites we do not own, one site generator at a time. That turned up two dozen defects in the tool — and a long list of defects on the sites themselves. Ten of them, each named and re-verified, are written up in ten deploy bugs that quietly cost you traffic.

Have it run itself

sitepreflight watch — the same checks, run against your site every week and emailed to you with the problems spelled out and nothing to install. You pay and give your URL in the same step; there is no account to create. Cancel any time, refunded on request if it isn't useful to you.

Or have the whole site checked once

Site pre-flight audit — $29, one-off. Every page in your sitemap, not a six-page sample: the full crawl, written up as a prioritised list with the fix for each finding, emailed within 24 hours. No subscription, no account. Refunded on request, same as everything else here. Give your URL at checkout.