Full-site crawling, scraping, and site mapping via Firecrawl MCP. Use when user says "crawl site", "map site", "full crawl", "find all pages", "broken links", "
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-seo-firecrawl-f61ab12a76b1 ,按照其中的说明把「seo-firecrawl」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
This skill requires the Firecrawl extension to be installed:
./extensions/firecrawl/install.sh
Check 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 agents
Cost 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