clanker25/claude-seo

Analyse complète d'un site web : crawling, scraping et création de plans de site via Firecrawl MCP.

Qu'est-ce que claude-seo ?

Cette compétence permet aux agents IA de réaliser des audits SEO complets en utilisant Firecrawl MCP. Elle fournit quatre outils principaux : le crawl complet du site (firecrawl_crawl), la découverte de la structure du site (firecrawl_map), le scraping d'une seule page avec rendu JavaScript (firecrawl_scrape) et la recherche dans un site (firecrawl_search). Elle est conçue pour Claude Code, Cursor et Codex, et s'intègre avec d'autres compétences SEO comme seo-audit, seo-technical, seo-sitemap, seo-content et seo-schema. Les cas d'utilisation typiques incluent la détection de liens brisés, l'analyse de contenu, la vérification des sitemaps, et l'extraction de schémas structurés. La compétence gère également les erreurs courantes comme les limites de crédit, les timeouts et les blocages par le site, avec une solution de repli utilisant fetch_page.py en cas d'indisponibilité de Firecrawl.

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

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Extension Firecrawl pour Claude SEO

Cette compétence nécessite l'extension Firecrawl d'être installée :

./extensions/firecrawl/install.sh

Vérification de disponibilité : Avant d'utiliser un outil Firecrawl, vérifiez que le serveur MCP est connecté en contrôlant si firecrawl_scrape ou tout autre outil Firecrawl est disponible. Si les outils ne sont pas disponibles, informez l'utilisateur que l'extension n'est pas installée et fournissez les instructions d'installation.

Référence rapide

CommandeObjectif
/seo firecrawl crawl <url>Crawl complet du site avec extraction de contenu
/seo firecrawl map <url>Découvrir la structure du site (URL uniquement, rapide)
/seo firecrawl scrape <url>Scraper une seule page avec rendu JS
/seo firecrawl search <query> <url>Rechercher dans un site crawlé

Commandes

crawl -- Crawl complet du site

Crawl un site web entier à partir de l'URL donnée. Retourne le contenu de la page, les métadonnées et les liens pour toutes les pages découvertes.

Outil MCP : firecrawl_crawl

Paramètres :

  • url (obligatoire) : URL de départ pour le crawl
  • limit : Nombre maximum de pages à crawler (défaut : 100, max : 500)
  • maxDepth : Profondeur maximale des liens depuis l'URL de départ (défaut : 3)
  • includePaths : Tableau de motifs glob à inclure (ex. : ["/blog/*"])
  • excludePaths : Tableau de motifs glob à exclure (ex. : ["/admin/*", "/api/*"])
  • scrapeOptions.formats : Formats de sortie -- ["markdown", "html", "links"]

Cas d'usage SEO :

  1. Audit de crawl complet : Crawler l'ensemble du site, extraire toutes les pages pour analyse par sous-agent
  2. Crawl ciblé sur une section : Utiliser includePaths pour auditer uniquement /blog/* ou /produits/*
  3. Détection de liens brisés : Crawler avec le format ["links"], vérifier tous les href pour des 404
  4. Inventaire de contenu : Extraire tous les titres de pages, méta-descriptions, H1 à grande échelle
  5. Sites SPA/JS : Firecrawl exécute JavaScript, résolvant le problème #11

Exemple d'orchestration pour /seo audit :

1. firecrawl_map(url) -> obtenir toutes les URLs (rapide, sans contenu)
2. Filtrer pour les 50 pages les plus importantes (page d'accueil, sections clés)
3. firecrawl_crawl(url, limit=50) -> obtenir le contenu complet
4. Envoyer le contenu aux agents seo-technique, seo-contenu, seo-schema

Conscience des coûts :

  • Niveau gratuit : 500 crédits/mois
  • 1 crédit = 1 page crawlée ou scrapée
  • Les opérations map sont moins chères (0,5 crédit par URL découverte)
  • Toujours informer l'utilisateur de l'utilisation estimée des crédits avant les gros crawls

map -- Découverte de la structure du site

Découvre toutes les URLs d'un site web sans récupérer le contenu. Rapide et économe en crédits.

Outil MCP : firecrawl_map

Paramètres :

  • url (obligatoire) : URL du site à mapper
  • limit : Nombre maximum d'URLs à découvrir (défaut : 5000)
  • search : Terme de recherche optionnel pour filtrer les URLs

Cas d'usage SEO :

  1. Comparaison de sitemap : Mapper le site, comparer les URLs découvertes avec le sitemap XML
  2. Détection de pages orphelines : URLs dans le sitemap mais non liées depuis aucune page
  3. Analyse du budget de crawl : Total des pages indexables vs pages liées depuis la page d'accueil
  4. Analyse de motifs d'URLs : Identifier les structures d'URL, les doublons, le gonflement des paramètres
  5. Découverte avant audit : D'abord exécuter un map, puis un crawl ciblé sur les sections clés

Sortie : Tableau d'URLs. Présenter comme :

Site : example.com
Pages découvertes : 342

Répartition par motif d'URL :
  /blog/*          - 128 pages (37%)
  /products/*      - 89 pages (26%)
  /category/*      - 45 pages (13%)
  /pages/*         - 32 pages (9%)
  / (pages racine) - 48 pages (14%)

scrape -- Scraping approfondi d'une seule page

Scrape une seule page avec rendu JavaScript complet. Plus approfondi que fetch_page.py car il exécute JS et attend le contenu dynamique.

Outil MCP : firecrawl_scrape

Paramètres :

  • url (obligatoire) : URL de la page à scraper
  • formats : Formats de sortie -- ["markdown", "html", "links", "screenshot"]
  • onlyMainContent : Supprimer nav/footer/barre latérale (défaut : true)
  • waitFor : Sélecteur CSS ou millisecondes pour attendre le contenu
  • timeout : Délai d'attente de la requête en ms (défaut : 30000)
  • actions : Actions du navigateur avant le scraping (clic, défilement, attente)

Cas d'usage SEO :

  1. Extraction de contenu SPA : Scraper des pages JS rendues (React, Vue, Angular)
  2. Audit de contenu dynamique : Pages avec contenu chargé de manière paresseuse sous la ligne de flottaison
  3. Détection de paywall/connexion : Identifier le contenu derrière des murs d'authentification
  4. Extraction du contenu principal : Utiliser onlyMainContent pour une analyse E-E-A-T propre
  5. Capture d'écran : Utiliser le format screenshot pour l'analyse visuelle

Quand utiliser scrape vs fetch_page.py :

ScénarioUtiliser
Page HTML statiquefetch_page.py (pas de coût API)
SPA rendue JSfirecrawl_scrape (rendu JS)
Besoin des en-têtes de réponsefetch_page.py (retourne les en-têtes)
Besoin de Markdown proprefirecrawl_scrape (meilleure extraction)
Limitation de débit / bloquéfirecrawl_scrape (gère l'anti-bot)

search -- Recherche dans un site

Rechercher dans un site web un contenu spécifique. Utile pour trouver des pages liées à un sujet sans tout crawler.

Outil MCP : firecrawl_search

Paramètres :

  • query (obligatoire) : Requête de recherche
  • url (obligatoire) : Site web dans lequel rechercher
  • limit : Nombre maximum de résultats (défaut : 10)
  • scrapeOptions.formats : Format de sortie pour les pages correspondantes

Cas d'usage SEO :

  1. Validation des lacunes de contenu : Rechercher un mot-clé sur le site pour vérifier si le contenu existe
  2. Opportunités de maillage interne : Trouver des pages mentionnant un sujet qui pourraient se lier entre elles
  3. Détection de contenu dupliqué : Rechercher des phrases clés pour trouver des quasi-doublons
  4. Recherche de contenu concurrent : Rechercher le site d'un concurrent pour des sujets spécifiques

Intégration entre compétences

Avec seo-audit (audit complet)

Lorsque Firecrawl est disponible pendant /seo audit :

  1. Utiliser firecrawl_map pour découvrir toutes les URLs du site
  2. Comparer avec le sitemap XML (seo-sitemap) pour trouver les pages orphelines/manquantes
  3. Sélectionner les pages principales pour une analyse approfondie
  4. Envoyer le contenu crawlé à tous les sous-agents (technique, contenu, schema, geo)
  5. Rapporter le nombre total de pages crawlables, les motifs d'URL et la profondeur de crawl

Avec seo-technical

  • Détection de liens brisés : crawler tous les liens internes, vérifier les 404
  • Cartographie des chaînes de redirection : suivre toutes les redirections, signaler les chaînes > 2 sauts
  • Détection de contenu mixte : vérifier les ressources HTTP sur les pages HTTPS
  • Vérification des canoniques : comparer les URLs canoniques avec les URLs réelles

Avec seo-sitemap

  • Couverture du sitemap : % de pages crawlées présentes dans le sitemap
  • Pages orphelines : pages trouvées par le crawl mais absentes du sitemap
  • Entrées de sitemap obsolètes : URLs dans le sitemap qui retournent une erreur 404/410

Avec seo-content

  • Extraction de contenu : envoyer le Markdown propre à l'analyse E-E-A-T
  • Détection de contenu mince : identifier les pages avec moins de 300 mots à grande échelle
  • Contenu dupliqué : comparer le contenu entre les pages pour trouver des quasi-doublons

Avec seo-schema

  • Extraction de schémas : extraire JSON-LD de toutes les pages crawlées
  • Couverture des schémas : % de pages avec données structurées
  • Validation des schémas : valider par lot les schémas extraits

Gestion des erreurs

ErreurCauseRésolution
FIRECRAWL_API_KEY not setMCP non configuréExécuter ./extensions/firecrawl/install.sh
402 Payment RequiredCrédits épuisésVérifier l'utilisation sur firecrawl.dev/app, mettre à niveau le plan
429 Too Many RequestsLimitation de débitAttendre 60s, réduire la concurrence du crawl
408 TimeoutPage trop lente à rendreAugmenter le timeout, essayer sans rendu JS
403 ForbiddenLe site bloque le crawlingVérifier robots.txt, peut-être nécessaire d'ignorer ce site

Solution de repli élégante : Si Firecrawl est indisponible, informer l'utilisateur et suggérer :

  1. Utiliser fetch_page.py pour l'analyse d'une seule page (pas de coût API)
  2. Utiliser l'outil WebFetch pour la récupération HTML de base
  3. Installer Firecrawl : ./extensions/firecrawl/install.sh

Individual skills in this repo

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

Skills associés