seo-firecrawl について
seo-firecrawlは、SEO担当者向けにFirecrawlを操作するワークフロースキルです。ページ取得、URLマップ、クロール、ドメイン内検索を行い、ページ情報やメタデータなどを整理します。
主な機能
- 01ページ本文とメタデータの取得
- 02ドメイン内URLのマッピング
- 03範囲を指定したページクロール
- 04ドメイン内検索
- 05結果のファイル整理
活用シーン
- 01ページのHTMLやJSON-LDの確認
- 02クロール前のURL一覧作成
- 03クロールしたページのメタデータ監査
- 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 オーケストレーター
データ駆動型の SE Ranking スキルでは対応できないタスク向けの、Firecrawl MCP への直接インターフェースです。次の場合に使用します。
- WebFetch の Markdown 変換で削除される、生の HTML、
<head>メタデータ、JSON-LD、または JavaScript 実行後の DOM が必要な場合。 - ドメイン上のすべての URL の一覧が必要で、各ページを取得する必要はない場合。
- サイトをクロールして、各ページのメタデータを監査する必要がある場合。
- 既知のドメイン内を検索する必要がある場合。
- 上位のスキル(
seo-page、seo-schema、seo-content-auditなど)からサブステップとして呼び出された場合。
前提条件
- 必須:
firecrawl-mcpMCP サーバー。mcp__firecrawl-mcp__firecrawl_scrapeが利用できない場合は、インストールコマンド(このプラグインのリポジトリでbash extensions/firecrawl/install.sh)と firecrawl.dev の登録 URL(無料プランは月 500 クレジット)を提示して中止します。フォールバックは試みないでください。このスキルは、WebFetch で対応できないケースのためにあります。 - ユーザーからの入力:対象の URL またはドメインに加え、任意でモード(
scrape/map/crawl/search)。モードが指定されていない場合は、入力形式から推定します(単一 URL →scrape、単一ドメイン →map)。
プロセス
- 事前確認。
firecrawl-mcpが接続されていることを確認します。接続されていない場合は、インストールコマンドを提示して中止します。 - モードの選択。 ユーザーの意図に応じて、次のいずれかに決定します。
scrape— 単一 URL の全データ(ユーザーが URL を 1 つ指定した場合のデフォルト)。map— 単一ドメインの URL 一覧のみ(低コストの概況調査)。crawl— 単一ドメインで、検出した各ページを取得(高コスト。明示的な確認が必要)。search— ドメイン内のクエリ検索。
- コストの見積もりと確認。
scrape(1 クレジット)、map(検出 URL 1 件あたり約 0.5 クレジット — 範囲が不明な場合は、まずmapを使用して見積もります)、crawl(クロールしたページ 1 件あたり 1 クレジット)、search(返された結果 1 件あたり 1 クレジット)。crawlの場合、および 50 件を超える URL が予想されるmapの場合は、見積もりを提示し、実行前に明示的な許可を得ます。- Firecrawl の応答メタデータ(
metadata内のcreditsUsed/creditsRemaining)から、常に残りのクレジットを確認します。
- 実行。 該当する
mcp__firecrawl-mcp__firecrawl_*ツールを呼び出します。scrape:デフォルトでformats: ["markdown", "html"]を渡します(本文用に Markdown、<head>と JSON-LD 用に HTML)。成果物でスクリーンショットを実際に使用する場合に限り、formats: ["screenshot"]を追加します。SPA の場合はwaitFor: 2000(または CSS セレクター)を渡して、JavaScript によってレンダリングされた 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を使用します。
- 解析して出力を構成。 生の API 応答をそのまま出力しないでください。モードごとの出力:
scrape→RAW.md(Markdown 本文)、META.md(og / twitter / canonical / robots / headers と、ハッシュ付きで解析した JSON-LD の@type一覧)、links.csv、任意でscreenshot.png。map→ パターン別に分類した一覧(例:/blog/* — 128 (37%)、/products/* — 84 (24%))を含むURLS.mdと、urls.csv。crawl→pages/{slugified-url}/にページごとのフォルダーを作成し、各フォルダーにRAW.mdとMETA.mdを格納します。さらに、すべてのページを要約するトップレベルのINDEX.md(URL、ステータス、主要シグナル)を作成します。search→ 関連度順に並べたヒット箇所の抜粋と URL を含むMATCHES.md。
- ルートに
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クレジットです。
mapはURLごとに0.5クレジット、scrapeは1回ごとに1クレジット、crawlはページごとに1クレジットです。費用は事前に提示し、1回の実行で100クレジットを超える場合は警告してください。 scrapeではデフォルトでonlyMainContent: trueを設定し、ナビゲーションやフッターのノイズを除去してください。ユーザーがページ全体のDOMを明示的に求めた場合にのみ、上書きしてください。- コンテンツを遅延読み込みするSPAでは
waitFor(CSSセレクターまたはミリ秒)を使用してください。デフォルトは2000msが妥当ですが、時間指定よりセレクターのほうが確実です。 - クロール範囲が不明確な場合は、
firecrawl_crawlの前にfirecrawl_mapを実行してください。まず検出し、クロールする対象を決めてからクロールします。クレジットを節約できます。 includePaths/excludePathsを使うと、クロール費用を大幅に削減できます。デフォルトで必ずexcludePaths: ["/admin/*", "/api/*", "/wp-admin/*", "/feed/*"]を渡してください。- 成果物に目に見える形で使用されない限り、
formats: ["screenshot"]はリクエストしないでください。 ページごとの費用が2倍になります。 firecrawl_extractやfirecrawl_deep_researchは使用しないでください。 どちらも独自のLLM分析と機能が重複します。firecrawl_extractは無料プランでの料金体系が不透明であり、どちらもseo-skillsの対象外であることが明示されています。- Cloudflare/ボット対策: 一部のサイト(特にECサイトや銀行)は、Firecrawlのスクレイパーをブロックします。エラーは適切に提示してください。このスキルの目的はWAFの回避ではありません。
- サブステップとしての使用: 別のスキル(
seo-page、seo-schemaなど)から呼び出された場合は、FIRECRAWL.mdの要約を省略してください。呼び出し元が必要としているのは、生のMETA.md/RAW.mdです。呼び出し元が生のurls.csvを必要としている場合は、モード2のURLS.mdの要約も省略してください。 - 生のHTMLが必要で、より具体的なスキルが思い当たらない場合のエントリーポイントです。該当するスキルがある場合は、代わりにそちらを使用してください。1つのURLのキーワード/トラフィックに関する判定には
seo-page、JSON-LDの作業にはseo-schema、サイト全体のクロールに関する問題にはseo-technical-auditを使います。これらのスキルはFirecrawlとSE Rankingのデータを自動的に連携させます。
相性のよいスキル
- 前段のスキル: なし(エントリーポイント)、または別のスキルからサブステップとして呼び出されます。
- 後続のスキル:
seo-page— 1つのURLをスクレイピングし、キーワード/トラフィックに関する判定が必要な場合。seo-schema— JSON-LD監査で、生成が必要な不足項目が見つかった場合。seo-technical-audit— クロールにより、壊れたページや大規模なnoindexの問題が見つかった場合。seo-content-audit— クロールで、E-E-A-T監査が必要なコンテンツ群が作成された場合。seo-drift baseline— このURLまたはドメインを継続的に追跡したい場合。
コメント
Markdown 対応