seo-firecrawl
ユーザーがサイトのクロールやサイトマップ作成、全ページ検索、リンク切れチェックなどを求めている場合に、Firecrawl MCPを使ってサイト全体を分析し、構造を把握するSkill。
📜 元の英語説明(参考)
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", "site structure", "discover pages", "JS rendering", or needs site-wide analysis.
🇯🇵 日本人クリエイター向け解説
ユーザーがサイトのクロールやサイトマップ作成、全ページ検索、リンク切れチェックなどを求めている場合に、Firecrawl MCPを使ってサイト全体を分析し、構造を把握するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o seo-firecrawl.zip https://jpskill.com/download/16373.zip && unzip -o seo-firecrawl.zip && rm seo-firecrawl.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/16373.zip -OutFile "$d\seo-firecrawl.zip"; Expand-Archive "$d\seo-firecrawl.zip" -DestinationPath $d -Force; ri "$d\seo-firecrawl.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
seo-firecrawl.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
seo-firecrawlフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 2
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Claude SEO 用 Firecrawl 拡張機能
この Skill を使用するには、Firecrawl 拡張機能をインストールする必要があります。
./extensions/firecrawl/install.sh
可用性の確認: Firecrawl ツールを使用する前に、MCP サーバーが接続されていることを確認してください。firecrawl_scrape または任意の Firecrawl ツールが利用可能かどうかを確認してください。ツールが利用できない場合は、拡張機能がインストールされていないことをユーザーに伝え、インストール手順を提供してください。
クイックリファレンス
| コマンド | 目的 |
|---|---|
/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(必須): クロールを開始する URLlimit: クロールする最大ページ数 (デフォルト: 100、最大: 500)maxDepth: 開始 URL からの最大リンク深度 (デフォルト: 3)includePaths: 含める glob パターンの配列 (例:["/blog/*"])excludePaths: 除外する glob パターンの配列 (例:["/admin/*", "/api/*"])scrapeOptions.formats: 出力形式 --["markdown", "html", "links"]
SEO の使用パターン:
- 包括的な監査クロール: フルサイトをクロールし、サブエージェント分析のためにすべてのページを抽出します。
- セクションに焦点を当てたクロール:
includePathsを使用して、/blog/*または/products/*のみを監査します。 - リンク切れの検出:
["links"]形式でクロールし、すべての href で 404 を確認します。 - コンテンツインベントリ: すべてのページタイトル、メタディスクリプション、H1 を大規模に抽出します。
- 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(必須): マッピングするウェブサイトの URLlimit: 検出する最大 URL 数 (デフォルト: 5000)search: URL をフィルタリングするためのオプションの検索語句
SEO の使用パターン:
- サイトマップの比較: サイトをマッピングし、検出された URL と XML サイトマップを比較します。
- 孤立ページの検出: サイトマップに存在するが、どのページからもリンクされていない URL
- クロールバジェット分析: 合計インデックス可能なページ数とホームページからリンクされているページ数
- URL パターンの分析: URL 構造のパターン、重複、パラメータの肥大化を特定します。
- 監査前の発見: 最初に 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 レンダリングを使用して、単一のページをスクレイピングします。JS を実行し、動的コンテンツを待機するため、fetch_page.py よりも徹底的です。
MCP ツール: firecrawl_scrape
パラメータ:
url(必須): スクレイピングするページの URLformats: 出力形式 --["markdown", "html", "links", "screenshot"]onlyMainContent: ナビゲーション/フッター/サイドバーを削除します (デフォルト: true)。waitFor: コンテンツを待機する CSS セレクターまたはミリ秒timeout: リクエストタイムアウト (ミリ秒単位) (デフォルト: 30000)actions: スクレイピング前のブラウザアクション (クリック、スクロール、待機)
SEO の使用パターン:
- SPA コンテンツの抽出: JS レンダリングされた React/Vue/Angular ページをスクレイピングします。
- 動的コンテンツの監査: スクロールせずに表示される範囲の下に遅延ロードされたコンテンツを含むページ
- ペイウォール/ログインの検出: 認証ウォールの背後にあるコンテンツを特定します。
- メインコンテンツの抽出: クリーンな E-E-A-T 分析のために
onlyMainContentを使用します。 - スクリーンショットのキャプチャ: 視覚分析のために
screenshot形式を使用します。
scrape と fetch_page.py の使い分け:
| シナリオ | 使用 |
|----------|-----|
| 静的な HTML ページ | fetch_page.py (API コストなし) |
| JS レンダリングされた SPA | firecrawl_scrape (JS をレンダリング) |
| レスポンスヘッダーが必要 | fetch_page.py (ヘッダーを返す) |
| クリーンな markdown が必要 | firecrawl_scrape (抽出がより優れている) |
| レート制限/ブロックされている | firecrawl_scrape (アンチボットを処理) |
search -- サイトスコープ検索
特定のコンテンツについてウェブサイト内を検索します。すべてをクロールせずに、トピックに関連するページを見つけるのに役立ちます。
MCP ツール: firecrawl_search
パラメータ:
query(必須): 検索クエリurl(必須): 検索するウェブサイトlimit: 最大結果数 (デフォルト: 10)scrapeOptions.formats: 一致したページの出力形式
SEO の使用パターン:
- コンテンツギャップの検証: サイトでキーワードを検索して、コンテンツが存在するかどうかを確認します。
- 内部リンクの機会: 相互にリンクできるトピックについて言及しているページを見つけます。
- 重複コンテンツの検出: キーフレーズを検索して、ほぼ重複を見つけます。
- 競合他社のコンテンツ調査: 特定のトピックについて競合他社のサイトを検索します。
クロススキル統合
seo-audit との連携 (完全な監査)
/seo audit の実行中に Firecrawl が利用可能な場合:
firecrawl_mapを使用して、すべてのサイト URL を検出します。- XML サイトマップ (seo-sitemap) と比較して、孤立/欠落しているページを見つけます。
- 詳細な分析のために上位ページを選択します。
- クロールされたコンテンツをすべてのサブエージェント (technical、content、schema、geo) にフィードします。
- クロール可能な合計ページ数、URL パターン、およびクロール深度を報告します。
seo-technical との連携
- リンク切れの検出: すべての内部リンクをクロールします。
(原文はここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Firecrawl Extension for Claude SEO
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.
Quick Reference
| 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 |
Commands
crawl -- Full-Site Crawl
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:
- Comprehensive audit crawl: Crawl full site, extract all pages for subagent analysis
- Section-focused crawl: Use
includePathsto audit only/blog/*or/products/* - Broken link detection: Crawl with
["links"]format, check all hrefs for 404s - Content inventory: Extract all page titles, meta descriptions, H1s at scale
- SPA/JS-rendered sites: Firecrawl renders JavaScript, solving the Issue #11 problem
Example 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:
- Free tier: 500 credits/month
- 1 credit = 1 page crawled or scraped
- Map operations are cheaper (0.5 credits per URL discovered)
- Always inform user of estimated credit usage before large crawls
map -- Site Structure Discovery
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 URLs
SEO Usage Patterns:
- Sitemap comparison: Map site, compare discovered URLs vs XML sitemap
- Orphan page detection: URLs in sitemap but not linked from any page
- Crawl budget analysis: Total indexable pages vs pages linked from homepage
- URL pattern analysis: Identify URL structure patterns, duplicates, parameter bloat
- Pre-audit discovery: Run map first, then targeted crawl on key sections
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 -- Single-Page Deep Scrape
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:
- SPA content extraction: Scrape JS-rendered React/Vue/Angular pages
- Dynamic content audit: Pages with lazy-loaded content below the fold
- Paywall/login detection: Identify content behind authentication walls
- Main content extraction: Use
onlyMainContentfor clean E-E-A-T analysis - Screenshot capture: Use
screenshotformat for visual analysis
When 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 -- Site-Scoped Search
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 pages
SEO Usage Patterns:
- Content gap validation: Search for a keyword on the site to check if content exists
- Internal linking opportunities: Find pages mentioning a topic that could link to each other
- Duplicate content detection: Search for key phrases to find near-duplicates
- Competitor content research: Search competitor site for specific topics
Cross-Skill Integration
With seo-audit (full audit)
When Firecrawl is available during /seo audit:
- Use
firecrawl_mapto discover all site URLs - Compare with XML sitemap (seo-sitemap) to find orphan/missing pages
- Select top pages for deep analysis
- Feed crawled content to all subagents (technical, content, schema, geo)
- Report total crawlable pages, URL patterns, and crawl depth
With seo-technical
- Broken link detection: crawl all internal links, check for 404s
- Redirect chain mapping: follow all redirects, flag chains > 2 hops
- Mixed content detection: check HTTP resources on HTTPS pages
- Canonical verification: compare canonical URLs with actual URLs
With seo-sitemap
- Sitemap coverage: % of crawled pages present in sitemap
- Orphan pages: pages found by crawl but missing from sitemap
- Stale sitemap entries: URLs in sitemap that return 404/410
With seo-content
- Content extraction: feed clean markdown to E-E-A-T analysis
- Thin content detection: identify pages with < 300 words at scale
- Duplicate content: compare content across pages for near-duplicates
With seo-schema
- Schema extraction: pull JSON-LD from all crawled pages
- Schema coverage: % of pages with structured data
- Schema validation: batch-validate extracted schemas
Error Handling
| 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:
- Use
fetch_page.pyfor single-page analysis (no API cost) - Use
WebFetchtool for basic HTML retrieval - Install Firecrawl:
./extensions/firecrawl/install.sh
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (8,078 bytes)
- 📎 LICENSE.txt (143 bytes)