mcpField
S
seo-firecrawl

seo-firecrawl

github.com/infrasity-labs营销与增长15087 次安装18 周前更新
代码仓库

关于 seo-firecrawl

seo-firecrawl 是供 Claude SEO 使用的技能,通过 Firecrawl 扩展检查网站内容与结构。它支持整站抓取、URL 发现、JavaScript 页面抓取和站内搜索。

主要功能

  1. 01抓取网站并提取内容与元数据
  2. 02发现 URL 而不获取页面内容
  3. 03抓取 JavaScript 渲染页面
  4. 04在网站范围内搜索内容
  5. 05支持 SEO 审查与内容分析

适用场景

  1. 01盘点网站各页面的标题和元数据
  2. 02查找失效链接与孤立页面
  3. 03提取动态页面内容
  4. 04发现内链机会与内容缺口

MCP 相关

它调用 Firecrawl MCP 服务的 firecrawl_crawl、firecrawl_map、firecrawl_scrape 和 firecrawl_search 工具。使用前会检查服务是否已连接。

安装

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

$npx skills add https://github.com/infrasity-labs/dev-gtm-claude-skills --skill seo-firecrawl

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

详细介绍

Claude SEO 的 Firecrawl 扩展

此技能需要安装 Firecrawl 扩展:

./extensions/firecrawl/install.sh

检查可用性: 使用任何 Firecrawl 工具前,请检查 firecrawl_scrape 或任何 Firecrawl 工具是否可用,以确认 MCP 服务已连接。如果工具不可用,请告知用户尚未安装该扩展,并提供安装说明。

快速参考

命令用途
/seo firecrawl crawl <url>全站爬取并提取内容
/seo firecrawl map <url>发现网站结构(仅 URL,速度快)
/seo firecrawl scrape <url>抓取单个页面并渲染 JS
/seo firecrawl search <query> <url>在已爬取的网站中搜索

命令

crawl -- 全站爬取

从给定的 URL 开始爬取整个网站。返回所有已发现页面的内容、 元数据和链接。

MCP 工具: firecrawl_crawl

参数:

  • url(必填):爬取的起始 URL
  • limit:最多爬取的页面数(默认值:100,最大值:500)
  • maxDepth:从起始 URL 开始的最大链接深度(默认值:3)
  • includePaths:要包含的 glob 模式数组(例如:["/blog/*"])
  • excludePaths:要排除的 glob 模式数组(例如:["/admin/*", "/api/*"])
  • scrapeOptions.formats:输出格式——["markdown", "html", "links"]

SEO 使用模式:

  1. 全面审计爬取:爬取整个网站,提取所有页面供子 Agent 分析
  2. 聚焦特定版块的爬取:使用 includePaths 仅审计 /blog/* 或 /products/*
  3. 检测失效链接:使用 ["links"] 格式爬取,检查所有 href 是否返回 404
  4. 内容清单:批量提取所有页面标题、元描述和 H1
  5. SPA/JS 渲染的网站:Firecrawl 会渲染 JavaScript,解决 Issue #11 问题

/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

费用须知:

  • 免费套餐:每月 500 个积分
  • 1 个积分 = 爬取或抓取 1 个页面
  • Map 操作费用更低(每发现 1 个 URL 消耗 0.5 个积分)
  • 大规模爬取前,务必告知用户预计的积分用量
map -- 发现网站结构

发现网站上的所有 URL,而不获取内容。速度快且节省积分。

MCP 工具: firecrawl_map

参数:

  • url(必填):要映射的网站 URL
  • limit:最多发现的 URL 数量(默认值:5000)
  • search:可选的搜索词,用于筛选 URL

SEO 使用模式:

  1. 站点地图对比:映射网站,并将发现的 URL 与 XML 站点地图进行比较
  2. 孤立页面检测:查找站点地图中存在、但未被任何页面链接的 URL
  3. 爬取预算分析:比较可编入索引的页面总数与首页链接的页面数
  4. URL 模式分析:识别 URL 结构模式、重复项和参数膨胀
  5. 审计前发现:先运行 map,再针对关键版块进行定向爬取

输出: URL 数组。按以下格式呈现:

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 -- 单页深度抓取

使用完整的 JavaScript 渲染抓取单个页面。比 fetch_page.py 更全面,因为它会执行 JS 并等待动态内容加载。

MCP 工具: firecrawl_scrape

参数:

  • url(必填):要抓取的页面 URL
  • formats:输出格式 -- ["markdown", "html", "links", "screenshot"]
  • onlyMainContent:移除导航栏、页脚和侧边栏(默认:true)
  • waitFor:等待内容加载的 CSS 选择器或毫秒数
  • timeout:请求超时时间,单位为 ms(默认:30000)
  • actions:抓取前的浏览器操作(点击、滚动、等待)

SEO 使用模式:

  1. SPA 内容提取:抓取经 JS 渲染的 React/Vue/Angular 页面
  2. 动态内容审核:检查折叠区域下方含有延迟加载内容的页面
  3. 付费墙/登录检测:识别身份验证墙后方的内容
  4. 主要内容提取:使用 onlyMainContent 进行简洁的 E-E-A-T 分析
  5. 截图捕获:使用 screenshot 格式进行视觉分析

何时使用 scrape 而非 fetch_page.py:

场景使用
静态 HTML 页面fetch_page.py(无 API 费用)
经 JS 渲染的 SPAfirecrawl_scrape(渲染 JS)
需要响应标头fetch_page.py(返回标头)
需要简洁的 markdownfirecrawl_scrape(提取效果更好)
受到速率限制/被拦截firecrawl_scrape(可处理反机器人机制)
search -- 站点范围搜索

在网站内搜索特定内容。适合查找与某个主题相关的页面, 而无需抓取整个网站。

MCP 工具: firecrawl_search

参数:

  • query(必填):搜索查询
  • url(必填):要搜索的网站
  • limit:结果数量上限(默认:10)
  • scrapeOptions.formats:匹配页面的输出格式

SEO 使用模式:

  1. 内容缺口验证:在网站上搜索关键词,检查是否已有相关内容
  2. 内部链接机会:查找提及某个主题且可相互链接的页面
  3. 重复内容检测:搜索关键短语以查找相似内容
  4. 竞品内容研究:在竞品网站上搜索特定主题

跨技能集成

与 seo-audit 配合(完整审核)

在 /seo audit 期间 Firecrawl 可用时:

  1. 使用 firecrawl_map 发现网站上的所有 URL
  2. 与 XML 站点地图(seo-sitemap)对比,查找孤立页面或缺失页面
  3. 选择重点页面进行深度分析
  4. 将抓取的内容提供给所有子 Agent(技术、内容、schema、geo)
  5. 报告可抓取页面总数、URL 模式和抓取深度
与 seo-technical 配合
  • 损坏链接检测:抓取所有内部链接,检查是否返回 404
  • 重定向链映射:跟踪所有重定向,标记超过 2 次跳转的链
  • 混合内容检测:检查 HTTPS 页面上的 HTTP 资源
  • 规范 URL 验证:将规范 URL 与实际 URL 对比
与 seo-sitemap 配合
  • 站点地图覆盖率:站点地图中包含的已抓取页面百分比
  • 孤立页面:通过抓取发现但未列入站点地图的页面
  • 过时的站点地图条目:站点地图中返回 404/410 的 URL
与 seo-content 配合
  • 内容提取:将简洁的 markdown 提供给 E-E-A-T 分析
  • 内容单薄检测:大规模识别少于 300 个词的页面
  • 重复内容:比较各页面内容以查找相似内容
与 seo-schema 配合
  • Schema 提取:从所有已抓取页面中提取 JSON-LD
  • Schema 覆盖率:含有结构化数据的页面百分比
  • Schema 验证:批量验证提取出的 schema

错误处理

错误原因解决方法
FIRECRAWL_API_KEY not setMCP 未配置运行 ./extensions/firecrawl/install.sh
402 Payment Required积分已用完在 firecrawl.dev/app 查看使用情况并升级套餐
429 Too Many Requests请求受到速率限制等待 60 秒,降低抓取并发数
408 Timeout页面渲染速度过慢增大 timeout,尝试关闭 JS 渲染
403 Forbidden网站禁止抓取检查 robots.txt,可能需要跳过此网站

优雅降级: 如果 Firecrawl 无法使用,请告知用户并建议:

  1. 使用 fetch_page.py 分析单个页面(无需 API 费用)
  2. 使用 WebFetch 工具获取基础 HTML
  3. 安装 Firecrawl:./extensions/firecrawl/install.sh

评论

支持 Markdown