Site · next-pb

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
Search Console · 28d

Performance

Jul 3Jul 31
Clicks
168
+0.6%vs prev snapshot
Impressions
16.9K
+0.4%
CTR
1.0%
0.0%
Avg position
14.6
+0.7%lower is better
ClicksImpressions33 snapshots
Demand

Top queries

12 shown
QueryClicksImprCTRPos
genius prep153839.5%1.8
shsat handbooks2454.4%2.9
isee test dates1195.3%14.4
shsat 20261303.3%14.8
shsat handbook 20261352.9%5.9
shsat test date 20261128.3%3.7
( test stg 2.6.2 ) and ( or brooklyn )030.0%11.7
1 on 1 sat tutoring020.0%44.0
1 on 1 sat tutoring near me040.0%50.8
1 prep sat020.0%25.5
1-on-1 act tutoring070.0%40.3
1-on-1 sat tutoring090.0%40.4
Audit · Aug 24

Technical audit

no blockers
91/ 100
Health score
25 pages crawled
robots.txt200
sitemap46 urls
blockers0
findings9
0Critical0High0Medium9Low0Info
Crawl detail

Crawled pages

PageStatusIdxTitleDescSchema
/200651536
/blog200671584
/200651536
/sat-prep200611547
/act-prep200621527
/shsat-prep200601467
/isee-prep200651557
/about200601426
/pricing200591555
/faq200641515
/privacy-policy200591403
/terms200561573
/shsat-prep/stuyvesant200491537
/shsat-prep/bronx-science200521597
/shsat-prep/brooklyn-tech200521527
/shsat-prep/staten-island-tech200571557
/isee-prep/dalton200511627
/isee-prep/trinity200521657
/isee-prep/horace-mann200491637
/isee-prep/brearley200571617
/sat-prep/stuyvesant200541717
/sat-prep/bronx-science200571567
/sat-prep/trinity200581637
/sat-prep/dalton200571627
/act-prep/stuyvesant200541777
Backlog · 2026-08-14

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).

Backlog · 2026-06-26

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.py et audit-links.py écrivent/lisent sur pb-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 servisblog.ts ne 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.ts ne contient que ~3 avis 5★. Le balisage AggregateRating doit 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 :

  1. M1 + M2 + M3 (maillage ISEE manuel ciblé) — SAFE, 30 min, levier le plus sûr.
  2. I1 (faits durs ISEE) + S1 + S2 (table cutoffs + calendrier SHSAT) — meilleur impact on-page/effort.
  3. 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é.)

Backlog · 2026-06-25

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écanisme NOINDEX_SLUGS + redirects next.config.ts déjà en place).
  • E-E-A-T — aucun auteur nommé : 31 articles signés « GeniusPrep Team », /about sans personne réelle. La branche Person du 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-prep ne 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-prep dé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 dans src/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-prep 69, /act-prep 70, /isee-prep 70 (suffixe « | GeniusPrep »). Meta desc > 160c : 9 pages, pire /isee-prep 199.
  • Lien interne périmé : src/app/sat-prep/page.tsx:943/blog/nyc-digital-sat-2026-prep-guide (308 → …read-method). Repointer.
  • Sitemap lastmod figé au boot conteneur (sitemap.ts STATIC_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.