Classic SEO spiders list broken links and missing titles. Newer open tools also ask whether a page looks answerable to generative systems. This note captures design facts from the public project spronta/crawlie—described as a technical SEO + GEO crawler—with MIT-licensed repository source (GitHub’s SPDX field reports NOASSERTION because of a custom LICENSE preamble; the LICENSE body is MIT). Mika attributes facts only; we do not republish their docs.
Three score lenses instead of one blur
Public materials state that every crawl returns three scores reported separately: a Health score (technical SEO), a GEO score (AI-search readiness), and an Accessibility score (WCAG-oriented checks). Keeping those lenses apart is itself a design lesson. A beautiful FAQ block cannot hide a 404 template; a perfect status-code profile cannot hide unlabelled forms or empty answerable content.
For Mika audits, that separation maps cleanly onto “SEO health vs growth” and “GEO health vs growth” thinking: fix discovery and integrity first, then improve clarity and evidence, while accessibility defects remain visible rather than averaged away.
Technical SEO checks observed
Described technical rules cover the usual crawl hygiene: broken links, 4xx/5xx, redirects and chains, titles and meta descriptions (missing, duplicate, length), H1s, canonicals, noindex / nofollow / X-Robots-Tag, robots.txt blocking, missing image alt, thin and duplicate content, orphan and deep pages. Performance and security themes appear too—slow responses, large pages, missing compression, HTTPS, mixed content, HSTS.
International and social surfaces are in the same inventory: viewport, lang, hreflang, Open Graph, Twitter cards, and structured-data parsing with checks against rich-result field expectations for common types. Optional headless rendering audits the post-JavaScript DOM so client-rendered apps can be compared against what a non-JS fetch would see.
GEO / answerability checks observed
GEO-oriented signals called out publicly include structured data, semantic HTML, answer-readiness, authorship / E-E-A-T cues, dated content, question-style headings, and extractable blocks—rolled into a per-page GEO score. The point for auditors is not to chase the score number. It is to ask whether each priority URL states a clear answer, who stands behind it, when it was updated, and whether machines can extract a compact block without inventing context.
That aligns with Mika’s refusal to promise citations: readiness is about legibility and evidence posture, not a warranty that ChatGPT, Perplexity, or AI Overviews will quote you.
Accessibility and agent surfaces
Accessibility checks described include links/buttons without accessible names, form controls without labels, iframes missing titles, zoom-blocking viewports, positive tabindex, and skipped heading levels. Shipping those beside SEO/GEO findings prevents “launch-ready for search” from meaning “unusable for people”.
The same project exposes CLI and MCP tooling so agents can run crawls and request explanations. Architecturally, a shared core feeding CLI, desktop, and protocol surfaces suggests a useful rule: one audited engine, many delivery channels—identical results, less argument about whose export is “true”.
Explainable findings beat opaque grades
A recurring public emphasis is that each finding links to plain-language guidance: why it matters, how to fix it, and what happens if ignored. Auditors should demand the same from any internal scorecard. If a dashboard cannot explain a rule, it is not ready to drive sprint priorities.
Implications for website audits
- Report Health, answerability, and accessibility as separate columns on the same URL list.
- Prioritise template-level defects (shared chrome, robots, soft failures) before page-by-page copy edits.
- When JS rendering exists, sample key commercial URLs in both modes.
- Attach “why / how / if ignored” notes to every severity you escalate to stakeholders.
Those habits borrow the crawler’s structure without depending on any single vendor binary. Mika remains responsible for interpretation, business priority, and honest limits on what audits can claim.