Genius Prep
Search Console trend, technical audit, and prioritised backlog for geniusprep.com.
- Domain
- geniusprep.com
- GSC source
- wizytics
- Window
- 28d
- Audit
- 91/100
- Synced
- 22d ago
Performance
Top queries
| Query | Clicks | Impr | CTR | Pos |
|---|---|---|---|---|
| genius prep | 15 | 38 | 39.5% | 1.8 |
| shsat handbooks | 2 | 45 | 4.4% | 2.9 |
| isee test dates | 1 | 19 | 5.3% | 14.4 |
| shsat 2026 | 1 | 30 | 3.3% | 14.8 |
| shsat handbook 2026 | 1 | 35 | 2.9% | 5.9 |
| shsat test date 2026 | 1 | 12 | 8.3% | 3.7 |
| ( test stg 2.6.2 ) and ( or brooklyn ) | 0 | 3 | 0.0% | 11.7 |
| 1 on 1 sat tutoring | 0 | 2 | 0.0% | 44.0 |
| 1 on 1 sat tutoring near me | 0 | 4 | 0.0% | 50.8 |
| 1 prep sat | 0 | 2 | 0.0% | 25.5 |
| 1-on-1 act tutoring | 0 | 7 | 0.0% | 40.3 |
| 1-on-1 sat tutoring | 0 | 9 | 0.0% | 40.4 |
Top pages
Technical audit
- low
Title long (67 car., risque de troncature)
- low
Meta description longue (162 car.)
description_long/isee-prep/dalton - low
Meta description longue (165 car.)
description_long/isee-prep/trinity - low
Meta description longue (163 car.)
description_long/isee-prep/horace-mann - low
Meta description longue (161 car.)
description_long/isee-prep/brearley - low
Meta description longue (171 car.)
description_long/sat-prep/stuyvesant - low
Meta description longue (163 car.)
description_long/sat-prep/trinity - low
Meta description longue (162 car.)
description_long/sat-prep/dalton - low
Meta description longue (177 car.)
description_long/act-prep/stuyvesant
Crawled pages
| Page | Status | Idx | Title | Desc | Schema |
|---|---|---|---|---|---|
| / | 200 | 65 | 153 | 6 | |
| /blog | 200 | 67 | 158 | 4 | |
| / | 200 | 65 | 153 | 6 | |
| /sat-prep | 200 | 61 | 154 | 7 | |
| /act-prep | 200 | 62 | 152 | 7 | |
| /shsat-prep | 200 | 60 | 146 | 7 | |
| /isee-prep | 200 | 65 | 155 | 7 | |
| /about | 200 | 60 | 142 | 6 | |
| /pricing | 200 | 59 | 155 | 5 | |
| /faq | 200 | 64 | 151 | 5 | |
| /privacy-policy | 200 | 59 | 140 | 3 | |
| /terms | 200 | 56 | 157 | 3 | |
| /shsat-prep/stuyvesant | 200 | 49 | 153 | 7 | |
| /shsat-prep/bronx-science | 200 | 52 | 159 | 7 | |
| /shsat-prep/brooklyn-tech | 200 | 52 | 152 | 7 | |
| /shsat-prep/staten-island-tech | 200 | 57 | 155 | 7 | |
| /isee-prep/dalton | 200 | 51 | 162 | 7 | |
| /isee-prep/trinity | 200 | 52 | 165 | 7 | |
| /isee-prep/horace-mann | 200 | 49 | 163 | 7 | |
| /isee-prep/brearley | 200 | 57 | 161 | 7 | |
| /sat-prep/stuyvesant | 200 | 54 | 171 | 7 | |
| /sat-prep/bronx-science | 200 | 57 | 156 | 7 | |
| /sat-prep/trinity | 200 | 58 | 163 | 7 | |
| /sat-prep/dalton | 200 | 57 | 162 | 7 | |
| /act-prep/stuyvesant | 200 | 54 | 177 | 7 |
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.