Genius Prep
Search Console trend, technical audit, and prioritised backlog for geniusprep.com.
- Domain
- geniusprep.com
- GSC source
- oauth
- Window
- 28d
- Audit
- 96/100
- Synced
- 5d ago
Performance
Top queries
| Query | Clicks | Impr | CTR | Pos |
|---|---|---|---|---|
| shsat score calculator | 63 | 2K | 3.2% | 7.2 |
| genius prep | 24 | 69 | 34.8% | 1.3 |
| shsat calculator | 18 | 668 | 2.7% | 6.2 |
| shsat score calculator 2026 | 6 | 143 | 4.2% | 5.7 |
| shsat practice test 2026 | 6 | 105 | 5.7% | 7.4 |
| shsat handbook 2026 | 5 | 41 | 12.2% | 3.3 |
| shsat calculator 2026 | 4 | 103 | 3.9% | 7.6 |
| shsat new format | 4 | 15 | 26.7% | 4.9 |
| shsat schools | 3 | 326 | 0.9% | 8.9 |
| new shsat format | 3 | 23 | 13.0% | 9.9 |
| shsat test date 2026 | 2 | 517 | 0.4% | 9.2 |
| is living environment regents the same as biology | 2 | 121 | 1.7% | 1.6 |
Top pages
Technical audit
- low
Meta description longue (177 car.)
description_long/psat-prep - low
Meta description longue (175 car.)
description_long/regents-prep/living-environment - low
Title long (69 car., risque de troncature)
title_long/specialized-high-schoolsNYC Specialized High Schools: All 8 Schools, Offers and Scores (2026) - low
Meta description longue (222 car.)
description_long/specialized-high-schools
Crawled pages
| Page | Status | Idx | Title | Desc | Schema |
|---|---|---|---|---|---|
| / | 200 | 65 | 153 | 6 | |
| /blog | 200 | 62 | 158 | 4 | |
| /sat-prep | 200 | 61 | 154 | 7 | |
| /shsat-prep | 200 | 60 | 146 | 7 | |
| /isee-prep | 200 | 54 | 144 | 7 | |
| /act-prep | 200 | 57 | 139 | 7 | |
| / | 200 | 65 | 153 | 6 | |
| /psat-prep | 200 | 65 | 177 | 7 | |
| /regents-prep | 200 | 52 | 155 | 7 | |
| /regents-prep/algebra-1 | 200 | 49 | 154 | 7 | |
| /regents-prep/algebra-2 | 200 | 59 | 145 | 7 | |
| /regents-prep/geometry | 200 | 58 | 150 | 7 | |
| /regents-prep/living-environment | 200 | 55 | 175 | 7 | |
| /regents-prep/english-language-arts | 200 | 57 | 152 | 7 | |
| /regents-prep/physical-setting-chemistry | 200 | 59 | 158 | 7 | |
| /regents-prep/physical-setting-physics | 200 | 57 | 150 | 7 | |
| /regents-prep/earth-and-space-sciences | 200 | 63 | 153 | 7 | |
| /ssat-prep | 200 | 59 | 145 | 7 | |
| /shsat-test-dates | 200 | 54 | 148 | 5 | |
| /isee-test-dates | 200 | 64 | 152 | 5 | |
| /specialized-high-schools | 200 | 69 | 222 | 7 | |
| /shsat-format | 200 | 55 | 153 | 6 | |
| /become-a-tutor | 200 | 45 | 151 | 5 | |
| /book | 200 | 53 | 160 | 5 | |
| /shsat-registration | 200 | 63 | 144 | 8 |
Rapport SEO — portefeuille (Emet Expertise + Genius Prep) · 04/09/2026
Rapport SEO — portefeuille (Emet Expertise + Genius Prep) · 04/09/2026
Cockpit interne. Panel 6 angles Opus avec mémoire du registre (182 propositions injectées, interdiction de redite). Rapports d'angle bruts :
sites/_panels/2026-09-04/. Rapport identique archivé dans les deux dossiers de site.
1. ⚡ VERDICT
Genius Prep monte (clics +36 % en 7 jours) et son tunnel est cassé au point exact où il monte : le mobile.
Emet est stable et n'a pas assez de trafic pour qu'on puisse dire quoi que ce soit de son tunnel — son sujet n'est
pas le SEO, c'est une fiche Google jamais validée depuis 66 jours et un point client dans 10 jours.
Et sur le seul canal de liens prouvé du dossier, on publie depuis deux mois l'objet de second rang : notre
organisation data.gouv porte datasets: 0.
1bis. ⏳ EN ATTENTE DE (14 attentes ouvertes, 7 à relancer)
| ID | Qui | Jours | Quoi |
|---|---|---|---|
| L030 | Ichai | 21 | Feu vert envoi newsletter Brevo |
| L024 | Ichai | 16 | N° d'inscription au tableau de l'Ordre (champ identifier de /auteur/nathan-metral) |
| L025 | Ichai | 16 | Suppression de l'avis posté depuis le compte société |
| L026 | Ichai | 16 | Vérifier que le 01 89 52 15 14 sonne chez Nathan — fermé par L225 ci-dessous |
| L027 | Ichai | 16 | Aligner la fiche GBP sur le bon numéro |
| L064 | Lance | 9 | Feu vert migration vers son serveur US |
| L075 | 9 | Réponse sur l'accès API Business Profile (dossier 0-7601000042166) | |
| L115 | Ichai | 5 | LinkedIn de Nathan dit « Figital Expertise » alors que le JSON-LD le déclare en sameAs |
| L116 | Ichai | 5 | Quel numéro sonne réellement — fermé par L225 |
| L136 | Lance | 5 | Photos du local et des tuteurs (l'unique photo de la fiche montre l'enseigne « Valley Bank ») |
| L187 | Lance | 1 | Les contacts téléphone ne sont pas facturés par le contrat |
| L188 | Nathan | 1 | Fiches de l'Ordre — requalifié par L224 : elles ne sont pas vides, elles sont FAUSSES |
| L215 | Ichai | 1 | Appeler Ruben Toledano |
Et une 15ᵉ, hors registre, qui prime sur tout : Avi a écrit le 02/09 à 12:53 « La vérité si tu peux gérer c'est top » à propos des réponses aux avis Google. Deux jours de silence. 6 avis, 0 réponse.
2. 📈 État & tendance (GSC 28 j : 07/08 → 04/09)
| Genius Prep | Emet Expertise | |
|---|---|---|
| Clics | 165 | 9 |
| Impressions | 19 532 | 783 |
| CTR | 0,8 % | 1,1 % |
| Position moyenne | 16,3 | 17,6 |
| Clics 7j vs 7j | 44 → 60 · +36 % | 2 → 3 |
| Impressions 7j vs 7j | 4 872 → 5 996 · +23 % | 314 → 218 · −31 % |
| Position 7j vs 7j | 16,3 → 18,2 (se dégrade) | 14,2 → 15,9 (se dégrade) |
Le −31 % d'Emet et la dégradation de position sont l'effet mécanique d'une croissance d'impressions sur des requêtes plus profondes ; le KPI officiel (cohorte, §3bis) va dans l'autre sens.
⚠️ La position moyenne est la moyenne de deux comptes différents — gsc.mjs n'a JAMAIS tiré la dimension device
Vérifié : gsc.mjs interroge query, page, date, query+page. Jamais device. Tirée à part, même période,
même token — et les totaux réconcilient exactement avec les nôtres :
| Genius Prep mobile | Genius Prep desktop | Emet mobile | Emet desktop | |
|---|---|---|---|---|
| Clics · impressions | 70 · 6 391 | 92 · 12 747 | 5 · 324 | 4 · 455 |
| CTR | 1,10 % | 0,72 % | 1,54 % | 0,88 % |
| Position | 10,6 | 19,5 | 8,5 | 24,3 |
Emet est déjà en page 1 sur mobile (position 8,5). Genius Prep aussi (10,6), avec neuf rangs d'écart entre les deux appareils. Le mobile pèse 42 % des clics de Genius Prep et c'est le seul appareil qui transforme la position en clic — et c'est exactement la moitié où le tunnel est cassé (§4). → L229.
3. 📞 Leads
- Genius Prep : 1 lead facturable (Rain Ojeda, 29/08, ISEE, formulaire) + 1 écarté (notre propre test). Tendance ↑.
- Emet : 0 lead. 5 écartés, tous pour téléphone non conforme au plan de numérotation FR — c'est du vrai spam, vérifié, pas notre validation qui rejette des prospects.
⭐ L'arbitrage du portefeuille était à l'envers
Emet a 9 clics. Si le tunnel convertissait à 5 %, la probabilité d'observer zéro lead vaut 0,95⁹ = 63 % ; à 10 %, encore 39 %. « 0 lead » est le résultat le plus probable même sur un site parfait. Pour que ce soit un signal à 95 % de confiance il faut ≥ 59 clics, soit six mois au rythme actuel. Toute optimisation de conversion sur Emet aujourd'hui optimise du bruit.
Genius Prep a 165 clics et 1 lead : P(≤1 lead à 5 %) ≈ 0,2 %. Ce n'est pas du bruit, c'est un tunnel cassé,
et le §4 en donne deux causes matérielles. → L228 (afficher le dénominateur dans leads.mjs).
3bis. 🎯 Cohorte (KPI officiel)
- Emet : 1/9 en top 10 (baseline 0) · 4/9 en top 20 (baseline 1).
expert comptable sarcelles18,2 (▲ +7,7 vs baseline) ·comptable sarcelles10,7 ·cabinet comptable sarcelles13,3 · marque 1,2. Progression réelle. - Genius Prep : 4/10 en top 10 (baseline 4) · 4/10 en top 20 (baseline 5). Couverture 495 impressions sur
19 532 = 2,5 %, assiette très étroite. Les requêtes
<examen> tutoring nycsont toutes au-delà de la position 40 (sat 40,8 · isee 41,6 · shsat 50,9).
Par cluster (position pondérée par impressions) : SHSAT 17,8 (1 421 impr, 14 clics) · ISEE 18,3 (795, 2) · SSAT 27,3 (281, 0) · ACT 33,6 (1 349 impr, 1 clic) · Regents 33,8 (53, 0) · SAT 38,7 (823 impr, 0 clic). SHSAT et ISEE transforment ; SAT et ACT ne transforment pas — 2 172 impressions pour 1 clic.
3ter. 📝 Production qui ne concourt pas
- Genius Prep : aucun article invisible. 11 matures concourent tous, 9 publiés il y a ≤ 5 jours.
- Emet :
choisir-plateforme-agreee, 91 jours, position 59,7 — au-delà de la page 3.
4. 🔧 Santé technique
| Genius Prep | Emet | |
|---|---|---|
| Audit | 45/100, 55 findings tous low |
90/100, 10 findings tous low |
| CWV | LCP 2 551 ms (seuil 2 500), CLS 0, TBT 42 | LCP 1 801 ms, CLS 0, TBT 0 |
| Pages rankées cassées | 0 sur 48 | 0 sur 28 |
| GEO | llms.txt absent, aucun crawler IA bloqué |
llms.txt présent |
Le 45/100 de Genius Prep est intégralement cosmétique : 18 title_long, 19 description_long, 18 no_og_image —
et 17 des 18 pages concernées sont les nouvelles pages /tools/* (titres de 72 à 95 caractères). Aucun défaut
critique.
🔴 Deux défauts matériels sur le formulaire qui EST l'unité de facturation de Genius Prep
(a) Un id en double : le label ne pilote aucun champ. Vérifié par moi sur le HTML servi en production —
curl https://geniusprep.com/ | grep -o 'id="contact"' rend 2 occurrences : <section id="contact"> (cible
d'ancre) puis <input id="contact">. Le <label for="contact"> résout donc sur la section, qui n'est pas
étiquetable → label orphelin, activeElement = BODY au clic. Sur mobile, taper le libellé d'un champ est un
geste courant : le visiteur tape, rien ne se passe, il croit le formulaire mort. Le champ n'a par ailleurs aucun nom
accessible (ni label associé, ni aria-label, ni placeholder). C'est le formulaire de la home, terminus des
33 href="/#contact" du dépôt. Le composant InlineLead des 30 autres points de capture est, lui,
irréprochable. → L218.
(b) L'ancre /#contact dépose le visiteur mobile 2 417 px sous le formulaire. Parcours rejoué en navigateur
réel (iPhone 390×844) sur 4 routes : le saut s'exécute sur un document de 9 985 px, les images au-dessus de
#contact finissent de charger, le document passe à 10 996 px, l'ancre est déjà consommée → scrollY 5580, champ
à +2 417 px, VISIBLE = False. En desktop 1440, VISIBLE = True sur les mêmes routes. Le défaut est
structurellement invisible hors mobile, et le CLS reste à 0 parce que la croissance se produit au-dessus du
point de vue final : aucun indicateur ne s'allume. 45 clics « je veux réserver » inter-pages mesurés depuis le
28/05. Le compteur d'intention est vert, le compteur de résultat est vide, et rien ne relie les deux. → L219.
Preuve ouverte par moi : sites/_panels/2026-09-04/preuves/gp-mobile-atterrissage.png. Après un clic sur
« BOOK NOW » de la carte GRADES 7-12 ($125/session), l'écran mobile affiche la grille de prix portant les mêmes
boutons « BOOK NOW », puis la section REVIEWS. Le visiteur qui a cliqué « Book now » atterrit devant « Book now ».
C'est une boucle, pas un tunnel.
⚠️ Une erreur de mon brief que l'angle local a réfutée : METRAL CONSEIL n'est pas un « doublon d'entité »
recherche-entreprises.api.gouv.fr : METRAL CONSEIL (SIREN 103667648) est déclarée « Président de SAS,
personne morale » d'Emet Expertise. C'est la holding personnelle de Nathan qui préside le cabinet — un
montage juridique normal, déjà vérifié le 19/07 et écrit dans memory/clients/emetexpertise.md. J'ai malgré tout
repris le mot « doublon » dans le brief du panel. On ne peut donc ni la supprimer ni la fusionner : elle a une
raison d'exister. Ce qu'on peut faire, c'est la rendre discernable d'Emet aux yeux de Google, ce qu'elle
n'est pas : même adresse, même NAF 69.20Z, mêmes coordonnées géo au 10ᵉ chiffre, et le même téléphone.
Deux entités professionnelles indiscernables à la même adresse, c'est l'algorithme qui choisit laquelle survit.
Fait neuf et défavorable : l'adresse INSEE d'Emet est malformée (complement_adresse: "SARCELLES" →
« SARCELLES 4 CHEMIN DES POIRIERS 95200 SARCELLES ») tandis que celle de METRAL CONSEIL est propre — c'est
donc le jumeau, pas nous, que les agrégateurs automatiques vont préférer recopier. Le message n°1 pour Nathan
ci-dessous reste valable tel quel : on remplit la fiche 40250 seulement.
5. 📬 Alertes Google (Gmail, compte ichaiwizlol@)
- 31/08 · geniusprep.com — « Avis multiples sans objet
aggregateRating», marqué critique. Le correctif a été déployé le 03/09 ; le crawl de Google est antérieur. Rien à faire, la ré-évaluation viendra. - 17/08 et 28/07 · emetexpertise.fr — « nouvelles raisons empêchent l'indexation ». Traité (L032 clos).
- 03/08 · emetexpertise.fr — « données structurées Ensembles de données détectés » : c'est notre
DatasetJSON-LD, c'est normal. - 02/09 — rapport de performance mensuel geniusprep, routine.
- Aucune alerte nouvelle depuis le 02/09. Aucune action manuelle, aucun problème de sécurité, sur aucun des deux sites.
6. ↕️ Ce qui monte / ce qui chute
Genius Prep — la saisonnalité NYC a déjà tourné (glissement de fenêtre 31/08 → 04/09, impressions par cluster) : SHSAT 1 678 → 1 780 (+6 %) · ACT 1 223 → 1 349 (+10 %) · SSAT 263 → 281 (+7 %) · SAT 821 → 830 (=) · Regents 19 → 53 (×2,8) · ISEE 869 → 795 (−9 %). La rentrée a rallumé SHSAT/ACT/Regents ; l'ISEE recule parce que sa fenêtre de test est plus tardive (novembre-décembre) et remontera — les 3 pages de quartier ISEE du 03/09 seront prêtes à temps.
Emet — /services/fiscalite rank en position 2 à 4 sur des requêtes retraite sans aucun rapport :
« trimestre » 25 impressions pos 3,8 · « comment calculer les trimestres pour la retraite » pos 2 ·
« c'est quoi un trimestre » pos 2. ~35 des 783 impressions du site sont ce parasite, à 0 clic. Ce n'est pas une
opportunité (audience non payeuse), c'est du bruit dans le dénominateur.
7. 🎯 Opportunités chiffrées
Emet — striking distance : expert comptable sarcelles 84 impressions, position 18,2, 0 clic (+7 clics
potentiels). Pages : / 296 impr pos 16 (+18) · /contact 169 impr pos 14,6 CTR 0,6 % (+13) ·
/services/fiscalite 137 impr pos 22,1 (+1). Potentiel total estimé : 40 clics.
Genius Prep — isee test dates 2026 109 impr pos 9,8 · shsat date 2026 57 pos 11 · isee test dates 56 pos
11,7 · tribeca isee test prep 52 pos 15,7 · shsat schools 47 pos 19,7 · specialized high schools nyc 44 pos
13,9 · isee exam dates 2026 43 pos 8,4 · upper west/east side isee test prep 43 + 42 · act preparation bronx
41 pos 12,3.
Le gisement que personne n'avait lu comme tel : la couche HUB
Agrégé par couche d'architecture (et non par format) :
| Couche | Pages | Impressions | Clics | Position | CTR |
|---|---|---|---|---|---|
| HOME | 1 | 1 152 | 24 | 45,8 | 2,08 % |
| HUB examen | 5 | 5 296 (27 %) | 22 | 26,3 | 0,42 % |
| ÉCOLE | 15 | 2 670 | 21 | 14,4 | 0,79 % |
| BLOG | 20 | 11 234 | 95 | 10,0 | 0,85 % |
La position est une fonction monotone de la spécificité de l'URL : 45,8 → 26,3 → 14,4 → 10,0. Le format
n'explique rien — /shsat-prep/stuyvesant (10,9), /shsat-prep/bronx-science (9,5), /sat-prep/bronx-science
(9,2) sont des pages de service et tiennent le rang des meilleurs articles. Les pages de service ne perdent pas
parce qu'elles vendent, elles perdent quand elles sont génériques.
Donc : la couche hub est le plus gros gisement d'impressions du site et son pire CTR, parce que chaque impression
de hub est une page spécifique qui n'existe pas. Google ne sert /act-prep sur « act tutoring hoboken city » que
parce qu'il n'a rien de plus précis à servir. Ce que la règle mécanique sort (≥15 impressions, position >20) :
- HOBOKEN — 86 impressions (
act tutoring hoboken city29 pos 19 ·sat tutoring hoboken city25 pos 66,4 ·hoboken, nj act/sat tutoring32). Etgrep -rio "hoboken" src/ content/rend 0. Le mot n'existe nulle part dans le dépôt. C'est un autre État, donc invisible dans toute lecture « NYC », et c'est à un trajet de PATH de Flatiron. → L220. sat prep amsterdam25 impr pos 49,9 (= Amsterdam Ave, Upper West Side) +sat prep manhattan/west side49 impr → une page/sat-prep/upper-west-side./shsat-registration, et la date commande :shsat registration33 impr pos 26,9 + 5 variantes = 51 impressions à position ~30, zéro clic. Page distincte de/shsat-test-dates(livré le 02/09), et la mesure le prouve : le cluster DATES est déjà à pos 9-12, le cluster INSCRIPTION est bloqué à 27-40. Deux nuages séparés de 20 rangs sur le même sujet = deux pages ; les fusionner rejouerait la cannibalisation SSAT de L211. La fenêtre d'inscription DOE est ouverte maintenant et se referme en octobre. → L221.- PSAT :
grep -rio "psat"rend 0 sur tout le dépôt, et l'examen s'administre à la mi-octobre. Les requêtes existent déjà malgré l'absence totale du mot (7 impressions) — ce 7 n'est pas la demande, c'est le plancher de bruit. Non chiffré volontairement : DataForSEO est à sec. → L235.
8. 🥊 Concurrence
Indisponible : le solde DataForSEO est négatif (−0,009 $). Aucune SERP live n'a pu être tirée aujourd'hui, sur aucun des deux sites. Je ne remplace pas ça par une supposition.
En revanche, la concurrence sur le canal de distribution est mesurée, et elle bouge vite (§9).
9. ✅ PLAN D'ACTION — synthèse du panel
🔷 La convergence : deux angles indépendants ont trouvé la même chose, et c'est la chose la plus importante du rapport
L'angle netlinking et l'angle actif ont, sans se parler, sorti la même mesure :
GET /api/1/organizations/6a85fd9087ee16a223a628c8/
→ Emet Expertise | datasets: 0 | reuses: 1 | followers: 0
Depuis deux mois, tout ce que le dossier a fait sur data.gouv porte sur un seul objet : la RÉUTILISATION.
Les trois entrées du registre sur ce canal (L183, L208, L209) en parlent toutes. Personne n'a regardé le compteur
datasets de notre propre organisation. Or une réutilisation est un objet de second rang : elle vit dans la
galerie de quelqu'un d'autre, sa visibilité est un rapport (1/49 sur BODACC), et elle ne se fait jamais citer.
Le jeu de données fait de nous le dénominateur — 1/1 pour toujours — et devient l'objet que les autres
réutilisent : chaque réutilisation tierce est une page .gouv.fr entrante, sans qu'on demande rien. C'est la
case (a) du filtre d'admission — « se fait linker tout seul » — à l'état pur, et elle n'est cochée nulle part
ailleurs dans le portefeuille.
Ce n'est pas un chantier : les fichiers existent déjà, servis en 200, avec licence Etalab et attribution écrites
dans le JSON — prix-de-cession-fonds-de-commerce.json (68,6 Mo), cotisation-fonciere-des-entreprises.json
(10,1 Mo, 34 905 communes), delais-de-paiement-index.json (90 539 entrées), + 3 autres. La place est vide :
q="cotisation foncière" → 0 jeu sur toute la plateforme ; q="fonds de commerce" → 1 sans rapport. Preuve que
l'objet marche : Reprendre.cc a publié le 01/08 un index BODACC → 1 149 vues et 28 téléchargements en un mois —
et leur jeu porte les annonces, le nôtre porte les montants. Bonus vérifié : data.europa.eu moissonne les
jeux data.gouv (pas les réutilisations) en conservant landing_page et access_url — donc une ressource déclarée
en URL distante vers emetexpertise.fr récupère mécaniquement une page europa.eu. → L216.
Et pendant qu'on ne réclamait pas notre place, on nous l'a prise : la veille primaute.mjs, posée avant-hier, a
détecté 2 réutilisations tierces nouvelles en 24 h, dont un « Baromètre BODACC des procédures collectives en
France » publié le 03/09 à 13:22 — exactement notre terrain. Le 01/09, un cabinet conseil data avait déjà doublé
notre observatoire des délais de paiement. Le canal n'est pas vierge, il est en train d'être occupé.
🔷 Le recadrage : sur Emet, le SEO n'est pas le goulot, et il faut le dire au client avant qu'il le découvre
Le calcul, hypothèses écrites : cluster local 150-400 recherches/mois × part de clics accessible en position 3 (6-8 %, car le pack prend 40-50 % et 7 des 13 résultats du top 25 sont des annuaires) × conversion 4 % = 0,4 à 1,1 contact/mois depuis le site. Canal fiche au plafond : 3 à 6/mois. Plafond total : 4 à 7 contacts par mois, contre ~63 pour l'objectif d'Avi (« 3 appels par jour »). Le référencement local couvre 6 à 11 % de son objectif, le site 0,6 à 1,7 %, et pas avant l'été 2027.
Mais l'autre moitié doit être dite dans la même phrase, et elle corrige notre propre mémoire. L098 conclut que le local « rend moins qu'il ne coûte » — en valorisant un client sur 12 mois. Or un client de cabinet est une rente : honoraires 1 500-2 500 €/an, rétention 5-7 ans, LTV 9 000 à 15 000 €. Au plafond : 60 contacts/an × 15-25 % de closing = 9 à 15 clients/an = 13 500 à 37 500 € d'honoraires récurrents contre 6 000 € de retainer, remboursé à la 2ᵉ-4ᵉ signature. Les deux énoncés sont vrais ensemble, et personne n'a jamais dit ni l'un ni l'autre à Avi. → L231.
🔷 Les désaccords que j'ai tranchés
- Contrarian : « le compteur de conversion de Genius Prep est muet depuis le 28/08 » — RÉFUTÉ par moi.
J'ai rejoué la requête PocketBase : le 04/09 porte
book_cta ×6etpricing ×4. Le compteur fonctionne. Ce qui reste vrai et que je garde :phonen'a plus tiré depuis le 28/08 (7 jours, mais 26 % de probabilité sous le régime d'août — non concluant), et surtoutleads-watch.mjsne contient aucune occurrence deconversion_events(vérifié). Le problème n'est pas une panne en cours, c'est qu'aucune alarme ne sonnerait s'il y en avait une — sur le seul contrat facturé au lead, qui a déjà connu deux pannes trouvées par accident. → L230. - CRO : « n'optimisez pas le formulaire d'Emet » contre les autres angles qui veulent y travailler. Le CRO a raison, et l'argument est statistique (§3) : sous 59 clics, on optimise du bruit. Sur Emet le levier mesurable est impression → clic, et il est en SERP, pas sur la page.
- Contrarian : « le SEO n'est pas le bon levier sur Emet » contre Local : « validez la fiche maintenant ». Ils ne s'opposent pas, ils convergent : le levier d'Emet, c'est la fiche (80 % du plafond), pas le site.
- L'angle netlinking a repris de mon brief l'idée qu'
/expert-comptable-sarcellesserait « la page dédiée 20 places derrière ». C'est mon erreur, corrigée ci-dessous (§11). Sa conclusion — ne jamais pointer un lien acquis sur une page géographique — tient malgré la prémisse fausse, et pour une meilleure raison : les liens.gouv.frsont non reproductibles. → L233.
🟢 NOUS, MAINTENANT (aucune dépendance)
| # | Geste | Impact | ID |
|---|---|---|---|
| 1 | id="contact-field" sur l'input + htmlFor correspondant + aria-label (ne PAS toucher l'id de la section) |
défaut à taux inconnu sur 100 % du flux facturé | L218 |
| 2 | Créer /book (formulaire au-dessus de la ligne de flottaison) et y router les 33 href="/#contact" ; réserver la hauteur des images de la home |
45 clics de réservation mesurés dont ~42 % mobile atterrissaient dans le vide | L219 |
| 3 | Publier les 5 jeux de données + 1 dataservice sous l'organisation data.gouv d'Emet, ressources en URL distante | 1 → 6-11 objets .gouv.fr à notre nom, + syndication europa.eu |
L216 |
| 4 | /shsat-registration (source : le handbook DOE, déjà notre meilleure page à pos 6,7) |
51 impressions à pos 30 → pos 8-12, sur l'intention la plus proche de l'achat. La fenêtre se referme en octobre | L221 |
| 5 | Pages Hoboken (SAT + ACT) et /sat-prep/upper-west-side via neighborhoods.ts |
160 impressions déplacées de pos ~55 à pos ~15 | L220 |
| 6 | device dans gsc.mjs + dénominateur dans leads.mjs + alarme de silence par type d'événement dans leads-watch.mjs |
trois capteurs qui mentent aujourd'hui par omission | L229/L228/L230 |
| 7 | Remplir « Zones desservies » et les champs vides de la fiche GBP Genius Prep (on est admin depuis le 26/08, jamais touché un champ) | seul levier disponible sur les requêtes à position 40+ | L227 |
🔵 CHANTIER D'ACTIF
| # | Geste | Pourquoi il passe le filtre | ID |
|---|---|---|---|
| 8 | /tools/lottery-number — le décodeur du numéro de loterie MySchools. Le parent colle ses 32 caractères hexadécimaux, on rend le percentile exact, on explique que le numéro ne joue aucun rôle sur les specialized high schools — dont l'admission est au seul score SHSAT, c'est-à-dire exactement ce que Genius Prep vend. |
(a) L'incumbent est gregstutoringnyc.com, un cabinet de tutorat de quartier : la seule requête du dossier où le tenant est plus petit que nous. (b) Google Suggest complète en « lottery number chart » — les parents demandent eux-mêmes un calcul. (c) On stocke les 2 premiers hex + horodatage → « la distribution réelle des numéros de N familles », que ni le DOE ni Chalkbeat ne détiennent. Maintenance récurrente : zéro (arithmétique, aucun barème, aucun millésime). Fenêtre : les numéros sortent en octobre-décembre. |
L222 |
| 9 | Page hub /tools (aujourd'hui 404) + ligne agrégée « préfixe /tools/ » dans kpi-pages.mjs à J+30 |
24 des 75 URLs du sitemap sont des URLs d'outil — un tiers du site est un logiciel et il n'existe aucune page citable qui les liste. Un forum de parents linke la page qui liste, pas un calculateur isolé. | L223 |
🟡 À FAIRE APRÈS (dépend de 3 et 8)
- Les 4 fiches de réutilisation manquantes, par densité croissante : délais de paiement 2025+2024+2023 (1 par
millésime) → REI DGFiP (8, dont 4 en 30 jours) → BODACC (49) → DVF géolocalisées (131). Et en rattachement
multiple : notre unique fiche porte
datasets: ['BODACC'], un seul, quand les 20 dernières publiées en attachent 3 à 5. → L217 - Ouvrir 5 discussions publiques data.gouv auprès de Verney, Firmio, Auregistre, Sirélium, Khalizov — tous
producteurs de contenu data actifs à moins de 30 jours, tous sans recouvrement commercial avec un cabinet.
primaute.mjsa été écrit pour s'inquiéter ; il produit une liste de prospection. → L234
🔴 DÉPEND DU CLIENT
- Nathan — la vidéo de validation GBP, refaite avec le bon plan de tournage : une seule prise, rue (plaque + n° 4 lisibles) → entrée → bureau → preuve d'activité → courrier au nom d'EMET EXPERTISE + clés. Il avait filmé depuis le 4ᵉ étage. Ordre impératif : validation → accès gestionnaire → réponses aux avis. Envoyer le message d'accès d'abord, c'est inverser la chaîne et consommer une interaction pour rien. → L226
- Nathan — la fiche de l'Ordre, requalifiée : voir §11.
- Lance — les contacts téléphone que le contrat ne facture pas (L187) et les photos du local (L136, 5 jours).
10. 🕳️ Angles morts
- DataForSEO à sec (solde −0,009 $) : aucune SERP live, donc aucune mesure de concurrence directe, sur aucun des deux sites. C'est le seul chapitre de ce rapport qui est vide.
- Fiche GBP d'Emet non validée depuis 66 jours : le canal qui porte 80 % du plafond du compte n'est pas mesuré et pas pilotable.
- Quota API Business Profile = 0 (L075, 9 jours) : les stats de fiche restent manuelles.
- Aucune donnée GSC d'une année sur l'autre : la série de Genius Prep ne remonte qu'à mars 2026 (156 points). La saisonnalité que nous invoquons est déduite du calendrier officiel des examens, pas de nos chiffres.
- 68 % des impressions de Genius Prep sont anonymisées par Google (1 063 requêtes nommées couvrant 6 223 des 19 532). La cohorte n'en suit que 2,5 %.
- Backlinks : nous ≈ 0. Le seul lien dofollow
.gouv.frdu dossier vient de l'unique fiche de réutilisation.
11. 🔁 Depuis le dernier rapport — et trois choses que j'ai eues fausses aujourd'hui
Ce qui a marché. La consolidation locale du 30/08 sur Emet : la cohorte passe de 0/9 à 1/9 en top 10 et de 1/9 à
4/9 en top 20, expert comptable sarcelles gagne 7,7 places sur la baseline. Le capteur primaute.mjs, posé
avant-hier, a attrapé un concurrent en moins de 24 h — il valait la peine d'être écrit.
Trois erreurs à moi, corrigées avant d'être livrées :
- J'ai écrit dans le brief du panel que
/expert-comptable-sarcellesétait « la page dédiée, 20 places derrière/contact». Faux : c'est un 301 vers/contactdepuis le 30/08. La consolidation a été faite, et bien faite —/contactporte le title « Expert-comptable à Sarcelles (95) et Val-d'Oise », un H1 cohérent, 1 756 mots et 75 occurrences de « Sarcelles ». Les 166 impressions encore attribuées à l'ancienne URL sont un signal mourant. Rien à réparer : c'est un pari à relire dans 3 semaines — les impressions de l'ancienne URL doivent migrer vers/contact, pas disparaître. Cinq agents sur six ont hérité de mon erreur. - J'ai failli déclarer que les 24 pages
/tools/*de Genius Prep « ne captent rien ». Elles sont en ligne depuis le 02-03/09. Leur zéro est arithmétique, pas un défaut — exactement le piège de/ssat-prepla semaine dernière. - Mon
grepsur le JSON-LD de l'annuaire de l'Ordre est revenu vide et j'ai failli en conclure que l'agent avait tort. Le JSON est pretty-printed : mon motif"telephone":"ne matchait pas"telephone": ". L'agent avait raison, et le fait est important — voir ci-dessous.
Et une correction du registre lui-même. L188 affirmait que les deux fiches de l'annuaire de l'Ordre sont
« vides ». Elles ne le sont pas : elles publient un QUATRIÈME numéro de téléphone, 07 70 38 62 16, le même sur
Emet #40250 et sur Metral Conseil #39865. On passe de deux numéros en conflit à quatre : le 01 89 du site
(32 pages, tous les CTA), le 01 75 de la fiche Google (source inconnue), le 07 70 de l'Ordre, et le 07 81 d'Avi sur
/cabinet. Aggravant vérifié : emetexpertise.fr n'apparaît nulle part dans le HTML de la fiche 40250, alors
que company.ts déclare cette URL en orgSameAs et que le header la sert sur 32 pages. On dit à Google « cette
page, c'est nous » — et cette page donne un autre téléphone, depuis un .org d'autorité professionnelle. Rempli-faux
est strictement pire que vide. → L224
12. 🎬 RECOMMANDATIONS CONCRÈTES
✅ Je fais maintenant, sans toi (6 actions)
- Réparer le
iden double et l'ancre mobile de Genius Prep —Contact.tsx+ page/book+ 33href· ⏱ ~1 j · 🎯 le formulaire facturé cesse de perdre ses visiteurs mobiles. - Publier les 5 jeux de données + 1 dataservice sur data.gouv sous l'organisation Emet · ⏱ ~2 h · 🎯 on passe de 1 à 6-11 pages
.gouv.frà notre nom, plus une page europa.eu par syndication. - Écrire
/shsat-registration· ⏱ ~1 j · 🎯 51 impressions à position 30 récupérées avant la fermeture de la fenêtre d'inscription en octobre. - Créer les pages Hoboken (SAT + ACT) et
/sat-prep/upper-west-side· ⏱ ~1 j · 🎯 86 impressions sur un mot qui n'existe pas une seule fois dans le dépôt. - Réparer les trois capteurs qui mentent par omission —
devicedansgsc.mjs, dénominateur dansleads.mjs, alarme de silence dansleads-watch.mjs· ⏱ ~2 h · 🎯 on arrête de mettre « 0 lead » dans un rapport client sans dire « sur 9 clics ». - Remplir les champs vides de la fiche GBP de Genius Prep (zones desservies en premier) · ⏱ ~30 min · 🎯 le seul levier disponible sur les requêtes à position 40+.
🙋 J'ai besoin de toi (4 décisions)
- Tu composes les trois numéros — 01 89 52 15 14, 01 75 94 65 69, 07 70 38 62 16 — et tu me dis qui décroche ? → oui / non. Ma reco : oui, aujourd'hui. Trois appels closent six lignes du registre (L026, L027, L107, L116, L121, L188) qu'on attend depuis 16 jours. On a traité ça comme une information manquante ; c'est un geste que personne n'a posé.
- Le chantier d'actif de septembre :
/tools/lottery-number(Genius Prep) ou le calculateur de pénalités de retard (Emet) ? → A / B. Ma reco : A, parce que la fenêtre est datée (les numéros sortent en octobre), que la maintenance récurrente est nulle, et que c'est la seule requête du portefeuille où le tenant de la place est plus petit que nous. - Tu réponds à Avi aujourd'hui sur les avis ? → oui / non. Ma reco : oui, et par ce qu'on peut réellement livrer — on n'est pas gestionnaire de la fiche, donc le livrable n'est pas « je réponds » mais « voici les 6 réponses rédigées, prêtes à coller ». Je te les écris.
- Au point du 14/09, tu poses le plafond chiffré (4-7 contacts/mois = 10 % de son objectif, ET retainer remboursé à la 2ᵉ signature) ? → oui / non. Ma reco : oui. Le risque sur ce compte n'est pas les 0 leads, c'est un écart d'attente jamais formulé — et notre propre mémoire (L098) porte la version pessimiste du calcul, faussée par un horizon de 12 mois sur une rente de 5 ans.
📤 À transmettre au client (3 messages)
Pour Nathan — la fiche de l'Ordre, qui n'est pas vide mais fausse (décision, pas débat) :
Nathan, on a trouvé un point à corriger sur ta fiche de l'annuaire de l'Ordre. Elle publie le 07 70 38 62 16 — sur Emet Expertise et sur Metral Conseil. Le site du cabinet, lui, affiche le 01 89 52 15 14 partout. Comme le site pointe vers ta fiche de l'Ordre comme preuve d'inscription sur ses 32 pages, Google va vérifier là-bas et y trouver un autre numéro : c'est un signal contre nous, et il vient d'une source officielle. Depuis extranet.experts-comptables.org (SSO Comptexpert, pas de mot de passe cabinet) : sur la fiche Emet Expertise 40250 seulement, mets le bon téléphone,
contact@emetexpertise.fr,https://emetexpertise.fret les horaires. On ne touche pas à Metral Conseil.Pour Nathan — la vidéo de validation Google, refaite dans le bon ordre :
Nathan, la validation vidéo échoue parce que la prise part du 4ᵉ étage. Google veut voir le chemin depuis la rue. En une seule prise, sans couper : commence dans la rue avec la plaque « Chemin des Poiriers » et le numéro 4 lisibles, entre dans le bâtiment sans arrêter, monte, filme la porte du bureau, un poste de travail, puis un courrier reçu ici au nom d'Emet Expertise et les clés. Pas de montage, pas de photos, pas de vidéo enregistrée avant — ça doit se filmer en direct depuis l'appli. Et surtout : ne redemande jamais un code par courrier, ça annule la vérification en cours.
Pour Avi — la réponse qu'il attend depuis le 02/09 :
Avi, pour les avis : je te les rédige tous les six, tu n'auras qu'à copier-coller. Un détail technique par contre — répondre à un avis n'est possible que depuis une fiche validée, et la vôtre est encore en attente. Donc l'ordre c'est : Nathan refait la vidéo (je lui envoie le plan exact), la fiche passe, et là je te donne les six réponses d'un coup. Sur ta relance des clients qui n'ont pas encore laissé d'avis : continue, c'est exactement le bon rythme, 1 à 2 par semaine.
Enchaînement : je peux lancer ✅ 1 à 6 maintenant (~3 jours, agence seule, zéro dépendance). Les trois appels de 🙋 1 débloquent à eux seuls six lignes du registre.
Rapport SEO — Genius Prep · 14/08/2026
Rapport SEO — Genius Prep · 14/08/2026
⏸️ SITE EN PAUSE — pas de travail actif. Monitoring passif uniquement.
⚡ VERDICT
Site sain (audit 91, CWV 96, 0 page cassée) MAIS le monitoring GSC est mort : le conteneur wizytics
est arrêté depuis ~10 jours → plus aucune donnée clics/impressions (le pull passe par
docker exec wizytics). Le cron quotidien échoue probablement en silence depuis.
Données
- GSC : ❌ indisponible (wizytics down). Dernier snapshot :
sites/geniusprep/gsc/(à vérifier). - Audit : 91/100 (9 low). CWV : perf 96, LCP 2,55 s. Dead pages : RAS.
- GEO : pas de llms.txt (low, site en pause — pas d'action).
- Alertes Google : mail « Performances juillet » (04/08, informatif) ; « page avec redirection » (28/07, bénin).
Reco
Une seule décision à prendre : relancer wizytics (docker start wizytics pocketbase-wizytics) pour
garder l'historique GSC de geniusprep, ou basculer geniusprep en service account JWT comme emet et se
passer de wizytics. Tant que rien n'est décidé, le trou de données s'agrandit (la GSC API ne remonte que
~16 mois).
Genius Prep — plan ranking /isee-prep + /shsat-prep (2026-06-26)
Genius Prep — plan ranking /isee-prep + /shsat-prep (2026-06-26)
Verified the contested numbers against the live audit. Here is the synthesized plan.
PLAN D'ACTION PRIORISÉ — /isee-prep & /shsat-prep → page 1 (Genius Prep)
Diagnostic en 1 phrase par page (vérifié)
- /isee-prep (pos ~19.6) : sous-maillée éditorialement (23 liens vs 35 pour shsat, 51 pour sat — confirmé live via
audit-links.py) + cannibalisée par 7 quasi-dups « ISEE vs SSAT » + contenu factuellement mince (prose marketing, peu de chiffres durs). C'est la page au plus fort potentiel de gain. - /shsat-prep (pos
12.1) : maillage et schéma déjà bons, mais **page la plus mince des 4 piliers (1013 mots** vs 1451 isee / 1440 sat / 1711 act) — il lui manque les assets informationnels (table de cutoffs, calendrier, profondeur format/stratégie) que portent les résultats page 1.
Les 4 analyses convergent : titres/metas = ne pas toucher (CTR-tunés). Le levier = rang (maillage + profondeur + autorité/preuve).
1. MAILLAGE INTERNE — ✅ SAFE, levier sûr et rapide (déployer en premier après feu vert Ichai)
Tout est additif (aucune suppression, ne touche ni titres ni metas). Les liens éditoriaux vivent dans PocketBase (blog_posts.body), pas dans le repo. Liste précise, par ordre d'impact :
| # | Article source | Action | Ancre cible → page | Impact/Effort | Statut |
|---|---|---|---|---|---|
| M1 | isee-vs-ssat-nyc-private-schools-2026 |
Ajouter 1 lien (actuellement 0 lien vers /isee-prep — VÉRIFIÉ, alors qu'il a 68 mentions ISEE/SSAT et lie déjà /shsat-prep) | « ISEE & SSAT prep » ou « notre programme de prép ISEE » → /isee-prep | ÉLEVÉ / TRÈS FAIBLE | Le miss le plus net du site |
| M2 | isee-ssat-prep-nyc-parent-guide |
Ré-ancrer / ajouter un lien inline (le lien existant utilise l'ancre vide de sens « diagnostic session ($150) ») | « ISEE prep » → /isee-prep | ÉLEVÉ / FAIBLE | Ancre gaspillée |
| M3 | isee-vs-ssat-nyc-parents-guide |
Ré-ancrer l'ancre « GeniusPrep uses with ISEE students » | « ISEE prep pour écoles privées NYC » → /isee-prep | MOYEN / FAIBLE | Ancre faible |
| M4 | Cluster ISEE (tous les articles isee-*/*-ssat-*) |
Diversifier les ancres descriptives (« ISEE prep », « ISEE & SSAT prep », « préparation ISEE écoles privées NYC ») — sans sur-optimiser l'exact-match (le footer sitewide pose déjà beaucoup de « ISEE & SSAT Prep ») | variées → /isee-prep | MOYEN / FAIBLE | Normalisation |
| M5 | Automatisation existante | Lancer scripts/densify-links.py (les ISEE_TAGS ciblent déjà ISEE) pour porter /isee-prep de 23 → ~30-35, à parité avec shsat |
deep anchors → /isee-prep | MOYEN / FAIBLE (script existe) | Idempotent |
À NE PAS faire (risque de sur-maillage) : ajouter des liens /shsat-prep depuis digital-sat-math-nyc-read-method, nyc-digital-sat-reading-writing-strategies, act-classes-nyc-options-guide — mentions SHSAT incidentes dans des articles SAT/ACT. SHSAT est déjà sain (35 liens).
⚠️ Caveats déploiement :
densify-links.pyetaudit-links.pyécrivent/lisent surpb-geniusprep.wizycode.fr(ancien domaine, fonctionne — audit OK), alors que le site sert le blog depuis PocketBase aussi. Vérifier qu'on patche la bonne instance avant un run massif. Le script écrit body PocketBase +content/blog/*.mdx(mais les .mdx ne sont pas servis —blog.tsne lit que PocketBase, donc inoffensif). M1-M3 sont assez ciblés pour être faits à la main, plus sûr qu'un run global.
2. ON-PAGE — améliorations contenu/structure/schema (additif, ne casse pas les titres CTR-tuned) — ⚠️ valider avec Ichai (faible risque de régression, mais c'est du contenu)
/isee-prep — fichier src/app/isee-prep/page.tsx
| # | Action | Impact/Effort |
|---|---|---|
| I1 | Réécrire « What is the ISEE? » avec des faits durs : nb de questions + timing par section, durée totale, scoring (scaled 760-940, percentiles, stanines 1-9). Aligner sur la densité factuelle de la page SHSAT (qui ranke mieux). | ÉLEVÉ / FAIBLE ← fastest win on-page |
| I2 | Ajouter une vraie section SSAT dédiée (niveaux Elementary/Middle/Upper, sections, analogies, scoring percentile 1-99, guessing penalty, writing sample). La page paie déjà pour les mots-clés SSAT mais la substance est mince (SSAT=25 mentions, mais analogies=1, Elementary=0). |
ÉLEVÉ / MOYEN |
| I3 | Table « score-cible par école » (stanine visé pour les 10 écoles : Dalton, Trinity, Brearley…) — fusionne les mots-clés écoles avec l'intention scoring sur la money page. | ÉLEVÉ / MOYEN |
| I4 | Section ISEE test-dates / inscription (fenêtres de test, deadlines ERB, at-home vs test-center, calendrier). Intention « ISEE test dates NYC » non couverte (registration=0). |
MOYEN / FAIBLE |
/shsat-prep — fichier src/app/shsat-prep/page.tsx
| # | Action | Impact/Effort |
|---|---|---|
| S1 | Section « SHSAT Cutoff Scores by School » avec vraie <table> (Stuyvesant → Bronx Sci → Brooklyn Tech…, fourchettes historiques + caveat « varie chaque année »). Featured-snippet bait n°1, données partiellement déjà dans schools.ts. |
ÉLEVÉ / FAIBLE-MOYEN |
| S2 | Section « SHSAT Timeline & Key Dates » (fenêtre d'inscription, test fin oct/début nov, résultats mars, inscription via counselor). | ÉLEVÉ / FAIBLE |
| S3 | Étendre « Our SHSAT Prep Program » en « What We Cover » avec breakdown par section/type de question/domaine Math (calquer le pattern « (N questions) » de la page ACT). Comble le gap de ~430 mots. | ÉLEVÉ / MOYEN |
| S4 | Bloc « Why Choose GeniusPrep » (E-E-A-T, parité avec sat/act). | MOYEN / MOYEN |
| S5 | Bloc « Success Stories / Score Gains » on-page (réutiliser l'article shsat-success-stories-nyc-families qui existe). |
MOYEN / MOYEN |
Les DEUX pages — parité, assets déjà codés, juste à monter (gros ROI)
| # | Action | Impact/Effort |
|---|---|---|
| B1 | Monter <Testimonials/> + <TrustBar/> sur /isee-prep et /shsat-prep (composants existants src/components/sections/, utilisés home-only). E-E-A-T + conversion. |
ÉLEVÉ / FAIBLE |
| B2 | Câbler le schéma AggregateRating/Review depuis src/lib/reviews.ts dans le node Service JSON-LD → éligibilité étoiles SERP + CTR. |
MOYEN / FAIBLE |
⚠️ B2 — garde-fou Google :
reviews.tsne contient que ~3 avis 5★. Le balisageAggregateRatingdoit refléter de vrais avis affichés sur la page (sinon risque de pénalité/manuel action). À déployer avec B1 (les avis deviennent visibles) et seulement si les avis sont authentiques. À valider par Ichai.
3. CONTENU / AUTORITÉ — nouveau contenu ou off-page — ⚠️⚠️ nécessite décisions + données réelles d'Ichai
| # | Action | Impact/Effort | Note |
|---|---|---|---|
| C1 | Dé-cannibaliser les 7 quasi-dups « ISEE vs SSAT » : choisir 1 pillar canonique, ajouter les 6 autres à NOINDEX_SLUGS (src/lib/blog.ts:36, follow=true, mécanisme déjà en place — le cluster SAT a déjà reçu ce traitement ; sitemap filtre sur ce tableau), consolider leurs liens internes vers le gagnant + /isee-prep. |
ÉLEVÉ / MOYEN | Probablement le plus gros frein au rang de /isee-prep, plus que le nombre brut de liens. Ichai doit désigner le canonique. |
| C2 | Bandeau de résultats chiffrés en haut des 2 pages (« X élèves admis à Stuyvesant/Trinity », taux d'offre). C'est le levier que TOUS les top rankers exploitent (Ivy Tutors « 84% reçoivent une offre », NYC STEM Club « >80% », Khan's « 4 725 placés »). | ÉLEVÉ / MOYEN | Chiffres réels validés client — ne pas inventer. |
| C3 | Bloc credentials tuteurs (anciens de specialized HS / Ivy League). Différenciateur fort, surtout SHSAT. | MOYEN / MOYEN | Bios réelles requises. |
| C4 | Lead magnet gratuit (« Free ISEE practice test » / « Free SHSAT diagnostic ») — geniusprep n'offre qu'un diagnostic payant $150, les concurrents rankent en partie sur le gratuit. Capte le haut de funnel + génère des liens. | MOYEN / ÉLEVÉ | Nouveau contenu à produire. |
| C5 | Autorité off-page : accumuler de vrais avis Google + quelques backlinks éditoriaux. Concurrents à 4.9★/centaines d'avis + 20-30 ans d'historique. | ÉLEVÉ / ÉLEVÉ | Le facteur durable que le on-page seul ne compense pas. Long terme. |
Les 7 dups ISEE à arbitrer (C1) : isee-ssat-nyc-private-school-admissions-guide, isee-vs-ssat-nyc-parents-guide, isee-vs-ssat-nyc-private-school-admissions, isee-vs-ssat-nyc-private-school-admissions-guide, isee-vs-ssat-nyc-private-schools-2026, nyc-isee-ssat-private-school-prep-guide, isee-ssat-prep-nyc-parent-guide. (Candidat canonique le plus fort à valider : isee-prep-nyc-private-school-admissions-guide, catégorie nyc-education, déjà 2 liens sortants vers /isee-prep — distinct des 7 parent-guides.)
Séquence recommandée (par ROI décroissant)
Cette semaine — quick wins, faible risque :
- M1 + M2 + M3 (maillage ISEE manuel ciblé) — SAFE, 30 min, levier le plus sûr.
- I1 (faits durs ISEE) + S1 + S2 (table cutoffs + calendrier SHSAT) — meilleur impact on-page/effort.
- B1 (Testimonials/TrustBar sur les 2 pages) — assets déjà codés.
Sprint suivant — fond, plus fort ROI structurel :
4. C1 (dé-cannibalisation ISEE) — décision Ichai sur le canonique, puis NOINDEX_SLUGS.
5. I2, I3, S3 (sections de profondeur) + B2 (schema Review, avec B1).
6. M5 (densify-links run) pour finaliser le maillage ISEE à ~30+.
Plus tard — autorité (le vrai plafond) : 7. C2/C3 (preuve chiffrée + credentials, données réelles) puis C4/C5 (lead magnet, avis Google, backlinks).
Verdict : le rang de /isee-prep est plafonné par 3 choses cumulées — sous-maillage (23 vs 35), cannibalisation (7 dups), thinness factuelle ; traiter M1-M5 + C1 + I1 devrait le sortir de page 2. /shsat-prep est à ~12 et proche : S1-S3 (combler les ~430 mots manquants + table cutoffs snippet-bait) suffisent probablement à le pousser en page 1 sans toucher au reste. Tout est additif — zéro risque sur les titres/metas CTR-tunés. Le seul plafond non adressable par le contenu = l'autorité off-page (C5).
Fichiers clés : /root/apps/geniusprep/src/app/isee-prep/page.tsx, /root/apps/geniusprep/src/app/shsat-prep/page.tsx, /root/apps/geniusprep/src/lib/blog.ts (NOINDEX_SLUGS ligne 36), /root/apps/geniusprep/src/lib/schools.ts, /root/apps/geniusprep/src/lib/reviews.ts, /root/apps/geniusprep/src/components/sections/{Testimonials,TrustBar}.tsx, /root/apps/geniusprep/scripts/densify-links.py, /root/apps/geniusprep/scripts/audit-links.py. (Rien modifié.)
Genius Prep — Ce qui manque (audit vérifié multi-agents, 2026-06-25)
Genius Prep — Ce qui manque (audit vérifié multi-agents, 2026-06-25)
Croisé code + live par 2 agents. Technique = 90/100, schema complet, maillage interne fort, robots/sitemap OK (51 URLs). Pas de défaut critique. Les gaps sont surtout contenu/stratégie. ⚠️ Un autre Claude est actif sur
/root/apps/geniusprep→ coordonner, ne pas déployer dessous.
P1 — Fort impact
- Cannibalisation ISEE/SSAT : 6 articles quasi-identiques (« ISEE vs SSAT NYC ») publiés en 10 j, tous indexés, se cannibalisent + concurrencent
/isee-prep. → consolider en 1 article pilier + 301 des 5 autres (mécanismeNOINDEX_SLUGS+ redirectsnext.config.tsdéjà en place). - E-E-A-T — aucun auteur nommé : 31 articles signés « GeniusPrep Team »,
/aboutsans personne réelle. La branchePersondu schema ne se déclenche jamais. YMYL (éducation/admissions) → créer 2-4 profils tuteurs nommés (diplômes, écoles, Person schema) + bylines réelles.
P2 — Architecture & couverture
- Money pages absentes du header (
Nav.tsx: About / Services#ancre / Pricing / Blog / Contact). Les 4 piliers/sat-prep /act-prep /shsat-prep /isee-prepne reçoivent aucun lien du nav sitewide. → menu déroulant « Test Prep ». - Money pages manquantes (routes inexistantes, vérifié) :
/regents-prep(gros volume NYC ; des redirects mappent même d'anciennes URLs Regents →/sat-prep= mismatch d'intention),/ssat-prepdédiée (noyée dans ISEE), G&T / OLSAT (article existe, pas de page service),/ap-prep, college admissions/counseling, tutorat par matière / homework help. - (medium tech) 15 pages écoles sans
og:image/twitter:image→ carte sociale vide au partage. Fix unique danssrc/lib/school-metadata.ts(openGraph.images/twitter.images).
P3 — Finitions
- Pages écoles incomplètes : SHSAT 4/8 (manquent Brooklyn Latin, HSMSE, HSAS@Lehman, Queens HS Sciences) ; ISEE sans Collegiate, Spence, Chapin, Riverdale, Fieldston, etc.
- Titles > 65c :
/sat-prep69,/act-prep70,/isee-prep70 (suffixe « | GeniusPrep »). Meta desc > 160c : 9 pages, pire/isee-prep199. - Lien interne périmé :
src/app/sat-prep/page.tsx:943→/blog/nyc-digital-sat-2026-prep-guide(308 →…read-method). Repointer. - Sitemap
lastmodfigé au boot conteneur (sitemap.tsSTATIC_LAST_MODIFIED = new Date()au module-load). Dériver d'un vrai timestamp contenu/git. - Brotli absent au NPM (gzip-6) — choix assumé (
SEO_TRACKING.md §10).
Idées d'articles (gaps réels, non couverts par les 31 existants)
Regents (cluster absent), college admissions (timeline, good SAT score, PSAT/National Merit), scores & mécaniques (SHSAT cutoffs by school, percentiles/stanines, digital SAT adaptive), G&T (OLSAT/NNAT), calendriers NYC (ISEE/SSAT dates ISAAGNY), comparatifs (AP vs SAT, financial aid). NE PAS refaire un « ISEE vs SSAT ».
Carte de déploiement (pour un futur agent)
Next.js 16 standalone → Docker multi-stage → container geniusprep:3000 (net proxy) + pocketbase-geniusprep. Deploy manuel (pas de CI) : cd /root/apps/geniusprep && docker compose up -d --build. NPM proxy_host/254.conf (apex+www, HTTP/2). Blog = ISR depuis PocketBase (articles publiés sans rebuild). Fichiers clés : next.config.ts, src/app/sitemap.ts+robots.ts, layout.tsx, src/lib/school-metadata.ts, src/components/SchoolPage.tsx, src/app/blog/[slug]/page.tsx.