mcpField
S
seo-firecrawl

seo-firecrawl

github.com/seranking数据与数据库19172 次安装18 周前更新
代码仓库

关于 seo-firecrawl

seo-firecrawl 是面向 SEO 从业者的工作流技能,可通过 Firecrawl 抓取页面、映射 URL、爬取网站或站内搜索,并将结果整理为页面数据、元数据、链接和摘要。

主要功能

  1. 01抓取页面正文与元数据
  2. 02映射网站中的 URL
  3. 03按范围控制爬取页面
  4. 04在指定网站内搜索
  5. 05将结果整理为文件

适用场景

  1. 01检查页面 HTML 和 JSON-LD
  2. 02爬取前盘点网站 URL
  3. 03审计已爬取页面的元数据
  4. 04在网站内查找相关页面

MCP 相关

需要连接 firecrawl-mcp MCP 服务,并根据选择的模式调用抓取、映射、爬取或搜索工具。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/seranking/seo-skills --skill seo-firecrawl

安装后在 Claude Code 中输入/seo-firecrawl确认已加载。

附带文件references/preflight.md

详细介绍

示例输出:examples/seo-firecrawl-stripe-com-20260514/scrape/FIRECRAWL.md

Firecrawl 编排器

直接对接 Firecrawl MCP,用于处理数据驱动的 SE Ranking 技能无法覆盖的任务。适用于以下情况:

  • 需要原始 HTML、<head> 元数据、JSON-LD 或 WebFetch 的 Markdown 转换会剥离的 JS 渲染后 DOM。
  • 需要获取某个域名下的所有 URL 列表,但不需要逐个抓取。
  • 需要爬取网站并审核每个页面的元数据。
  • 需要在已知域名内搜索。
  • 更高层级的技能(seo-page、seo-schema、seo-content-audit 等)将你作为子步骤调用。

前提条件

  • 必需:firecrawl-mcp MCP 服务。如果 mcp__firecrawl-mcp__firecrawl_scrape 不可用,则中止并提供安装命令——在此插件仓库中运行 bash extensions/firecrawl/install.sh,并提供 firecrawl.dev 注册 URL(免费套餐每月 500 积分)。不要尝试备用方案;此技能专用于 WebFetch 无法覆盖的情况。
  • 用户提供:目标 URL 或域名,以及可选的模式(scrape / map / crawl / search)。如果未指定模式,则根据输入形式推断(单个 URL → scrape,单个域名 → map)。

流程

  1. 预检。 确认 firecrawl-mcp 已连接。如果未连接,提供安装命令并停止。
  2. 选择模式。 将用户意图归入以下模式之一:
    • scrape — 单个 URL,获取完整数据(用户提供一个 URL 时的默认模式)。
    • map — 单个域名,仅列出 URL(低成本初步探查)。
    • crawl — 单个域名,抓取发现的每个页面(成本较高;需明确确认)。
    • search — 在某个域名内查询。
  3. 估算成本并确认。
    • scrape(1 积分),map(每个发现的 URL 约 0.5 积分;范围不明确时,先用 map 估算),crawl(每个抓取的页面 1 积分),search(每个返回的结果 1 积分)。
    • 对于 crawl,以及预期 URL 数量超过 50 个的 map,提供费用估算,并在调用前要求用户明确同意。
    • 始终通过 Firecrawl 响应元数据中的 metadata(creditsUsed / creditsRemaining)隐式读取剩余积分。
  4. 执行。 调用对应的 mcp__firecrawl-mcp__firecrawl_* 工具。
    • scrape:默认传入 formats: ["markdown", "html"](Markdown 用于正文,HTML 用于 <head> + JSON-LD)。仅当交付内容会实际展示截图时,才添加 formats: ["screenshot"]。对于 SPA,传入 waitFor: 2000(或 CSS 选择器),以捕获 JS 渲染后的 DOM。默认设置 onlyMainContent: true,以去除导航栏和页脚等干扰内容;仅在用户明确要求时覆盖此设置。
    • map:默认设置 limit: 500(硬上限)。传入 excludePaths: ["/admin/*", "/api/*", "/wp-admin/*", "/feed/*"] 作为合理的默认值。
    • crawl:默认设置 limit: 50(默认上限),硬上限为 limit: 200。始终传入 excludePaths 进行筛选。如果任务异步返回,则轮询 firecrawl_check_crawl_status。
    • search:默认设置 limit: 20。
  5. 解析并整理输出。 不要直接输出原始 API 响应。按模式整理:
    • scrape → RAW.md(Markdown 正文)、META.md(og / twitter / canonical / robots / headers,以及带哈希的已解析 JSON-LD @type 列表)、links.csv,可选的 screenshot.png。
    • map → URLS.md,按模式分组列出(例如,/blog/* — 128 (37%)、/products/* — 84 (24%)),以及 urls.csv。
    • crawl → 在 pages/{slugified-url}/ 下为每个页面建立文件夹,包含 RAW.md + META.md;另在顶层创建 INDEX.md,汇总每个页面(URL、状态、关键信号)。
    • search → MATCHES.md,包含匹配摘录和按相关性排序的 URL。
  6. 在根目录生成 FIRECRAWL.md:目标、模式、已用积分、关键发现(最多 5 条)、待处理事项、推荐的下一项技能。

输出格式

文件夹 seo-firecrawl-{slug}-{YYYYMMDD}/:

模式 = scrape
seo-firecrawl-{slug}-{YYYYMMDD}/
├── RAW.md            (markdown body)
├── META.md           (og / twitter / canonical / robots / headers + parsed JSON-LD)
├── links.csv         (every <a href> on the page)
├── screenshot.png    (optional; only if requested)
└── FIRECRAWL.md      (synthesis + handoff payload)
模式 = map
seo-firecrawl-{slug}-{YYYYMMDD}/
├── URLS.md           (pattern-grouped URL list)
├── urls.csv          (every URL with discovery depth, if available)
└── FIRECRAWL.md
模式 = crawl
seo-firecrawl-{slug}-{YYYYMMDD}/
├── INDEX.md          (every page + status code + key signals)
├── pages/
│   ├── {slug-1}/RAW.md
│   ├── {slug-1}/META.md
│   ├── {slug-2}/RAW.md
│   └── ...
└── FIRECRAWL.md
模式 = search
seo-firecrawl-{slug}-{YYYYMMDD}/
├── MATCHES.md        (hit excerpts + URLs ranked by relevance)
└── FIRECRAWL.md

FIRECRAWL.md 遵循以下结构:

# Firecrawl: {target}

> Run dated {YYYY-MM-DD} · Mode: {scrape | map | crawl | search} · Credits used: {n}

## Summary

{One-paragraph what-came-back. Example: "Scraped https://example.com/article. og:title and og:image present, JSON-LD Article schema with author + datePublished. 12 outbound links. Page is server-rendered (no JS-render divergence). Robots: index,follow."}

## Key findings

1. {Finding anchored in concrete data}
2. ...
5. ...

## Open loops

- {What this run did NOT answer}
- ...

## Recommended next step

{One of: `seo-page` (when a single URL was scraped and now wants performance analysis) | `seo-schema` (when JSON-LD audit needs follow-up generation) | `seo-technical-audit` (when crawl revealed broken pages) | `seo-content-audit` (when crawl produced a corpus to audit) | `seo-drift baseline` (when the user wants to track this URL over time) | "this completes the user's ask".}

## Handoff payload

- **Produced by:** seo-firecrawl
- **Target:** {url or domain}
- **Mode:** {scrape | map | crawl | search}
- **Credits used:** {n}
- **Key findings:** {5 bullets — e.g., "twitter:card present (summary_large_image)", "JSON-LD types: Article + Organization + BreadcrumbList", "robots: index,follow", "canonical self-referencing", "404s: 0 of 50 pages crawled"}
- **Open loops:** {what this didn't answer}
- **Recommended next skill:** {seo-page | seo-schema | seo-technical-audit | seo-content-audit | …} — {one-line why}

提示

  • 免费套餐每月 500 cr。 map 每个 URL 消耗 0.5 cr;scrape 每次消耗 1 cr;crawl 每页消耗 1 cr。请提前说明费用;如果单次运行会消耗超过 100 个积分,请发出警告。
  • scrape 默认使用 onlyMainContent: true,以去除导航栏和页脚等噪声。只有用户明确要求完整页面 DOM 时才覆盖此设置。
  • 对于会延迟加载内容的 SPA,请使用 waitFor(CSS 选择器或毫秒数)。2000ms 是合理的默认值;选择器比等待时间更可靠。
  • 当爬取范围不明确时,先运行 firecrawl_map,再运行 firecrawl_crawl——先发现页面,再决定要爬取什么,然后再爬取。这样可以节省积分。
  • includePaths / excludePaths 能大幅降低爬取费用。始终默认传入 excludePaths: ["/admin/*", "/api/*", "/wp-admin/*", "/feed/*"]。
  • 除非交付内容会明确使用截图,否则不要请求 formats: ["screenshot"]。 这会使每页费用翻倍。
  • 不要使用 firecrawl_extract 或 firecrawl_deep_research。 两者都与我们自己的大模型分析重叠;firecrawl_extract 在免费套餐中的定价不透明;并且两者都明确不属于 seo-skills 的范围。
  • Cloudflare / 反机器人机制: 一些网站(尤其是电商和银行网站)会屏蔽 Firecrawl 的抓取工具。请清楚地呈现错误;绕过 WAF 并非此技能的目标。
  • 子步骤用法。 从其他技能(seo-page、seo-schema 等)调用时,不要生成 FIRECRAWL.md 综合结果——调用方需要原始的 META.md / RAW.md。如果调用方需要原始的 urls.csv,也跳过模式 2 的 URLS.md 摘要。
  • 当你需要原始 HTML,且没有更具体的技能可用时,这是入口。 如果有更合适的技能——针对单个 URL 的关键词 / 流量判断使用 seo-page,JSON-LD 工作使用 seo-schema,全站爬取问题使用 seo-technical-audit——请改用这些技能。它们会自动协调 Firecrawl 和 SE Ranking 数据。

配合使用

  • 前置技能: 无(入口),或作为子步骤由其他技能调用。
  • 后续技能:
    • seo-page — 抓取单个 URL 后,需要进行关键词 / 流量判断时使用。
    • seo-schema — JSON-LD 审核发现需要生成内容来填补的缺口时使用。
    • seo-technical-audit — 大规模爬取发现失效页面或 noindex 问题时使用。
    • seo-content-audit — 爬取生成了需要进行 E-E-A-T 审核的内容集时使用。
    • seo-drift baseline — 用户想要长期跟踪此 URL 或域名时使用。

评论

支持 Markdown