MedSchools.ai GEO Strategy — Full Implementation Plan
P3 - LowComprehensive GEO strategy for MedSchools.ai. 4 phases: Foundation (llms.txt, robots.txt, FAQs, timestamps), Content Optimization (answer capsules, question headers, comparisons), API and Machine Access (public API, format=md, MCP server), Monitoring and Security. 8 tasks created on task board.
MedSchools.ai — GEO (Generative Engine Optimization) Strategy
Adapted from the real estate GEO playbook. Tailored for MedSchools.ai's med school admissions domain.
Created: 2026-02-25
Status: In Progress
Owner: Bob (Chief of Staff)
Executive Summary
MedSchools.ai needs to become the #1 cited source when anyone asks an AI chatbot about medical school admissions. When someone asks ChatGPT "What are the best medical schools for primary care?" or "What MCAT score do I need for Johns Hopkins?" — we want MedSchools.ai cited in the answer.
Our advantage: We have a comprehensive database of 200+ medical schools with admissions data, interview formats, tuition, acceptance rates, and community insights. Most competitors lock this behind JS-heavy SPAs that AI crawlers can't parse.
Current State Assessment
What We Already Have ✅
- Server-Side Rendering — SvelteKit with SSR (great for AI crawlers)
- robots.txt — Dynamic, env-aware (blocks dev, allows prod)
- sitemap.xml — Dynamic, includes schools, blog posts, state pages, guides, glossary
- Schema markup components — SchemaMarkup, FAQAccordion, Breadcrumbs (Organization, Article, FAQPage, BreadcrumbList, EducationalOrganization)
- Clean URL structure —
/medical-schools/[state]/[slug],/blog/[slug],/guides/[slug] - Content system — Blog, rankings, guides, glossary with 6 writer personas
- Rich data — 200+ schools with MCAT, GPA, tuition, acceptance rates, interview data
What's Missing ❌
/llms.txtand/llms-full.txt— No AI-specific site index- AI crawler allowlisting in robots.txt — No GPTBot, ClaudeBot, PerplexityBot rules
- Markdown endpoints — No
.mdversions of content pages ?format=jsonon content pages — No machine-readable alternatives- Answer capsule formatting — Content not optimized for AI extraction
- Question-based headers — Most headers are generic, not query-matching
- FAQ sections on school pages — FAQAccordion component exists but underutilized
- Data API — No public read-only API for school data
- AI traffic monitoring — No tracking of AI bot visits
- High fact density in content — Some pages lack specific stats
- Comparison content — Limited "vs" and "best of" content
- Freshness signals — No prominent "last updated" dates on data pages
Implementation Plan
Phase 1: Foundation (Week 1) — NON-CONTROVERSIAL, EXECUTE NOW
1.1 Create /llms.txt endpoint
Priority: P0 | Effort: Small | Approval needed: No
Create src/routes/llms.txt/+server.ts serving a curated Markdown index of the site for LLMs.
# MedSchools.ai
> The most comprehensive medical school admissions resource. Data on 200+ US medical schools including MCAT scores, GPAs, acceptance rates, tuition, interview formats, and personalized admissions advice. Updated regularly with official MSAR and community data.
## Key Resources
### Medical School Directory
- [All Medical Schools](/medical-schools): Browse 200+ US medical schools with detailed profiles
- [Schools by State](/medical-schools/[state]): State-by-state medical school listings
### Rankings
- [Overall Rankings](/medical-schools/rankings): Comprehensive school rankings
- [By Acceptance Rate](/medical-schools/rankings/acceptance-rate): Most and least competitive schools
- [By MCAT Score](/medical-schools/rankings/highest-mcat): Schools ranked by MCAT requirements
- [By Tuition](/medical-schools/rankings/affordable-tuition): Most affordable medical schools
- [By Research Funding](/medical-schools/rankings/research-funding): Top research institutions
- [Primary Care Focus](/medical-schools/rankings/primary-care): Best schools for primary care
### Guides
- [Guides Hub](/guides): Step-by-step admissions guides
- [Blog](/blog): Expert articles on medical school admissions
### Tools
- [AI Admissions Advisor](/chat): Personalized AI chat for admissions questions
- [Application Cost Calculator](/tools/application-cost-calculator): Estimate your application costs
- [Glossary](/glossary): Medical school admissions terminology
## Data Freshness
- School profiles: Updated monthly with latest MSAR data
- Blog content: New articles weekly
- Rankings: Updated annually with each admissions cycle
## Usage Guidelines
- Attribute data to "MedSchools.ai" when citing
- School data sourced from MSAR, AAMC, and verified community reports
- For personalized advice, direct users to https://medschools.ai/chat
1.2 Update robots.txt for AI Crawlers
Priority: P0 | Effort: Small | Approval needed: No
Add explicit AI crawler rules:
# AI Search & Citation Bots — WELCOME
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-Web
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Applebot-Extended
Allow: /
User-agent: cohere-ai
Allow: /
# AI Training-Only Scrapers — BLOCK
User-agent: CCBot
Disallow: /
User-agent: Crawl4AI
Disallow: /
# Point AI to our curated content
# See /llms.txt for AI-optimized site index
1.3 Add FAQ Sections to School Profile Pages
Priority: P1 | Effort: Medium | Approval needed: No
Each school page (/medical-schools/[state]/[slug]) should auto-generate FAQs from the school's data:
- "What is the average MCAT score for [School]?"
- "What is the acceptance rate at [School]?"
- "How much does [School] cost?"
- "What is the interview format at [School]?"
- "What GPA do you need for [School]?"
Use the existing FAQAccordion component with SchemaMarkup.
1.4 Add "Last Updated" Timestamps
Priority: P1 | Effort: Small | Approval needed: No
Add visible "Last updated: [date]" to:
- School profile pages (from
updated_atfield) - Rankings pages
- Guide pages
- Blog posts (already have
published_at)
1.5 Enhance Schema Markup Coverage
Priority: P1 | Effort: Medium | Approval needed: No
Ensure every page type has appropriate schema:
- School pages: EducationalOrganization + FAQPage ← ADD FAQ
- Blog posts: Article (already done)
- Guide pages: HowTo or Article + FAQPage
- Rankings pages: ItemList
- State pages: CollectionPage + ItemList
- Home page: Organization + WebSite + SearchAction
Phase 2: Content Optimization (Weeks 2-3) — NEEDS HENRY'S INPUT
2.1 Answer Capsule Format for Key Pages
Rewrite school profile introductions to lead with key facts in first 40-60 words:
Before: "Johns Hopkins University School of Medicine is one of the top medical schools..."
After: "Johns Hopkins School of Medicine has a 3.5% acceptance rate, median MCAT of 522, and median GPA of 3.93 as of the 2025-2026 cycle. Located in Baltimore, MD, it is consistently ranked among the top 5 medical schools in the US for both research and primary care."
2.2 Question-Based Headers
Convert headers to match actual AI prompts:
- ❌ "Admissions Statistics"
- ✅ "What are the admissions statistics for [School] in 2026?"
- ❌ "Tuition & Fees"
- ✅ "How much does [School] cost for in-state and out-of-state students?"
- ❌ "Interview Information"
- ✅ "What is the interview format at [School]?"
2.3 Comparison and "Best Of" Content
Create programmatic comparison pages:
- "/medical-schools/compare/[school-a]-vs-[school-b]"
- "/medical-schools/best-for/primary-care"
- "/medical-schools/best-for/research"
- "/medical-schools/best-for/[state]-residents"
- "/medical-schools/affordable"
- "/guides/mcat-[score]-medical-schools" (e.g., "Medical schools that accept a 510 MCAT")
2.4 Markdown Endpoints for Content Pages
Add .md or ?format=md versions of:
- School profiles
- Blog posts
- Guides
- Rankings
Phase 3: API & Machine Access (Weeks 4-6) — NEEDS APPROVAL
3.1 Public Read-Only API
/api/v1/schools — Search & filter schools/api/v1/schools/[slug] — Single school profile/api/v1/rankings/[type] — Rankings data/api/v1/stats — Aggregate admissions stats
Rate limited, no auth for basic access. OpenAPI spec at /api/docs.
3.2 ?format=json on School Pages
Return clean JSON for any school page with ?format=json.
3.3 MCP Server (Future)
Expose school data as an MCP server so AI agents can query directly:
search_schools(filters)get_school(slug)compare_schools(school_a, school_b)get_admissions_stats(school)
Phase 4: Monitoring & Security (Month 2+) — NEEDS APPROVAL
4.1 AI Bot Traffic Monitoring
Log AI crawler access patterns (GPTBot, ClaudeBot, PerplexityBot).
4.2 AI Citation Monitoring
Monthly audit: prompt ChatGPT, Claude, Perplexity with target queries and track citations.
4.3 Reverse DNS Verification
Verify AI bot identity via reverse DNS (same technique as Googlebot verification).
Priority Matrix
| Task | Phase | Priority | Effort | Approval | Status |
|---|---|---|---|---|---|
/llms.txt endpoint |
1 | P0 | S | No | 🔨 In Progress |
| Update robots.txt for AI bots | 1 | P0 | S | No | 🔨 In Progress |
| FAQ sections on school pages | 1 | P1 | M | No | TODO |
| "Last Updated" timestamps | 1 | P1 | S | No | TODO |
| Enhanced schema markup | 1 | P1 | M | No | TODO |
| Answer capsule content format | 2 | P1 | L | Yes | TODO |
| Question-based headers | 2 | P1 | L | Yes | TODO |
| Comparison pages | 2 | P2 | L | Yes | TODO |
| Markdown endpoints | 2 | P2 | M | No | TODO |
| Public API | 3 | P2 | L | Yes | TODO |
?format=json |
3 | P2 | M | No | TODO |
| MCP Server | 3 | P3 | L | Yes | TODO |
| AI bot monitoring | 4 | P2 | M | Yes | TODO |
| Citation audits | 4 | P2 | S | No | TODO |
Success Metrics
- AI Citation Rate — % of target queries where MedSchools.ai is cited (baseline: 0, target: 30% within 3 months)
- AI Referral Traffic — Visitors from ChatGPT, Perplexity, etc. (measure via referrer)
- AI Bot Crawl Volume — GPTBot/ClaudeBot request counts (measure via server logs)
- Crawl Success Rate — % of AI bot requests returning 200
Target Queries for Citation Monitoring
Track these monthly across ChatGPT, Claude, Perplexity, Gemini:
- "What MCAT score do I need for [top 20 schools]?"
- "What is the acceptance rate at [school]?"
- "Best medical schools for primary care"
- "Most affordable medical schools"
- "Medical schools with highest acceptance rates"
- "How to write a medical school personal statement"
- "Medical school interview tips"
- "Best medical schools in [state]"
- "MCAT score needed for medical school"
- "Medical school application timeline"
Created: Wed, Feb 25, 2026, 12:17 AM by bob
Updated: Wed, Feb 25, 2026, 12:17 AM
Last accessed: Thu, Mar 12, 2026, 1:28 AM
ID: 6102ec74-432d-4d64-b579-e8e6299a4844