Health Score
The health score is calculated from 0-100 based on:- Rule weights - Each rule has a weight (1-10) reflecting its importance
- Check results - Pass/fail/warning status of each check (warnings count as 0.5)
- Scoring curve - Compresses high scores to reward perfection
- Penalties - Applied for critical crawlability issues and high issue density
Scoring Formula
Penalties
Critical crawlability issues reduce the final score:| Issue | Penalty | Check |
|---|---|---|
| Missing robots.txt | -15% | crawl/robots-txt |
| Robots blocks all | -50% | crawl/robots-txt |
| Missing sitemap | -20% | crawl/sitemap-exists |
| High issue density | up to -45% | Any rules (applied when 20+ warnings/fails exist) |
Grade Scale
| Score | Grade |
|---|---|
| 90-100 | A |
| 80-89 | B |
| 70-79 | C |
| 60-69 | D |
| 0-59 | F |
Category Scores
Each category (core, content, links, etc.) receives its own score:- Weighted by rule importance within category
- Includes pass/warning/fail counts
- Sorted by error count (most errors first)
- Perfect categories (100%, no issues) shown last
Output Formats
squirrelscan supports multiple report formats optimized for different use cases.console (Default)
Human-readable terminal output with colors and formatting.- Color-coded severity (red errors, yellow warnings)
- Visual progress bars for category scores
- Grouped by category
- Shows affected pages
json
Machine-readable format for CI/CD pipelines, programmatic processing, and LLM consumption.- CI/CD pipeline integration
- Fail builds on score thresholds
- Track score trends over time
- Feed into monitoring systems
- LLM analysis
html
Interactive HTML report that opens in a browser.- Visual dashboard with charts
- Filter by category/severity
- Sort by page/rule/severity
- Search functionality
- Export filtered results
- Responsive design
markdown
Markdown format for documentation and README files.- Add to repository README
- Document audit results
- Share in pull requests
- Include in technical specs
text
Plain text format without colors or formatting (for piping and scripting).- Email reports
- Log files
- Plain text editors
- Grep/search processing
llm
Optimized format for LLM consumption with structured context.- Concise, structured format
- Issues sorted by priority
- Includes context for each issue
- Optimized for LLM reasoning
- No formatting or color codes
Filtering Reports
By Severity
Show only errors:By Category
Filter by single category:core- Core SEO elements (title, meta, canonical)content- Content quality (word count, headings, duplicates)links- Link analysis (broken, internal, external)images- Image optimization (alt text, formats, dimensions)schema- Structured data (JSON-LD validation)security- Security headers (HTTPS, CSP, HSTS)a11y- Accessibility (ARIA, contrast, focus)i18n- Internationalization (lang, hreflang)perf- Performance (LCP, CLS, lazy loading)social- Social media (Open Graph, Twitter Cards)crawl- Crawlability (robots, sitemaps, indexability)url- URL structure (length, keywords, parameters)mobile- Mobile optimization (viewport, tap targets)legal- Legal compliance (privacy, cookies, terms)local- Local SEO (NAP, geo tags)video- Video optimization (schema, thumbnails)analytics- Analytics tracking (GTM, consent)eeat- E-E-A-T signals (author, expertise, trust)adblock- Adblock detection
Combined Filters
Combine severity and category filters:CI/CD Integration
Fail Build on Low Score
Fail on Errors
GitHub Actions Example
Report Storage
Audit reports are stored in a local SQLite database at:List Stored Audits
View Specific Audit
By ID:Delete Old Audits
Reports are kept indefinitely. To clean up:Related
- audit - Run new audit
- report - Report command reference
- Rules Reference - All audit rules
- Configuration - Config file options