Extensão Firecrawl para SEO no Claude
Esta skill requer a instalação da extensão Firecrawl:
./extensions/firecrawl/install.sh
Verificação de disponibilidade: Antes de usar qualquer ferramenta do Firecrawl, verifique se o servidor MCP está conectado, checando se firecrawl_scrape ou alguma outra ferramenta Firecrawl está disponível. Se as ferramentas não estiverem disponíveis, informe ao usuário que a extensão não está instalada e forneça as instruções de instalação.
Referência Rápida
| Comando | Finalidade |
|---|---|
/seo firecrawl crawl <url> | Rastreamento completo do site com extração de conteúdo |
/seo firecrawl map <url> | Descobrir estrutura do site (apenas URLs, rápido) |
/seo firecrawl scrape <url> | Scrape de página única com renderização JS |
/seo firecrawl search <consulta> <url> | Pesquisar dentro de um site rastreado |
Comandos
crawl – Rastreamento Completo do Site
Percorre um site completo a partir da URL fornecida. Retorna conteúdo das páginas, metadados e links de todas as páginas descobertas.
Ferramenta MCP: firecrawl_crawl
Parâmetros:
url(obrigatório): URL inicial para rastrearlimit: Máximo de páginas a rastrear (padrão: 100, máximo: 500)maxDepth: Profundidade máxima de links a partir da URL inicial (padrão: 3)includePaths: Array de padrões glob para incluir (ex.:["/blog/*"])excludePaths: Array de padrões glob para excluir (ex.:["/admin/*", "/api/*"])scrapeOptions.formats: Formatos de saída –["markdown", "html", "links"]
Padrões de uso para SEO:
- Auditoria completa: Rastrear o site inteiro, extrair todas as páginas para análise por subagentes
- Rastreamento focado em seção: Usar
includePathspara auditar apenas/blog/*ou/products/* - Detecção de links quebrados: Rastrear com formato
["links"], verificar todos os hrefs por 404 - Inventário de conteúdo: Extrair títulos de todas as páginas, meta descrições, H1s em escala
- Sites SPA/JS: Firecrawl renderiza JavaScript, resolvendo o problema de páginas dinâmicas
Exemplo de orquestração para /seo audit:
1. firecrawl_map(url) -> obter todas as URLs (rápido, sem conteúdo)
2. Filtrar as 50 páginas mais importantes (homepage, seções principais)
3. firecrawl_crawl(url, limit=50) -> obter conteúdo completo
4. Alimentar conteúdo para agentes seo-technical, seo-content, seo-schema
Consciência de custos:
- Plano gratuito: 500 créditos/mês
- 1 crédito = 1 página rastreada ou extraída
- Operações de mapa são mais baratas (0,5 crédito por URL descoberta)
- Sempre informe ao usuário o uso estimado de créditos antes de rastreamentos grandes
map – Descoberta de Estrutura do Site
Descobre todas as URLs de um site sem buscar o conteúdo. Rápido e econômico em créditos.
Ferramenta MCP: firecrawl_map
Parâmetros:
url(obrigatório): URL do site para mapearlimit: Máximo de URLs a descobrir (padrão: 5000)search: Termo de busca opcional para filtrar URLs
Padrões de uso para SEO:
- Comparação de sitemap: Mapear o site, comparar URLs descobertas vs. XML sitemap
- Detecção de páginas órfãs: URLs no sitemap que não estão linkadas em nenhuma página
- Análise de orçamento de rastreamento: Total de páginas indexáveis vs. páginas linkadas a partir da homepage
- Análise de padrão de URL: Identificar padrões de estrutura de URL, duplicatas, excesso de parâmetros
- Descoberta pré-auditoria: Executar o mapa primeiro, depois rastreamento direcionado nas seções principais
Saída: Array de URLs. Apresentar como:
Site: exemplo.com
Páginas descobertas: 342
Distribuição por padrão de URL:
/blog/* - 128 páginas (37%)
/products/* - 89 páginas (26%)
/category/* - 45 páginas (13%)
/pages/* - 32 páginas (9%)
/ (páginas raiz) - 48 páginas (14%)
scrape – Extração Profunda de Página Única
Extrai uma única página com renderização completa de JavaScript. Mais completo que fetch_page.py por executar JS e aguardar conteúdo dinâmico.
Ferramenta MCP: firecrawl_scrape
Parâmetros:
url(obrigatório): URL da página para extrairformats: Formatos de saída –["markdown", "html", "links", "screenshot"]onlyMainContent: Remover nav/footer/sidebar (padrão: true)waitFor: Seletor CSS ou milissegundos para aguardar conteúdotimeout: Tempo limite da requisição em ms (padrão: 30000)actions: Ações do navegador antes da extração (clicar, rolar, aguardar)
Padrões de uso para SEO:
- Extração de conteúdo SPA: Extrair páginas React/Vue/Angular renderizadas por JS
- Auditoria de conteúdo dinâmico: Páginas com conteúdo carregado abaixo da dobra
- Detecção de paywall/login: Identificar conteúdo atrás de autenticação
- Extração de conteúdo principal: Usar
onlyMainContentpara análise E-E-A-T limpa - Captura de screenshot: Usar formato
screenshotpara análise visual
Quando usar scrape vs. fetch_page.py:
| Cenário | Usar |
|---|---|
| Página HTML estática | fetch_page.py (sem custo de API) |
| SPA renderizado por JS | firecrawl_scrape (renderiza JS) |
| Necessário cabeçalhos de resposta | fetch_page.py (retorna cabeçalhos) |
| Necessário markdown limpo | firecrawl_scrape (melhor extração) |
| Bloqueado por rate limit | firecrawl_scrape (lida com anti-bot) |
search – Pesquisa com Escopo no Site
Pesquisa dentro de um site por conteúdo específico. Útil para encontrar páginas relacionadas a um tópico sem rastrear tudo.
Ferramenta MCP: firecrawl_search
Parâmetros:
query(obrigatório): Consulta de pesquisaurl(obrigatório): Site para pesquisarlimit: Máximo de resultados (padrão: 10)scrapeOptions.formats: Formato de saída para páginas correspondentes
Padrões de uso para SEO:
- Validação de lacunas de conteúdo: Pesquisar por uma palavra-chave no site para verificar se o conteúdo existe
- Oportunidades de links internos: Encontrar páginas que mencionam um tópico e podem linkar entre si
- Detecção de conteúdo duplicado: Pesquisar por frases-chave para encontrar conteúdos quase duplicados
- Pesquisa de conteúdo de concorrentes: Pesquisar site de concorrente por tópicos específicos
Integração entre Skills
Com seo-audit (auditoria completa)
Quando o Firecrawl estiver disponível durante /seo audit:
- Usar
firecrawl_mappara descobrir todas as URLs do site - Comparar com o XML sitemap (seo-sitemap) para encontrar páginas órfãs/faltantes
- Selecionar as principais páginas para análise aprofundada
- Alimentar conteúdo extraído para todos os subagentes (técnico, conteúdo, schema, geo)
- Relatar total de páginas rastreáveis, padrões de URL e profundidade de rastreamento
Com seo-technical
- Detecção de links quebrados: rastrear todos os links internos, verificar por 404
- Mapeamento de cadeias de redirecionamento: seguir todos os redirecionamentos, sinalizar cadeias > 2 saltos
- Detecção de conteúdo misto: verificar recursos HTTP em páginas HTTPS
- Verificação de canônicas: comparar URLs canônicas com URLs reais
Com seo-sitemap
- Cobertura do sitemap: % de páginas rastreadas presentes no sitemap
- Páginas órfãs: páginas encontradas pelo rastreamento mas ausentes no sitemap
- Entradas obsoletas no sitemap: URLs no sitemap que retornam 404/410
Com seo-content
- Extração de conteúdo: alimentar markdown limpo para análise E-E-A-T
- Detecção de conteúdo fino: identificar páginas com menos de 300 palavras em escala
- Conteúdo duplicado: comparar conteúdo entre páginas para identificar quase duplicatas
Com seo-schema
- Extração de schema: puxar JSON-LD de todas as páginas rastreadas
- Cobertura de schema: % de páginas com dados estruturados
- Validação de schema: validar em lote os schemas extraídos
Tratamento de Erros
| Erro | Causa | Resolução |
|---|---|---|
FIRECRAWL_API_KEY not set | MCP não configurado | Executar ./extensions/firecrawl/install.sh |
402 Payment Required | Créditos esgotados | Verificar uso em firecrawl.dev/app, atualizar plano |
429 Too Many Requests | Limite de requisições | Aguardar 60s, reduzir concorrência de rastreamento |
408 Timeout | Página muito lenta para renderizar | Aumentar timeout, tentar sem renderização JS |
403 Forbidden | Site bloqueia rastreamento | Verificar robots.txt, pode ser necessário pular este site |
Fallback elegante: Se o Firecrawl não estiver disponível, informe o usuário e sugira:
- Usar
fetch_page.pypara análise de página única (sem custo de API) - Usar a ferramenta
WebFetchpara recuperação básica de HTML - Instalar Firecrawl:
./extensions/firecrawl/install.sh