Community研究与数据分析github.com

clanker25/claude-seo

通过 Firecrawl MCP 实现全站爬取、内容抓取和站点地图生成。当用户提到“爬取网站”、“站点地图”、“全站爬取”、“查找所有页面”、“死链检测”、“网站结构”、“发现页面”、“JS 渲染”或需要全站分析时使用。

claude-seo 是什么?

该技能通过 Firecrawl MCP 服务器为 Claude 提供全站爬取、内容抓取和站点地图发现能力。它主要解决需要站点级分析的任务,例如 SEO 审计、内容盘点、死链检测和 SPA/JS 渲染内容提取。技能支持四种核心命令:`crawl`(全站爬取并提取页面内容)、`map`(快速发现站点 URL 结构,适合预处理)、`scrape`(单页面深抓取,支持 JS 渲染和截图)、`search`(在已爬取站点内搜索特定内容)。它与其他 SEO 工具集成良好,如用于全量 SEO 审计的 `seo-audit`、用于死链检测的 `seo-technical`、用于站点地图覆盖率比较的 `seo-sitemap`、用于内容提取和 E-E-A-T 分析的 `seo-content`,以及用于结构化数据验证的 `seo-schema`。技能还包含成本意识提醒(免费版 500 积分/月,每次操作消耗积分),并在 Firecrawl 不可用时提供优雅降级方案。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clanker25/claude-seo/tree/HEAD/extensions/firecrawl/skills/seo-firecrawl

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

适用于 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. 全面审计爬取:爬取全站,提取所有页面供子代理分析
  2. 分区聚焦爬取:使用 includePaths 仅审计 /blog/* 或 /products/*
  3. 死链检测:以 ["links"] 格式爬取,检查所有 href 是否返回 404
  4. 内容清单:大规模提取所有页面标题、元描述和 H1
  5. SPA/JS 渲染站点:Firecrawl 渲染 JavaScript,解决 Issue #11 问题

/seo audit 编排示例:

1. firecrawl_map(url) -> 获取所有 URL(快速,无内容)
2. 筛选出最重要的 50 个页面(首页、关键板块)
3. firecrawl_crawl(url, limit=50) -> 获取完整内容
4. 将内容传递给 seo-technical、seo-content、seo-schema 代理

成本意识:

  • 免费版:500 积分/月
  • 1 积分 = 1 个页面爬取或抓取
  • Map 操作更便宜(每个发现的 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 数组。呈现方式如下:

站点:example.com
发现的页面:342

URL 模式分类:
  /blog/*          - 128 页(37%)
  /products/*      - 89 页(26%)
  /category/*      - 45 页(13%)
  /pages/*         - 32 页(9%)
  /(根页面)       - 48 页(14%)

scrape -- 单页面深度抓取

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

MCP 工具: firecrawl_scrape

参数:

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

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(全面审计)集成

当 Firecrawl 在 /seo audit 期间可用时:

  1. 使用 firecrawl_map 发现所有站点 URL
  2. 与 XML 站点地图(seo-sitemap)对比,查找孤立/缺失页面
  3. 选择最佳页面进行深度分析
  4. 将爬取内容提供给所有子代理(技术、内容、架构、地理)
  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 集成

  • 架构提取:从所有爬取页面中提取 JSON-LD
  • 架构覆盖率:具有结构化数据的页面百分比
  • 架构验证:批量验证提取的架构数据

错误处理

错误原因解决方案
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

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能