This is the playbook for online schools, course creators, bootcamps, and edtech operators who want their courses recommended by ChatGPT, Perplexity, and Google AI Overviews — written by Far & Wide, the agency that ran the audit.
What is AEO for online education
AEO (Answer Engine Optimization) is a set of content, technical, and off-site practices that help AI systems find your school, cite your content, and recommend your programs as a solution. For online education specifically, that means showing up when prospective students ask AI variations of:
- “Best course for [skill]”
- “Where can I learn [topic] online”
- “Is [school name] worth it”
- “How long does it take to learn [skill]”
- “[Skill] bootcamp vs degree”
Unlike SEO, the goal is not to rank a course-listing page on Google. The goal is to be the school an AI names when a prospect asks “where should I learn data analytics” — and to be cited as a source when AI explains the field.
Why AI default-recommends “learn by doing” (and how to be the exception)
Course creators on Reddit have noticed something: ChatGPT and Gemini often steer users away from courses entirely. A typical response to “how do I learn web development” looks like “You don't need a course — pick a project, use AI to learn as you go, and read the docs.”
Two reasons this is happening:
- Free, structured reference content beats paid course listings on extractability. Documentation sites, YouTube tutorials, and instructor blogs give AI a clean H2-per-concept structure with code examples.
- AI models have read every “is X course worth it” Reddit thread. So when AI does recommend a course, it leans toward courses with public, structured proof of outcomes.
You become the exception by giving AI more parsable substance than the free alternatives. Outcome-specific curriculum pages, named instructors with credentials, structured pricing and timeline tables, and public reviews.
The case: 0% share of voice to 20 ChatGPT leads per month
In November 2025, an online school in a niche with 5+ established competitors approached Far & Wide. The school had a functioning website — course pages, a blog, video content. None of it was readable by AI in a way that produced citations or recommendations.
Starting position (audit baseline)
- 0% share of voice on 7 out of 10 key user queries in ChatGPT
- 20% share of voice on the remaining 3 queries
- Top competitor: 62% share of voice
- Second competitor: 60%
- Third competitor: 52%
What was wrong with the website
- Broken semantic HTML. The site auto-generated headings on decorative elements (numbers, icons, sums). H1s were duplicated.
- Zero structured data. Google's Rich Results Test returned “No items detected.”
- Marketing language, not facts. Copy used unverifiable claims like “leading academy” and “best training program.”
What was done: 6 on-site changes
Far & Wide delivered the audit in late November 2025. The school's team implemented six on-site changes in December 2025. By January 2026, roughly 30 days from implementation to result, the school was getting 20 qualified leads per month from ChatGPT.
“AI models recommend what they can read, parse, and verify. Content locked inside broken HTML, missing structured data, and wrapped in marketing language gets skipped.”
The 6 on-site changes — applied to any online school
1. Semantic HTML cleanup
Fix the heading hierarchy first. One H1 per page, descriptive and keyword-relevant. H2s for main sections. H3s for subsections. Pull heading tags off decorative elements. Wrap content in <main>, <section>, <article> containers.
Anti-pattern most schools hit: Webflow, Framer, and Wix templates auto-apply heading tags to whatever the designer styled as “big text.”
2. Structured data ( Schema markup ) for course pages
Add JSON-LD markup that names the course, the instructor, and the institution. The Schema.org types that matter for online education:
OrganizationorEducationalOrganizationCourseon every course landing pageCourseInstancefor each cohortPersonon instructor pagesBreadcrumbListsite-wideFAQPageon pages with structured Q&AReviewandAggregateRatingon course pages with verified reviews
Minimal example for a single course page:
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Data Analytics for Marketers",
"description": "12-week part-time program. SQL, GA4, attribution modeling, dashboards.",
"provider": {
"@type": "EducationalOrganization",
"name": "Your School",
"sameAs": "https://yourschool.com"
},
"hasCourseInstance": [{
"@type": "CourseInstance",
"courseMode": "Online",
"startDate": "2026-05-01",
"endDate": "2026-07-24",
"instructor": {
"@type": "Person",
"name": "Anna Petrova",
"jobTitle": "Senior Analytics Lead",
"url": "https://yourschool.com/instructors/anna-petrova"
}
}],
"offers": {
"@type": "Offer",
"price": "1490",
"priceCurrency": "EUR"
}
}Validate with Google's Rich Results Test and the Schema Markup Validator.
3. Sitemap repair
Open yourschool.com/sitemap.xml and audit every URL. Remove dead links. Add missing course pages, instructor pages, and the new “Terms and Finances” page.
4. Author pages with Person schema
Give every instructor an individual page. List specialization, format taught, credentials, prior employers, and links to anything off-site that backs the credential. Mark up with schema.org/Person.
This change builds the brand entity and answers the most-cited question in r/coursera and r/Udemy threads: “who actually teaches this — is it just a video by a nobody?”
5. Content rewrite: from marketing copy to structured facts
Replace subjective claims with structured, verifiable information.
- Remove superlatives. “Leading academy” → “Founded 2018, 4,200 alumni, 87% job-placement rate.”
- Add comparison tables.
- Break content into self-contained sections. Apply the Information Island test.
- Use lists and tables for any factual information.
| Before (marketing copy) | After (structured facts) |
|---|---|
| “Our flagship program is the most comprehensive data analytics training on the market.” | “12 weeks, 8-10 hours/week. Modules: SQL (3 weeks), GA4 (2 weeks), attribution (2 weeks), Power BI dashboards (3 weeks), capstone project (2 weeks).” |
| “Taught by world-class experts.” | “Lead instructor: Anna Petrova, ex-Spotify Senior Analytics. Co-instructor: Mark Lee, ex-HubSpot.” |
| “Designed for ambitious learners.” | “Prerequisites: basic spreadsheet fluency, no coding required. Best for: marketers 2-5 years into their career who want to move into analytics-adjacent roles.” |
6. The “Terms and Finances” page — a citation magnet
Create one dedicated page with structured pricing, entry requirements, progression criteria, refund policy, and timelines, formatted as tables. This covers a cluster of high-intent prompts that every school gets and almost no school answers in a structured way.
This single page was the top citation source for the case-study school after launch.
What was NOT done — the honest counter-list
The case-study client was given 10 prioritized recommendations. Six were implemented. Four were declined for that round, and the result still came in:
- Business profiles on Yandex Maps, Google Business, and 2GIS. Useful for local search; the case study client was a remote/online program.
- Review campaigns on industry forums. A long-term play.
- YouTube channel restructuring. Worth doing eventually; not the cheapest first move.
- Wikidata entity creation. A long-term parametric-knowledge play (3-12 months horizon).
Where AI sends students: own platform vs Udemy vs Coursera vs YouTube
| Source AI cites | When AI prefers it | What it requires from you |
|---|---|---|
| Marketplace listing (Udemy, Coursera, edX) | Generic skill queries with high commercial volume. | Almost nothing on your end — and almost no advantage to you. |
| YouTube channel | “Free way to learn X” queries. | Long-form, well-titled, transcripted videos with chapter timestamps. |
| Instructor's personal site / Substack | Niche professional skills, advanced topics. | Personal brand work + structured content per topic. |
| Documentation site / official docs | Programming, tools, API queries. | You don't compete here. You complement. |
| Your own school's website | Branded queries, comparative queries, outcome-driven queries. | The 6 on-site changes above. Schema. Named instructors. Outcome data. |
The strategic point. AEO on your own platform is the escape route. When AI is the channel, you don't get banned for “promotion” — you get cited if your structure is right.
Sub-vertical playbook — quick map
| Sub-vertical | Most-asked AI prompt | Schema priority | Top content priority |
|---|---|---|---|
| Career-skills bootcamp | “Best bootcamp for [skill]” / “[skill] bootcamp salary outcomes” | Course + CourseInstance + Person + AggregateRating | Outcome data: placement %, alumni salary ranges, named hiring partners |
| Language school | “Learn [language] online” | Course + CourseInstance + Person | CEFR level mapping, sample-class videos, native-speaker instructor pages |
| K-12 / supplemental | “[Subject] tutoring online” | EducationalOrganization + Course + Person | Curriculum alignment to local standards (Common Core, IB, GCSE), parent reviews |
| Exam prep | “Best [exam] prep course” | Course + CourseInstance + AggregateRating | Score-improvement data with sample sizes; pass-rate by tier |
| Niche professional cert | “[Cert] certification online” | Course + Person + EducationalOrganization | Pass rates, domain-expert instructor credentials, employer recognition |
Pricing transparency: the trust signal that doesn't need a marketing department
Hidden pricing is one of the strongest negative trust signals AI picks up. If your tuition isn't on a public, structured page, AI cannot cite you for cost-related queries.
- Publish the number. Tuition or program fee, in a public, indexed page, in plain text inside a table. Not behind a form. Not in a PDF.
- Publish the variants. Cohort vs self-paced, payment plans, scholarships, refund window — each as its own row.
- Mark up
OfferinsideCourseschema withpriceandpriceCurrency.
Multi-language and international AI visibility
Schools serving multiple language markets need three things AI tools recognize:
hreflangandinLanguageproperties on schema and HTML.- Native-language landing pages, not auto-translations.
- Language-aware reviews and entity signals.
Far & Wide ran the on-site optimization for the case-study school in a Russian-speaking market. The same playbook works in English, Spanish, Portuguese, German, and Mandarin markets — the fundamentals are language-agnostic.
Anti-patterns: what doesn't move AI visibility for online schools
- Stuffing course titles with trending labels (“Master AI 2026,” “Generative AI for X”).
- Keyword-loading meta descriptions. AI does not extract from meta descriptions.
- Adding an FAQ section without
FAQPageschema, or with marketing-language answers. - Importing thousands of testimonials onto a single page. Structured
Reviewmarkup with 5-15 verified reviews works better. - Pre-buying review campaigns on third-party sites. AI detects unnatural reciprocity.
- Spending the first month on YouTube channel restructuring or Wikidata. Those are months 3-6 plays.
30-day implementation plan
The case-study school went from audit to 20 qualified leads per month in roughly 30 days from implementation.
Week 1. Semantic HTML audit and cleanup. Sitemap repair. Page-by-page heading hierarchy fix. Validate one page in Rich Results Test as a baseline.
Week 2. Structured data: Organization or EducationalOrganization sitewide; Course schema on each course page; Person schema on instructor pages; BreadcrumbList; FAQPage where applicable. Validate every page.
Week 3. Content rewrite of the 5-10 most-trafficked pages. Marketing language → factual + tables. Add comparison tables to course pages. Build instructor pages if they don't exist.
Week 4. Build the “Terms and Finances” page. Publish reviews with Review and AggregateRating schema. Re-validate. Submit updated sitemap to Google Search Console.
Day 30+. Monitor. Track which queries start citing you in ChatGPT, Perplexity, and Google AI Overviews. Use the Three-Layer Visibility Model to diagnose where leakage remains.
Quick-start checklist
Before you publish course pages, every page should pass:
- One H1, descriptive, keyword-relevant, no decorative duplication
- H2 sections, each self-contained (Information Island test)
Courseschema withname,description,provider,hasCourseInstance,instructorPersonschema on every instructor page- At least one comparison table on the page
- At least one factual list or table replacing what was previously marketing prose
- Tuition published in plain text inside a table, with
Offermarkup - FAQ section with
FAQPageschema and questions matching real user phrasing - Page is in
sitemap.xml, no dead links in sitemap - Page validates in Google's Rich Results Test with no errors
If a page fails any of these, rework before publishing.
Common mistakes — what to avoid
- Treating the website builder's defaults as semantic. Audit, don't assume.
- Adding schema once and never re-validating.
- Hiding the price. “Contact us for pricing” is a citation killer.
- Linking to a YouTube channel without restructuring it.
- Buying reviews.
- Skipping instructor pages because the school is “the brand.”
How to know if AEO is working for your school
Three signals to watch:
- Share of voice on your 10 highest-intent queries. Run the same 10 prompts in fresh ChatGPT sessions monthly.
- AI referral traffic in analytics. GA4 with referrer filtering:
chatgpt.com,perplexity.ai. - “How did you hear about us” intake. Add the question to the lead form.
The complete write-up of the online school case study is published at farandwide.io/case-studies/online-school.