Docs
Everything the crawler does, how scores are computed, and the raw API underneath the dashboard.
What we check
On-page
- Title presence and length (15-65 chars)
- Meta description presence and length (50-160 chars)
- H1 presence and uniqueness
- Image alt coverage
- Canonical links
Technical
- HTTPS
- Broken internal links (sampled)
- Thin content (under 50 words)
- Time to first byte (over 1500ms)
- robots meta
- Sitemap discovery via robots.txt
Crawl rules
Same-origin BFS from your URL, capped by plan (25 / 100 / 500 pages). robots.txt disallow rules are respected. Page cap 3MB, timeout 15s, private-network targets blocked. Broken-link sampling covers up to 20 internal links per page.
Scoring
Every page starts at 100. Critical issues deduct 12, warnings 5, info 1, averaged across the site. Each scan appends a point to your site's timeline, so rescored numbers always have context.
API quick start
curl -s -X POST http://localhost:8111/api/sites \
-H "Content-Type: application/json" \
-d '{"email":"you@co.com","url":"example.com"}'
# poll GET http://localhost:8111/api/sites?email=you@co.com for latest_score
# then GET http://localhost:8111/api/scans/<scan-id> for the full report Plan limits
| Free | Pro | Agency | |
|---|---|---|---|
| Sites | 1 | 5 | 25 |
| Pages per scan | 25 | 100 | 500 |
| Frequency | weekly | daily auto | daily auto |