
Short answer: if ChatGPT or Perplexity can't read your course page, your course doesn't exist as far as they're concerned. AI search visibility for association education programs mostly comes down to a public page per course, the boring facts typed out in plain words (who it's for, credits, accreditor, format, member and non-member price), some Course markup behind the scenes, and a monthly check where you ask the assistants the same questions and see if you come up.
A lot of what I've read on this topic boils down to "write better descriptions." Fine. But try handing that to someone on your team on a Monday morning and see what you get back. So I've tried to make this one usable. There's a fact checklist, a chunk of markup you can copy, ten prompts to test with, and a scorecard.
Quick scope note. This is for associations, medical societies and CE providers who want learners to find their courses. If you're trying to fix AI visibility for your whole website, that's a bigger SEO job. I'm only talking about the catalog here.
Because people don't browse catalogs like they used to. A nurse asks an assistant which certification would help her get into case management. A practice manager asks where he can get coding CE that counts for his credential. The assistant gives back three or four names. Maybe a link. If you're not one of those names, you never even get to argue that your course is better or cheaper.
It's worse with non-members. Your members already know where you are. The people who've never heard of you are the ones typing broad questions into a chatbot, and that's the exact crowd most associations tell me they want to reach. TopClass's recent post on this cites an April 2026 Associations Now piece saying nearly half of non-members don't know there's an association tied to their role. That tracks with what I hear.
And no, regular SEO didn't die. The assistants lean hard on pages search engines can already crawl. If Google can't see your course page, I'd bet ChatGPT can't either.
I look at a lot of association catalogs. It's usually one of four things:
The first two are setup. The last two are writing, and your education team can fix them in about an afternoon per program.
Here's the checklist I'd use. Anything missing, add it as regular text on the page. Not an image, not a download.
| Fact | Example | Why it matters to AI search |
|---|---|---|
| Subject in the first sentence | "This course covers prior authorization rules for ambulatory practices." | Assistants match questions to topics. Lead with the topic. |
| Who it's for | Practice managers, billing leads, physicians in private practice | Questions often include a role. Name the roles. |
| Credit type and amount | 1.5 AMA PRA Category 1 Credits™, 1.5 ANCC contact hours | "Where can I get CME for..." is one of the most common questions. |
| Accreditor or approving body | Jointly accredited provider; approved by the state board | Learners filter on whether credit will be accepted. |
| Format and length | On-demand, 90 minutes, available for 12 months | Busy learners ask for "online" or "self-paced" options. |
| Member and non-member price | $79 members, $129 non-members | Price comparisons are a big part of what assistants answer. |
| Outcomes as skills | "Submit a complete prior authorization request on the first attempt" | Matches career and skills questions. |
| Date it was last updated | Updated October 2026 | Signals the content is current, and keeps you honest. |
Credential pages need a few more: who it's for, eligibility, exam format, fees, how often you recertify, and who recognizes it. That last one gets skipped all the time, because every member already knows the state boards accept it. The chatbot doesn't know that. Spell it out.
Course markup is structured data. It uses the schema.org vocabulary to label the facts on your page so a machine doesn't have to guess which number is the price and which is the credit hours. Google covers the Course and CourseInstance types in its course info documentation. Below is a filled-in example for a CE course. Copy it, change the details, and drop it into a script tag of type application/ld+json on the page.
{
"@context": "https://schema.org",
"@type": "Course",
"name": "Prior Authorization Essentials for Ambulatory Practices",
"description": "A 90-minute on-demand course for practice managers and billing leads on current prior authorization rules. Awards 1.5 AMA PRA Category 1 Credits.",
"provider": {
"@type": "Organization",
"name": "Example Medical Society",
"sameAs": "https://www.example.org"
},
"educationalCredentialAwarded": "1.5 AMA PRA Category 1 Credits",
"inLanguage": "en",
"offers": [{
"@type": "Offer",
"category": "Paid",
"price": 79,
"priceCurrency": "USD",
"description": "Member price"
}],
"hasCourseInstance": [{
"@type": "CourseInstance",
"courseMode": "Online",
"courseWorkload": "PT1H30M"
}]
}A couple of warnings. Whatever's in the markup has to match what people can see on the page. Don't invent ratings. And check first whether your site or LMS is already spitting out Course markup, or you'll end up with two versions fighting each other. Google's Rich Results Test shows you what it picks up.
Think of markup as the supporting act. Thin page, nice markup, still a thin page.
Write down ten questions your learners would actually ask. On the first business day of every month, run them through two or three assistants and log what comes back. Don't tweak the wording month to month or you can't compare. Here's a starter set. Fill in your own field, credential and state.
Score each answer 0 to 3:
| Score | What it means |
|---|---|
| 0 | Your association or course isn't mentioned |
| 1 | You're mentioned, but key facts are missing or wrong |
| 2 | You're mentioned with correct facts, no link |
| 3 | You're mentioned, the facts are right, and your page is linked as a source |
Ten prompts times three assistants gives you a number out of 90. Is it scientific? Not really. The answers wobble from one run to the next. But watch it for three or four months and you'll know if your fixes are doing anything. Also jot down whose pages the assistants cite when it isn't you. That's your real competition, and sometimes it's a surprise.
Look at your own catalog search log. Almost nobody does, and it's sitting right there. In OasisLMS it's the Search Insight Report: what learners typed in, how many results came back, and whether anyone clicked. A search that returns nothing is a gap in your catalog. A search that returns results but gets no clicks usually means your course title doesn't sound like what they were after.
Take those exact phrases and use them in titles, first sentences and FAQs. OasisLMS also lets you tag each course with metadata as key and value pairs, things like target audience or activity type, and it adds implicit metadata like credit type and price by itself. Catalog search uses all of that, and you can build course groups off it automatically, which helps once the catalog gets big.
About the public catalog. In OasisLMS that's the landing page people hit before they log in: full course list, keyword search, featured courses, banners. If yours is login-only right now, turning on a public catalog is probably the biggest single thing you can do here, for Google and for the chatbots. The course itself stays locked. Only the description is out in the open.
If you want to build the catalog around what members ask for in the first place, our post on the member-driven learning catalog gets into that.
Then run the prompts again next month and see what moved.
Basically, how often and how accurately tools like ChatGPT, Perplexity and Google's AI Overviews bring up your courses and credentials when someone asks a related question. Public pages, clear facts and details that agree with each other drive most of it.
Not to start. Google has said its AI features don't need special files or markup beyond normal SEO. Public pages with real facts and standard Course markup get you most of the way. If your platform offers llms.txt, sure, turn it on. It's cheap.
No. People see the description, credits and price. The course is still behind login and payment, same as a product page on any store.
Nobody can promise a timeline. Pages have to get crawled and indexed, and each assistant refreshes on its own schedule. Check monthly and think in months, not weeks.
Both, split down the middle. Education owns the facts: credits, audience, outcomes. Marketing owns titles, markup and testing. Put one name on the monthly prompt test or it won't happen.
There's no switch you flip for this. It's mostly unglamorous work: get the right facts onto public pages, label them, and check every month whether the assistants noticed. The associations that start now will show up in answers where their competitors don't. If you want to see how the OasisLMS public catalog, course metadata and search reporting work together, book a demo. For the wider view on how associations are putting AI to work, read AI for associations, or start with our association LMS overview.
See how 200+ associations and healthcare organizations deliver continuing education, certification, and non-dues revenue with Oasis.
Whether you're running continuing education, certification, or member growth programs, Oasis LMS helps deliver high-impact education efficiently and at scale.
