Use squirrelscan 's CLI tool squirrelto audit websites for SEO, technical, content, performance, and security.
squirrel supports macOS, Windows, and Linux. By simulating browsers and search crawlers, it analyzes site structure and content with 140+ rules, and outputs a list of issues and fix suggestions.
Links
- Official website:https://squirrelscan.com
- Documentation (including rule descriptions):https://docs.squirrelscan.com
Rule documentation template:https://docs.squirrelscan.com/rules/{rule_category}/{rule_id}
Example:https://docs.squirrelscan.com/rules/links/external-links
What This Skill Can Do
Supports AI agents in auditing websites across 20+ categories and 140+ rules, including:
- SEO: Meta tags, title, description, canonical, Open Graph
- Technical: Broken links, redirect chains, page speed, mobile-friendliness
- Performance: Load time, resource usage, caching
- Content: Heading structure, image alt, content analysis
- Security: Leaked keys, HTTPS, security headers, mixed content
- Accessibility: alt, color contrast, keyboard navigation
- Usability: Form validation, error handling, user flows
- Links: Internal and external broken link detection
- E-E-A-T: Experience, expertise, authoritativeness, trustworthiness
- Mobile: Mobile-friendly, responsive, touch elements
- Crawlability: robots.txt, sitemap.xml, etc.
- Schema: Schema.org, structured data, rich snippets
- Legal: Privacy policy, terms of service, and other compliance
- Social: Open Graph, Twitter cards, and schema validation
- URL Structure: Length, hyphens, keywords
- Keywords: Stuffing detection
- Images: alt, contrast, dimensions, format
- Local SEO: NAP consistency, geographic metadata
- Video: VideoObject schema, accessibility
The audit crawls the site, analyzes pages according to the rules, and generates a report including:
- Overall health score (0–100)
- Breakdown by category (core SEO, technical SEO, content, security, etc.)
- Specific issues and affected URLs
- List of broken links
- Actionable improvement suggestions
When to Use
Use this skill in the following scenarios:
- Analyze website health
- Troubleshoot technical SEO issues
- Fix the various issues above
- Check for broken links
- Validate meta and structured data
- Generate site audit reports
- Compare health before and after a redesign
- Improve performance, accessibility, SEO, security, etc.
Prerequisites
This skill depends on squirrel CLI, must already be installed and added to PATH.
Installation (macOS / Linux)
curl -fsSL https://squirrelscan.com/install | bash
Will:
- Download the latest binary
- Install to
~/.local/share/squirrel/releases/{version}/ - In
~/.local/bin/squirrelcreate a symlink - In
~/.squirrel/settings.jsoninitialize configuration
If ~/.local/bin is not in PATH, add to your shell configuration:
export PATH="$HOME/.local/bin:$PATH"
Windows Installation
PowerShell:
irm https://squirrelscan.com/install.ps1 | iex
Will download and install to %LOCALAPPDATA%\squirrel\, and add to PATH. If using CMD, you may need to restart the terminal for PATH to take effect.
Verify Installation
squirrel --version
Configuration
Running squirrel init in the project directory will generate squirrel.toml。
Each project should have a unique project name(by default the audited site name can be used), to distinguish multiple audits in the database:
squirrel init --project-name my-project
Or:
squirrel config set project.name my-project
If the current directory has no squirrel.toml, you must first run squirrel init, and use -n to specify the project name (can be inferred).
The project name is used as the database identifier, stored in ~/.squirrel/projects/。
Usage
Overview
There are three subcommands, and the results are all written to the local project database:
- crawl: run or continue crawling
- analyze: analyze crawl results
- report: output the report in the specified format (llm, text, console, html, etc.)
audit is a wrapper for the above three steps, executed in order:
squirrel audit https://example.com --format llm
Prefer using --format llm: a compact, complete output format designed for LLMs.
Audit Target Selection
- If the user does not provide a URL: infer possible sites from the current directory, environment variables (such as Vercel projects, references in memory or code).
- If the current directory can start a local dev service: you can audit the local site.
- If multiple auditable sites are found: let the user choose.
- If no site can be inferred: ask the user for the URL to audit.
Prefer auditing online sites, which better reflects real performance and rendering issues. If both local and online are available, prompt the user to choose, andrecommend choosing online. After discovering issues in the online audit, you can fix them in the local code.
When implementing fixes
- Large-scale fixes can be split into parallelizable subtasks, accelerated with subagents.
- After fixes are complete, if the environment has typecheck/format tools (such as ruff, biome, tsc), run them once on the generated code.
Basic Workflow
- Run the audit(write to the database, and output to the terminal)
- Export the report in the specified format
# 1. 执行审计(默认 console 输出)
squirrel audit https://example.com
# 2. 导出为 LLM 格式
squirrel report <audit-id> --format llm
Common Options
Crawl more pages:
squirrel audit https://example.com --max-pages 200
Ignore cache, force re-crawl:
squirrel audit https://example.com --refresh
Resume an interrupted crawl:
squirrel audit https://example.com --resume
Verbose output for debugging:
squirrel audit https://example.com --verbose
Command Options
audit
| Option | Alias | Description | Default |
|---|---|---|---|
--format <fmt> |
-f |
Output format: console, text, json, html, markdown, llm | console |
--max-pages <n> |
-m |
Maximum number of pages to crawl (max 500) | 500 |
--refresh |
-r |
Ignore cache, re-fetch everything | false |
--resume |
- | Resume an interrupted crawl | false |
--verbose |
-v |
Verbose output | false |
--debug |
- | Debug logs | false |
report
| Option | Alias | Description |
|---|---|---|
--format <fmt> |
-f |
console, text, json, html, markdown, xml, llm |
Output format
- console(Default): Colorized, readable output with progress.
- llm: Compact XML/text hybrid for LLMs, more token-efficient (about 40% smaller than verbose XML), including:
- Summary: health score and core metrics
- Issues categorized by rule (core SEO, technical, content, security, etc.)
- Dead link list (internal + external)
- Improvement suggestions ordered by priority
Examples
1. Quick site audit (LLM output)
squirrel audit https://squirrelscan.com --format llm
2. Deep audit for large sites
squirrel audit https://myblog.com --max-pages 500 --format llm
3. Re-audit after redesign (ignore cache)
squirrel audit https://example.com --refresh --format llm
4. Two-step process (reuse an existing audit)
squirrel audit https://example.com
# 记下输出的 audit-id,如 a1b2c3d4
squirrel report a1b2c3d4 --format llm
Output
After the audit and fixes are complete, give the user asummary of all changes。
Troubleshooting
squirrel not found
- Install:
curl -fsSL https://squirrelscan.com/install | bash - Add to PATH:
export PATH="$HOME/.local/bin:$PATH" - Verify:
squirrel --version
Permission error
chmod +x ~/.local/bin/squirrel
Crawl timeout or very slow
Large sites may take a long time, add --verbose to check progress:
squirrel audit https://example.com --format llm --verbose
Invalid URL
Be sure to include the protocol (http:// or https://):
# ✗ 错误
squirrel audit example.com
# ✓ 正确
squirrel audit https://example.com
Workflow
- Crawl: Discover and crawl pages from the base URL
- Analyze: Run audit rules on each page
- External Links: Check external link availability
- Report: Generate an LLM-optimized report
Audit results are saved in a local database, and can later be exported in different formats using squirrel report .
Further Resources
- squirrelscan documentation
- CLI help:
squirrel audit --help