Community연구 & 데이터 분석github.com

Firecrawl SEO 확장팩 (Claude SEO)

Firecrawl MCP를 통해 전체 사이트 크롤링, 스크래핑, 사이트 맵 생성을 지원하는 SEO 스킬입니다. 사용자가 '사이트 크롤링', '사이트 맵', '전체 크롤링', '모든 페이지 찾기', '깨진 링크', '사이트 구조', '페이지 발견', 'JS 렌더링' 등을 요청하거나 사이트 전체 분석이 필요할 때 사용합니다.

Firecrawl SEO 확장팩 (Claude SEO)란 무엇인가요?

Firecrawl SEO 확장팩은 Claude AI 에이전트가 전체 웹사이트를 체계적으로 분석할 수 있도록 지원하는 강력한 SEO 도구입니다. Firecrawl MCP를 기반으로 하여 사이트 전체 크롤링(crawl), 사이트 구조 발견(map), 단일 페이지 스크래핑(scrape), 사이트 내 검색(search)의 네 가지 주요 기능을 제공합니다. 특히 JavaScript로 렌더링되는 SPA(Single Page Application) 사이트에서도 정상 동작하여, 기존 단순 HTTP 요청 방식으로는 분석하기 어려웠던 현대적인 웹사이트의 SEO 문제를 해결합니다. SEO 감사, 깨진 링크 탐지, 콘텐츠 인벤토리, 스키마 마크업 검증 등 다양한 SEO 작업에 활용할 수 있으며, 다른 SEO 분석 도구(seo-audit, seo-technical, seo-sitemap, seo-content, seo-schema)와 연계되어 종합적인 사이트 분석 파이프라인을 구축할 수 있습니다. 무료 티어에서 500 크레딧/월을 제공하며, 맵(map) 작업은 크롤링보다 저렴한 0.5 크레딧으로 URL을 효율적으로 발견할 수 있습니다.

지원 대상✓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에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Claude SEO를 위한 Firecrawl 확장팩

이 스킬을 사용하려면 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 (필수): 크롤링을 시작할 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. 사전 감사 발견: 먼저 맵을 실행한 후 주요 섹션에 대한 타겟 크롤링

출력: URL 배열. 다음과 같이 표시:

사이트: example.com
발견된 페이지: 342

URL 패턴 분석:
  /blog/*          - 128 페이지 (37%)
  /products/*      - 89 페이지 (26%)
  /category/*      - 45 페이지 (13%)
  /pages/*         - 32 페이지 (9%)
  / (루트 페이지)  - 48 페이지 (14%)

scrape -- 단일 페이지 심층 스크래핑

전체 JavaScript 렌더링으로 단일 페이지를 스크래핑합니다. JS를 실행하고 동적 콘텐츠를 기다리기 때문에 fetch_page.py보다 더 철저합니다.

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 vs fetch_page.py 사용 시점:

시나리오사용
정적 HTML 페이지fetch_page.py (API 비용 없음)
JS 렌더링 SPAfirecrawl_scrape (JS 렌더링)
응답 헤더 필요fetch_page.py (헤더 반환)
깔끔한 마크다운 필요firecrawl_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. 크롤링된 콘텐츠를 모든 하위 에이전트(기술, 콘텐츠, 스키마, 지리)에 전달
  5. 총 크롤링 가능 페이지 수, URL 패턴, 크롤링 깊이 보고

seo-technical과 함께

  • 깨진 링크 탐지: 모든 내부 링크를 크롤링하여 404 확인
  • 리디렉션 체인 매핑: 모든 리디렉션을 추적하여 2홉 이상 체인 플래그 지정
  • 혼합 콘텐츠 탐지: HTTPS 페이지에서 HTTP 리소스 확인
  • 표준 URL 검증: 표준 URL과 실제 URL 비교

seo-sitemap과 함께

  • 사이트맵 적용 범위: 크롤링된 페이지 중 사이트맵에 있는 비율
  • 고립 페이지: 크롤링으로 발견되었지만 사이트맵에 없는 페이지
  • 오래된 사이트맵 항목: 사이트맵에 있지만 404/410을 반환하는 URL

seo-content와 함께

  • 콘텐츠 추출: 깔끔한 마크다운을 E-E-A-T 분석에 제공
  • 얇은 콘텐츠 탐지: 대규모로 300단어 미만 페이지 식별
  • 중복 콘텐츠: 페이지 간 콘텐츠를 비교하여 거의 중복된 내용 찾기

seo-schema와 함께

  • 스키마 추출: 모든 크롤링된 페이지에서 JSON-LD 추출
  • 스키마 적용 범위: 구조화된 데이터가 있는 페이지 비율
  • 스키마 검증: 추출된 스키마 일괄 검증

오류 처리

오류원인해결 방법
FIRECRAWL_API_KEY가 설정되지 않음MCP가 구성되지 않음./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. 기본 HTML 검색에는 WebFetch 도구 사용
  3. Firecrawl 설치: ./extensions/firecrawl/install.sh

Individual skills in this repo

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

관련 스킬