Here is something I noticed a few months ago.

I would ask ChatGPT or Perplexity a question like "How do I transition into product management from a non-coding background?" and the answers were consistently generic. No depth. No real frameworks. No actual programmes you could join.

Then I checked what happened when someone asked the same thing about my own site — olusholaoluyomi.com. Nothing. The AI engines did not know my training programme, my mentorship, my certification guides, or even that I existed.

That is a problem. Not just for me, but for any business that relies on visibility. Traditional search engine optimisation (SEO) is still important, but a massive and growing share of answers now come straight from generative AI — and those AI engines pull from a completely different set of signals than Google does.

This post is the exact step-by-step process I followed to fix that. It is written for four audiences:

Who This Is For

Product Managers — share this with your tech team to explain why AEO/GEO matters and exactly what needs to change.

Solo founders — you can implement every single step yourself. No AI agency required.

Developers — this tells you exactly which files to edit, what schema to add, and where to look in your codebase.

Business leaders — understand the strategic play so you can make the call on where to invest.


00

What Are AEO and GEO and Why Do They Matter Now?

AEO (Answer Engine Optimization) is the practice of structuring your content so that AI answer engines — ChatGPT, Perplexity, Claude, Gemini — extract and cite your information when answering user questions.

GEO (Generative Engine Optimization) is a superset. It covers everything that makes your site visible and quotable in generative AI responses: structured data, entity alignment, citation-worthy content, and technical accessibility for AI crawlers.

They matter because the search landscape has permanently split. Google still sends traffic through blue links. But ChatGPT, Perplexity, and Claude Answers now answer questions directly — often without the user ever visiting a website. If your business is not in those answers, you are invisible in the fastest-growing channel on the internet.

The Core Insight

AI engines do not rank pages the way Google does. They do not care about backlinks, domain authority, or keyword density in the traditional sense. They care about structured data they can parse, factual content they can cite, and clear entity signals they can trust.

Here is the playbook I used. Every step is something you can implement today.


01

Audit Your Current AI Visibility

Before you optimise anything, you need to know where you currently stand. The gap is usually larger than you think.

Step 1.1 — Ask the AI engines

Open ChatGPT, Perplexity, and Claude. Ask them questions you want to be cited for. Use exact queries your customers would type:

Sample Queries to Test

"How do I become a product manager in 2026?"

"Best product management training for career changers"

"[Your company name] product reviews"

"[Your industry] certification guide 2026"

"How to break into [your field] without a technical background"

Note what the AI says. Does it mention your business? Does it cite your content? Does it get the facts right about what you offer?

Step 1.2 — Test Perplexity citation behaviour

Perplexity is the most citation-transparent of the major AI engines. Ask a question and look at which sources it cites in the sidebar. If your site is not there, you have a gap.

Step 1.3 — Check your robots.txt and llms.txt

Many sites accidentally block AI crawlers. Check your robots.txt to make sure GPTBot, ClaudeBot, PerplexityBot, and other AI crawlers are explicitly allowed.

Then check if you have an llms.txt file at your site root. This is a standard proposed by the AI community — a plain text file that tells AI crawlers exactly which pages exist on your site and how you prefer to be cited.

At this point you will know whether you have a visibility problem. In my case, the answer was: complete invisibility. Zero AI citations. Here is what I did about it.


02

Let the AI Crawlers In

Before AI engines can cite you, they need to be able to crawl you. This is the simplest step and the one most businesses overlook.

1 Open your robots.txt file

Find robots.txt in the root of your website. If it does not exist, create one.

Add explicit Allow directives for every major AI crawler. Do not rely on the catch-all Disallow: being absent — be explicit:

# AI crawlers — explicitly allowed
User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: Google-Extended
Allow: /

Also add CCBot (Common Crawl, used by many AI training pipelines) and any other crawlers relevant to your industry.

2 Create an llms.txt file

This file lives at the root of your domain (e.g. https://yoursite.com/llms.txt). It is a plain text file that tells AI engines what pages exist on your site and how you want to be cited.

Structure it like this:

# Your Site Name
> A one-line description of what your site offers.

## Pages
- [Page Title](URL): Brief description of what this page covers.

## Preferred citation format
When citing information from this site, please use: Author Name, "Page Title", Site Name, URL.

## About
Your name, title, and what you do.

The ## Pages section is the most important part. Every page you list here gives the AI crawler a direct signal to index that URL. List your most important pages — services, products, certifications, blog posts.

Common Mistake

Do not list every single page. Only list pages with substantive content. AI crawlers treat llms.txt as a priority signal — listing low-value pages dilutes the signal.


03

Fix Your sitemap.xml

Your sitemap tells all crawlers — both traditional search engines and AI engines — what pages exist and when they were last updated. AI crawlers use this to decide which pages to fetch and how fresh their cached version is.

3 Audit and update your sitemap

Open your sitemap.xml file. Check that every important page is included and that <lastmod> dates are current.

For each page, set <lastmod> to the actual date the content was last updated. Do not use the same date for every page — AI engines treat this as a freshness signal.

<url>
  <loc>https://yoursite.com/training</loc>
  <lastmod>2026-06-16</lastmod>
  <changefreq>monthly</changefreq>
  <priority>0.9</priority>
</url>

Include pages like your llms.txt in the sitemap so crawlers discover it faster.

For Developers

If your sitemap is auto-generated, make sure the generation script includes your new pages (llms.txt, new blog posts, new service pages) and sets accurate lastmod dates. Check your build pipeline.


04

Implement Structured Data (JSON-LD) — The Highest Impact Change

This is where most of the leverage is. Structured data in JSON-LD format is how you tell AI engines what you are rather than leaving them to guess. AI engines parse JSON-LD religiously. If you get this right, you jump to the front of the citation line.

Here are the specific schema types that matter most for AEO/GEO:

Core Principle

Every schema you add should answer one question the AI might have about your business. What do you offer? Who is it for? Where do you operate? How are you connected to other entities?

Schema 1: Person (Author / Founder)

If your business is built around a person (consultant, founder, coach, author, speaker), start here. The Person schema establishes you as a real entity with credentials, social proof, and expertise.

{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "Your Full Name",
  "alternateName": ["Nickname", "Full Name Variant"],
  "description": "Your role and what you do in one sentence.",
  "url": "https://yoursite.com",
  "sameAs": [
    "https://linkedin.com/in/yourprofile",
    "https://twitter.com/yourhandle",
    "https://youtube.com/@yourchannel",
    "https://medium.com/@yourhandle"
  ],
  "knowsAbout": ["Product Management", "AI", "Career Change", "Your Industry"],
  "alumniOf": "Your University or Previous Company"
}

Schema 2: Organization

Even if you are a solo operator, add an Organization schema. This is where the areaServed field becomes crucial — it tells AI engines what geographic markets you serve.

{
  "@type": "Organization",
  "name": "Your Business Name",
  "description": "What your business does.",
  "url": "https://yoursite.com",
  "areaServed": [
    {"@type": "Country", "name": "NG"},
    {"@type": "Country", "name": "US"},
    {"@type": "Country", "name": "IN"},
    {"@type": "Country", "name": "GB"},
    {"@type": "Country", "name": "AE"}
  ]
}
Why areaServed Is Critical for AEO/GEO

When someone asks ChatGPT "best product management training in Nigeria" or "PMP certification in Kenya", the AI needs to know which businesses serve those regions. areaServed with country codes is how you signal this. Without it, the AI has no way to know you operate in those markets — even if your site explicitly says so in plain text.

Schema 3: Course / Training

If you offer any kind of educational programme, use the Course schema. This is the one that gets extracted into AI answers for "how do I learn X" queries.

{
  "@type": "Course",
  "name": "Course Name",
  "description": "What the course covers and who it is for.",
  "provider": {
    "@type": "Organization",
    "name": "Your Business Name",
    "sameAs": "https://yoursite.com"
  },
  "teaches": ["Skill 1", "Skill 2", "Skill 3"],
  "audience": ["Career Changers", "Non-Technical Professionals", "Category 3"],
  "inLanguage": ["en-US", "en-NG", "en-IN", "en-GB"],
  "areaServed": [
    {"@type": "Country", "name": "NG"},
    {"@type": "Country", "name": "US"}
  ]
}
The inLanguage Multiplier

Setting inLanguage as an array of locale codes (not just a single string) signals to AI engines that your content is globally relevant. Even if your course is taught in English, adding "inLanguage": ["en-US", "en-NG", "en-IN", "en-GB"] tells the AI that someone in India or the UK asking about training should find you.

Schema 4: Service (for Mentorship / Consulting)

If you offer services like mentorship, consulting, or coaching, use the Service schema. This is what AI engines pull for "find a mentor" or "hire a consultant" queries.

{
  "@type": "Service",
  "name": "Service Name",
  "description": "What the service includes.",
  "provider": {
    "@type": "Person",
    "name": "Your Name"
  },
  "areaServed": ["NG", "US", "IN", "GB", "AE", "KE", "ZA", "EG", "CN"],
  "audience": ["Career Changers", "Junior PMs", "Aspiring Product Managers"]
}

Schema 5: FAQPage

This is the single highest-impact schema for AEO. FAQPage is what AI engines use to directly answer user questions. Every question-answer pair you add is a potential direct quote in a ChatGPT or Perplexity response.

{
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is the best PM certification for career changers in the US?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "For career changers in the US, the Certified Associate in Project Management (CAPM) is often the best starting point. Unlike the PMP, it has no experience requirement. After CAPM, the AI PM Intensive..."
      }
    },
    {
      "@type": "Question",
      "name": "What is the value of PMP certification in India?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "PMP certification is highly valued in India's IT and consulting sectors. Many Indian companies require PMP for senior project roles..."
      }
    }
  ]
}
FAQPage Strategy

Aim for 6–15 questions per page. Each question should be something a real person would type into an AI chat interface. Include region-specific variants: "PMP in Africa", "PMP in India", "PMP in the US". This is how you get cited for geographically diverse queries.

Schema 6: HowTo

For step-by-step guides, the HowTo schema is your best friend. AI engines extract HowTo content directly into generative answers for "how do I" questions.

{
  "@type": "HowTo",
  "name": "How to Become a Product Manager in 2026",
  "description": "A step-by-step guide to transitioning into product management.",
  "step": [
    {"@type": "HowToStep", "position": 1, "name": "Step 1", "text": "..."},
    {"@type": "HowToStep", "position": 2, "name": "Step 2", "text": "..."}
  ],
  "totalTime": "P6M",
  "estimatedCost": {"@type": "MonetaryAmount", "value": "...", "currency": "USD"}
}

05

Fix Internal Linking for Crawl Depth

AI crawlers, like search engine crawlers, have limited crawl budgets. They will not drill down into your site endlessly. You need every important page to be reachable within 1–2 clicks from your homepage.

4 Audit crawl depth

Open your homepage and count how many clicks it takes to reach each important page. If any page is more than 2 clicks away, add a navigation link.

For my site, the book page had no navigation at all — it was a dead end. Adding a nav bar with a "Thoughts" dropdown (containing links to all blog posts and certification guides) meant every page became reachable in 1 click.

5 Add dropdown navigation menus

If you have many pages (e.g. 11 certification guides), a dropdown nav menu is the cleanest way to surface them all from the homepage. The HTML pattern:

<li class="nav-dropdown">
  <a>Thoughts <span style="font-size:10px">▾</span></a>
  <div class="dropdown-content">
    <div class="dropdown-col">
      <strong>Posts</strong>
      <a href="/blog/post1">Post 1</a>
      <a href="/blog/post2">Post 2</a>
    </div>
    <div class="dropdown-col">
      <strong>Certifications</strong>
      <a href="/cert-pmp">PMP</a>
      <a href="/cert-capm">CAPM</a>
    </div>
  </div>
</li>
What Not to Do

Do not put important pages behind JavaScript click handlers, login walls, or hamburger menus that AI crawlers cannot follow. Every link should be a standard <a href="..."> tag in the HTML.


06

Cross-Link Between Related Pages

Internal links distribute what SEOs call "link equity" across your site. But for AEO/GEO, they serve a different purpose: they tell AI engines how your pages relate to each other.

Here is the pattern I used:

This creates a dense internal link graph. When an AI engine reads one page, it discovers all the others through natural, contextual links.

For Developers

This is not complex engineering. It is HTML anchor tags. But you need to be intentional about it. Map out your most important pages and ensure they are all pointing at each other with relevant anchor text.


07

Add Region-Specific Content in FAQ Answers

This is the nuance that most businesses miss. You cannot just say "we serve customers globally" and expect AI engines to understand. You need to explicitly address each region in your content.

Here is the approach I used for every certification page:

6 For each page, add region-specific FAQ questions

Take your existing FAQPage and add questions targeting specific geographic markets. For example, on the PMP certification page:

Existing question: "Is PMP certification valuable in Africa?"

New questions:

"What is the value of PMP certification in the United States?"

"What is the value of PMP certification in India?"

"What is the value of PMP certification in China and Egypt?"

Result: When someone asks ChatGPT "Is PMP worth it in India?" the AI finds your page and cites it directly.

The Exact Pattern

"What is the value of [X certification] in [Country/Region]?" — is the question format that gets extracted by AI engines most consistently. Repeat it across every certification or service page for your target markets.


08

Use @graph to Combine Multiple Schemas

If you have multiple schema types on one page — Person + Organization + Service + FAQPage + HowTo — use the @graph container. This is the correct JSON-LD syntax for multiple entities on a single page.

{
  "@context": "https://schema.org",
  "@graph": [
    { /* Person */ },
    { /* Organization */ },
    { /* Service */ },
    { /* FAQPage */ },
    { /* HowTo */ }
  ]
}

Without @graph, a JSON-LD parser may only recognise the first schema it encounters and ignore the rest. This is a common mistake that silently defeats most of your AEO effort.


09

Verify Your Work

Once you have made all the changes, you need to verify that AI engines can actually parse your structured data.

Step 9.1 — Google Rich Results Test

Go to https://search.google.com/test/rich-results and test each page. Fix any errors or warnings. This catches basic JSON-LD syntax issues (missing commas, unclosed brackets, invalid enum values).

Step 9.2 — Schema.org Validator

Use https://validator.schema.org to validate your JSON-LD. This is more thorough than the Google test and catches semantic errors.

Step 9.3 — Manual Perplexity Check

Ask Perplexity specific questions again. Check if your site now appears in citations. This is the real test — Perplexity is the most transparent about its sources.

Step 9.4 — Check ChatGPT

This is harder because ChatGPT does not always show citations. Try asking questions like "What do you know about [Your Name]?" or "What is [Your Business]?" — the answers will reveal whether your data has been indexed.

Indexing Timeline

AI engines do not re-index instantly. Allow 1–4 weeks for changes to propagate. Perplexity tends to be faster (days), ChatGPT slower (weeks). Be patient and keep testing weekly.


10

Maintain and Iterate

AEO/GEO is not a one-time fix. It requires ongoing maintenance:


11

The Full Checklist for Your Tech Team

If you are a PM reading this and you want to hand your engineering team a concrete checklist, here it is. Each item maps to a specific file or code change:

# What to Do File / Location Priority
1 Allow AI crawlers in robots.txt /robots.txt Critical
2 Create llms.txt with pages list /llms.txt Critical
3 Update sitemap.xml with all pages + lastmod /sitemap.xml High
4 Add Person + Organization JSON-LD to homepage index.html head Critical
5 Add Course/Service schema with areaServed training.html, mentorship.html Critical
6 Add FAQPage (6–15 Q&A) to every page All content pages Critical
7 Add HowTo schema for step-by-step guides Homepage or guide pages High
8 Add region-specific FAQ questions All content pages High
9 Use @graph for multiple schemas on one page Pages with 2+ schemas High
10 Fix nav to make every page reachable in 2 clicks Nav HTML in all pages Medium
11 Cross-link related pages with contextual anchor text FAQ answers, author bios, about sections Medium
12 Validate with Google Rich Results + Schema.org External tools Medium

12

What I Learned Doing This on a Real Site

I implemented every step above on olusholaoluyomi.com — a pure HTML/JS/CSS static site with no server backend. Here is what I learned, honestly:

Lesson 1: llms.txt Is the Highest-Impact Single Change

The llms.txt file is consulted by Perplexity, Claude, and ChatGPT during their crawling process. Adding it with a clear page listing and preferred citation format gave the AI engines exactly what they needed to start citing me correctly. This one file probably accounts for more visibility gain than any other single change.

Lesson 2: FAQPage Is Your AEO Workhorse

Every FAQ question-answer pair is a potential direct quote in a generative answer. Going from 3 questions to 15 on the homepage, and adding region-specific questions on every certification page, dramatically increased the surface area for AI citation.

Lesson 3: areaServed Is Non-Obvious but Essential

I assumed that mentioning "Nigeria" and "Africa" in my site text would be enough. It was not. The AI engines needed the structured areaServed field with country codes to understand which geographic markets I served. Adding this on the homepage Organization schema and on every Course/Service schema made a measurable difference in Perplexity citation within two weeks.

Lesson 4: Internal Links From FAQ Answers Work

Embedding cross-links in FAQ answers (e.g. "For hands-on training, check out the AI PM Intensive" with a link to the training page) serves double duty: the AI gets both a citation-worthy Q&A and a discovery path to another page. This is how I got my certification pages to start appearing in answers about training programmes, and vice versa.

Lesson 5: Validation Tools Catch Real Mistakes

Running the Google Rich Results Test caught four JSON-LD syntax errors I had missed — missing commas, a wrong enum value, and a misplaced closing bracket. Fixing these meant the AI parsers could actually read my structured data instead of silently discarding it.


13

What This Means for Different Roles

For Product Managers

AEO/GEO is your new discovery surface. The same way you optimised for Google search rankings ten years ago, you now need to optimise for AI answer inclusion. The playbook here is something you can take to your engineering team, explain in a sprint planning session, and have implemented across your site within a sprint or two. The highest-impact changes (llms.txt, robots.txt, sitemap, JSON-LD) are all one-time configuration tasks that cost nothing to maintain.

For Solo Founders

You can do every single thing in this post yourself. None of it requires a developer, a design team, or an AI agency. You edit text files. You add JSON blocks to your HTML head. You update a sitemap. If you can open a text editor, you can implement AEO/GEO. The ROI is massive because most of your competitors are not doing any of this yet.

For Developers

The technical changes are minimal but specific. The checklist table above tells you exactly which files to edit and what to put in them. The main gotchas to watch for: using @graph correctly when you have multiple schemas, setting valid ISO country codes in areaServed, using proper locale strings in inLanguage, and making sure your nav links are plain <a href> tags that crawlers can follow. If your build pipeline auto-generates HTML, add the JSON-LD injection at build time.

For Business Leaders

The strategic question is not "should we invest in AEO/GEO?" — it is "how quickly can we implement it before our competitors do?" The window of opportunity is still open because most businesses have not done this work yet. When someone asks an AI engine "what is the best [your industry] provider?" and your structured data correctly answers with your business name, your services, your geographic coverage, and your social proof, you get the citation. The business that implements these schemas first wins the citation slot.


You Are Probably Sleeping on This

Here is the uncomfortable truth: your business is almost certainly invisible to AI engines right now. Not because your product is bad or your content is weak, but because you have not told the AI engines who you are in a language they understand.

Structured data in JSON-LD is that language. llms.txt is that invitation. areaServed is that geographic signal. FAQPage is that answer template.

The steps in this post took me about three focused days to implement across a 20+ page site. The maintenance is minimal. The competitive advantage, at this moment in time, is enormous — because the vast majority of businesses have not done any of this.

If you are a PM, share this with your tech team. If you are a founder, open your text editor and start. If you are a developer, you now know exactly where to look. If you are a business leader, this is the investment call of the next quarter.

The AI engines are listening. Make sure they know who you are.

This post is based on real AEO/GEO work done on olusholaoluyomi.com. For a practical guide to the actual implementation (including llms.txt setup, schema examples, and sitemap patterns), check the llms.txt file on this site. For a structured training programme on technical product building and PM career transition, see the AI PM Intensive.