seo-firecrawl — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited seo-firecrawl (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill requires the Firecrawl extension to be installed:
./extensions/firecrawl/install.shCheck availability: Before using any Firecrawl tool, verify the MCP server is connected by checking if firecrawl_scrape or any Firecrawl tool is available. If tools are not available, inform the user the extension is not installed and provide install instructions.
| Command | Purpose |
|---|---|
/seo firecrawl crawl <url> | Full-site crawl with content extraction |
/seo firecrawl map <url> | Discover site structure (URLs only, fast) |
/seo firecrawl scrape <url> | Single-page scrape with JS rendering |
/seo firecrawl search <query> <url> | Search within a crawled site |
Crawl an entire website starting from the given URL. Returns page content, metadata, and links for all discovered pages.
MCP Tool: firecrawl_crawl
Parameters:
url (required): Starting URL to crawllimit: Max pages to crawl (default: 100, max: 500)maxDepth: Max link depth from start URL (default: 3)includePaths: Array of glob patterns to include (e.g., ["/blog/*"])excludePaths: Array of glob patterns to exclude (e.g., ["/admin/*", "/api/*"])scrapeOptions.formats: Output formats -- ["markdown", "html", "links"]SEO Usage Patterns:
includePaths to audit only /blog/* or /products/*["links"] format, check all hrefs for 404sExample orchestration for `/seo audit`:
1. firecrawl_map(url) -> get all URLs (fast, no content)
2. Filter to top 50 most important pages (homepage, key sections)
3. firecrawl_crawl(url, limit=50) -> get full content
4. Feed content to seo-technical, seo-content, seo-schema agentsCost awareness:
Discover all URLs on a website without fetching content. Fast and credit-efficient.
MCP Tool: firecrawl_map
Parameters:
url (required): Website URL to maplimit: Max URLs to discover (default: 5000)search: Optional search term to filter URLsSEO Usage Patterns:
Output: Array of URLs. Present as:
Site: example.com
Pages discovered: 342
URL Pattern Breakdown:
/blog/* - 128 pages (37%)
/products/* - 89 pages (26%)
/category/* - 45 pages (13%)
/pages/* - 32 pages (9%)
/ (root pages) - 48 pages (14%)Scrape a single page with full JavaScript rendering. More thorough than fetch_page.py because it executes JS and waits for dynamic content.
MCP Tool: firecrawl_scrape
Parameters:
url (required): Page URL to scrapeformats: Output formats -- ["markdown", "html", "links", "screenshot"]onlyMainContent: Strip nav/footer/sidebar (default: true)waitFor: CSS selector or milliseconds to wait for contenttimeout: Request timeout in ms (default: 30000)actions: Browser actions before scraping (click, scroll, wait)SEO Usage Patterns:
onlyMainContent for clean E-E-A-T analysisscreenshot format for visual analysisWhen to use scrape vs fetch_page.py:
| Scenario | Use |
|---|---|
| Static HTML page | fetch_page.py (no API cost) |
| JS-rendered SPA | firecrawl_scrape (renders JS) |
| Need response headers | fetch_page.py (returns headers) |
| Need clean markdown | firecrawl_scrape (better extraction) |
| Rate-limited/blocked | firecrawl_scrape (handles anti-bot) |
Search within a website for specific content. Useful for finding pages related to a topic without crawling everything.
MCP Tool: firecrawl_search
Parameters:
query (required): Search queryurl (required): Website to search withinlimit: Max results (default: 10)scrapeOptions.formats: Output format for matched pagesSEO Usage Patterns:
When Firecrawl is available during /seo audit:
firecrawl_map to discover all site URLs| Error | Cause | Resolution |
|---|---|---|
FIRECRAWL_API_KEY not set | MCP not configured | Run ./extensions/firecrawl/install.sh |
402 Payment Required | Credits exhausted | Check usage at firecrawl.dev/app, upgrade plan |
429 Too Many Requests | Rate limited | Wait 60s, reduce crawl concurrency |
408 Timeout | Page too slow to render | Increase timeout, try without JS rendering |
403 Forbidden | Site blocks crawling | Check robots.txt, may need to skip this site |
Graceful fallback: If Firecrawl is unavailable, inform the user and suggest:
fetch_page.py for single-page analysis (no API cost)WebFetch tool for basic HTML retrieval./extensions/firecrawl/install.sh~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.