rankflow-mcp
v1.1.1
Published
Serveur MCP RankFlow SEO par Vincent Hego : audit on-page et scoring identiques a l'extension Chrome (bareme 2.48), pages construites en JavaScript lues par le navigateur installe, utilisables directement par un agent IA (Claude Code, Claude Desktop, Curs
Maintainers
Readme
RankFlow SEO : le MCP
Serveur MCP qui donne a ton assistant IA (Claude Code, Claude Desktop, Cursor...) l'audit SEO on-page complet de n'importe quelle URL : score /100, 16 signaux GEO, modules qualite, Core Web Vitals, plan d'action chiffre.
La note est celle de l'extension Chrome RankFlow, a la decimale pres. Meme bareme, memes mesures, memes verdicts : le connecteur execute le code de mesure de l'extension lui-meme (son content script, copie tel quel) et assemble la note comme le popup de l'extension. L'extension reste la reference : le MCP ne reinvente rien, il porte.
Guide d'installation pas a pas, avec ta cle inseree dans les extraits : https://www.vincenthego.com/rankflow/mcp/ (aussi dans INSTALLATION.md).
Claude Desktop et Claude Code sont DEUX applications : chacune a sa propre configuration et ses propres autorisations. Installer dans l'une n'installe pas dans l'autre.
claude mcp add --scope user rankflow-seo -e RANKFLOW_LICENSE_KEY=TA_CLE -- npx -y rankflow-mcp--scope user : sans lui, le connecteur n'est installe que dans le dossier courant.
Il faut une cle RankFlow (https://www.vincenthego.com/rankflow/) : sans elle, le serveur demarre mais refuse d'auditer.
L'outil
rankflow_audit_page(url, { keyword, pagespeed, checkLinks, resources, rendu })
Score SEO on-page /100
25 criteres notes, repartis en 5 categories (Technique 25, Meta & SERP 15, Contenu 30, Liens 20, Perf 10), avec malus (plafonnes a -20), caps bloquants (noindex, canonical externe, contenu trop mince), bonus Excellence, et les verdicts Optimal / Solide / Passable / Insuffisant / Critique.
La reponse expose aussi totalPrecis (la note au dixieme) et pendingWeight
(le poids du bareme qui n'a PAS pu etre mesure) : la note est un pourcentage de
ce qui a ete reellement evalue, il faut pouvoir le verifier.
16 signaux GEO (citabilite par les IA)
Un par un, avec sa valeur et son explication : auteur, date de publication, date de mise a jour, citations externes, JSON-LD, schema Article, schema Produit, schema FAQ, fil d'Ariane, Organization, canonique, indexabilite, sections H2, questions, tableaux, listes, paragraphes citables, fraicheur. Plus la note /10 et les correctifs.
Modules qualite
Helpful / profondeur, E-E-A-T (expertise, autorite, confiance), intention SEO, lisibilite, scanabilite, sur-optimisation (densite + ancres + titres), risque Core Update, detection de contenu IA.
Placement du mot-cle principal (bloc placement)
Le mot-cle principal (keyword s'il est fourni, sinon celui que l'extension
detecte sur la page) et chacun de ses mots significatifs, cherches dans le
title, le H1, la meta description, l'URL, le premier paragraphe, les H2-H6, les
alt, les ancres et le gras. Meme note en etoiles que le tableau « Placement des
mots-cles » de l'extension (son code, execute tel quel). Puis des conseils
classes par impact, avec le texte actuel et un exemple : title, H1 et premier
paragraphe d'abord, puis au moins un H2, puis l'URL (jamais exigee sur une page
d'accueil ; sur une page deja positionnee, pas de changement d'URL pour le SEO
seul), la meta description (clic, pas classement), et alt, ancres, gras
seulement s'ils viennent naturellement. L'expression exacte repetee dans le
title, les Hn ou les ancres est signalee (sur-optimisation). Resume en francais
dans placement.resume, renvoye aussi en second bloc de texte. Hors note /100.
Le reste
- Couverture semantique (si
keywordest fourni) : le vocabulaire du top-N de la SERP, ce que la page couvre, ce qui lui manque. - Core Web Vitals reels via PageSpeed Insights (LCP, CLS, Speed Index, INP
terrain), affiches hors note : depuis le bareme 2.48 ils sont « non mesures »
dans la note /100, dans l'extension comme ici. Necessite
RANKFLOW_PSI_KEY, gratuite. - Liens casses (sur demande,
checkLinks: true) : echantillon de 15 liens internes teste en HTTP. Par defaut ils ne sont pas testes, comme dans l'extension, et la reponse le dit. - Pages construites en JavaScript (
rendu) : voir plus bas. - robots.txt et sitemap.xml.
- Plan d'action chiffre : chaque correctif avec les points qu'il rapporte.
Les limites, dites franchement
Pages construites en JavaScript. Par defaut (rendu: 'auto'), le HTML est
lu tel qu'il est servi, sauf si la page porte les signes d'une application
JavaScript (tres peu de texte, une racine #root, #__next, #app... et des
scripts) ou si son texte rendu differe nettement : elle est alors ouverte dans
le navigateur deja installe (Chrome, Edge, Brave, Chromium), sans fenetre,
15 s au plus, et c'est le DOM rendu qui est note, par le meme moteur. Aucun
Chromium n'est telecharge : puppeteer-core est une dependance facultative.
Sans navigateur ni puppeteer-core, le HTML servi est note et la reponse
previent : « page construite en JavaScript : note a verifier dans l'extension ».
rendu: 'js' force le rendu, rendu: 'statique' l'interdit (ou la variable
d'environnement RANKFLOW_RENDU=statique pour tous les audits). Le champ
rendu de la reponse dit toujours le mode employe et pourquoi.
Pas de CSS ni de mise en page. Un element masque en CSS est compte comme visible, et la taille des cibles tactiles (critere Mobile) ne peut pas etre mesuree : elle est reputee correcte.
La SERP semantique n'est pas Google. L'extension lit la SERP Google depuis ton navigateur ; un serveur ne le peut pas (Google ne rend plus de resultats sans JavaScript, verifie : reponse 200, zero resultat). Le MCP passe donc par un autre moteur. Les reglages sont ceux de l'extension (un terme retenu des qu'il apparait dans 2 pages du top-N, liste plafonnee a 200, presence testee dans le corps + title + meta + Hn), mais la liste de termes peut differer legerement de celle de l'extension. C'est pourquoi la couverture semantique, comme les Core Web Vitals de PageSpeed, est affichee a part et ne change pas la note /100 : dans l'extension non plus, la note affichee ne les contient pas.
Ce qui sort de ta machine. A chaque audit, RankFlow recoit ta cle, l'URL auditee, le score, la version du bareme, et un identifiant d'appareil anonyme (aucun nom de machine ni d'utilisateur). Le contenu des pages, lui, ne sort jamais. Detail complet dans INSTALLATION.md.
Versions
- 1.1.0 : barème 2.48 (5 corrections), lecture des pages construites en JavaScript,
People Also Ask retiré. Notes plus justes : 5 corrections du barème ; les notes
peuvent bouger de quelques points. Core Web Vitals « non mesurés » dans la note,
hreflang neutre pour un site monolingue, nofollow internes comptés une fois,
ancres descriptives reconnues, note indépendante de l'ordre d'arrivée des
mesures. Liens cassés vérifiés seulement sur demande, comme l'extension. Chaque
audit envoie la version du barème (
moteur). Vérifié parnode banc/banc-moteurs.mjs(20 pages + une application JavaScript rendue par le Chrome installé, égalité stricte avec l'extension 2.48). Placement du mot-clé principal (blocplacement) : présences et note en étoiles du tableau « Placement des mots-clés » de l'extension (kwplacement.js exécuté tel quel), conseils par impact, sur-optimisation ; le paramètrekeywordle pilote. Vérifié parnode banc/banc-placement.mjs(23 pages, 28 cas). - 1.0.5 : notes identiques à l'extension 2.47. Le connecteur exécute le code de
mesure de l'extension et assemble la note comme son popup ; Core Web Vitals et
couverture sémantique sont affichés hors note ; seuls les liens en 404, 410,
414 ou 451 comptent comme cassés. Vérifié par
node banc/banc-moteurs.mjs(14 pages, égalité stricte critère par critère).
Developpement local
npm install # Node >= 18
node src/cli.js https://www.vincenthego.com/ # audit en ligne de commande
node src/cli.js https://exemple.fr/ --rendu=js --liens # rendu JavaScript force, liens verifies
node banc/banc-moteurs.mjs # egalite stricte avec l'extension (Chrome installe : rendu JS teste aussi)
node banc/banc-placement.mjs # placement du mot-cle : memes presences et meme note en etoiles que l'extension