Getting Found on Google and AI Assistants: SEO, Structured Data and llms.txt
How to make your website discoverable by both search engines and AI assistants in 2026: solid SEO foundations, JSON-LD structured data, generative engine optimization and llms.txt.
A few years ago, "getting found online" meant one thing: ranking on Google. Today, many people ask an AI assistant instead. They type a question into a chatbot, or they read the AI-generated summary at the top of a search results page, and they may never scroll down to the blue links.
So the question for anyone with a website — a developer portfolio, a non-profit, a small business — is no longer just "How do I rank?" It is: "How do I make sure both search engines and AI systems understand who I am, what I offer, and when to recommend me?"
The good news is that most of the work overlaps. In this post I will walk through what I do on my own sites and on projects I build for organisations.
The foundation: classic SEO still matters
AI assistants that search the web often rely on search indexes and on pages that are easy to crawl and understand. If your site is invisible to search engines, it will usually be invisible to AI as well. Start here.
Technical basics
- Make every page crawlable. Check your
robots.txtand make sure you are not accidentally blocking important pages. - Submit a sitemap. An up-to-date
sitemap.xmlhelps search engines discover your pages. Submit it in Google Search Console. - Use HTTPS everywhere.
- Be fast and mobile-friendly. Many of your visitors are on phones, sometimes on slow networks. Performance is part of user experience, and user experience is part of SEO.
- Use clean URLs like
/blog/firebase-security-rulesinstead of/post?id=8473.
On-page basics
Every important page should have:
- A unique, descriptive
<title>(roughly under 60 characters so it is not cut off) - A meta description that reads like a helpful summary, not a list of keywords
- One clear main heading, followed by a logical structure of subheadings
- Descriptive link text ("read the Firebase security guide", not "click here")
- Alt text on meaningful images
Here is a minimal, solid <head> for a blog post:
<title>Firebase Security Rules Basics | ProfJero</title>
<meta name="description" content="A beginner-friendly guide to writing Firestore security rules that actually protect your data.">
<link rel="canonical" href="https://profjero.pages.dev/blog/serverless-backend-firebase-firestore-security-rules">
<meta property="og:title" content="Firebase Security Rules Basics">
<meta property="og:description" content="Protect your Firestore data with clear, testable rules.">
<meta property="og:type" content="article">Content that deserves to be found
No technique replaces genuinely useful content. Write for a specific person with a specific question. Answer it clearly, early, and completely. Show real experience — what you built, what went wrong, what you learned. Search engines and AI systems are both increasingly good at telling the difference between thin content and content written by someone who has done the work.
Structured data: speak the machine's language
Structured data is a way of describing your content in a format machines can read without guessing. The most common format is JSON-LD using the vocabulary from schema.org.
For a personal portfolio, a Person schema on your homepage tells machines exactly who you are:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Benjamin Amoako",
"alternateName": "ProfJero",
"jobTitle": "Full-Stack Software Developer & IT Trainer",
"address": {
"@type": "PostalAddress",
"addressLocality": "Cape Coast",
"addressCountry": "GH"
},
"url": "https://profjero.pages.dev",
"sameAs": [
"https://www.facebook.com/profile.php?id=61585853362550",
"https://www.tiktok.com/@profjero"
]
}
</script>For blog posts, use BlogPosting (or Article) with the headline, author, publish date and description. For organisations, use Organization or NGO. For FAQs, products, events and courses, there are dedicated types as well.
A few rules I follow:
- Only mark up what is visible on the page. Structured data should describe the content, not add hidden claims.
- Keep it consistent. Your name, location and job title should match across your site, your social profiles and your structured data.
- Validate it. Use Google's Rich Results Test and the Schema Markup Validator before you ship.
Generative engine optimization (GEO)
"Generative engine optimization" is the name people now use for making your content more likely to be understood, cited and recommended by AI-powered answers. It is a young field, and honestly, nobody outside these companies knows exactly how each system chooses its sources. But some practices make sense regardless, because they also make your content better for humans.
1. Answer questions directly
AI systems often extract short, self-contained answers. Structure your content so a key question is followed immediately by a clear answer, then the detail. For example:
What is INP? Interaction to Next Paint measures how quickly a page visibly responds after a user clicks, taps or types.
2. Be specific and factual
Vague marketing language ("we deliver world-class innovative solutions") gives a machine nothing to work with. Specific statements ("I build e-learning platforms and inventory systems for organisations in Ghana") do.
3. Build a consistent identity across the web
Your website, GitHub, LinkedIn, organisation pages and any directories you appear in should describe you in the same way. Consistency helps machines connect the dots and be confident about who you are.
4. Use clear structure
Headings, short paragraphs, lists and tables are easier to parse than walls of text. This is not about "gaming" anything — it is about clarity.
5. Show authorship and expertise
Put a real author name and short bio on your articles. Link to your about page. Explain where your experience comes from. Anonymous content is harder to trust, for people and machines alike.
What about llms.txt?
llms.txt is a proposed convention: a Markdown file at the root of your site (/llms.txt) that gives language models a concise overview of your site and links to the most important pages. Think of it as a curated guide for AI, a bit like how robots.txt is guidance for crawlers.
A simple example:
# ProfJero
> Benjamin Amoako (ProfJero) is a full-stack software developer and IT trainer based in Cape Coast, Ghana.
## Key pages
- [About](https://profjero.pages.dev/#about): Background, skills and experience
- [Projects](https://profjero.pages.dev/#work): E-learning, dashboards, POS and inventory systems
- [Blog](https://profjero.pages.dev/blog): Tutorials on web development, security and careers
## Contact
- [Contact page](https://profjero.pages.dev/#contact)Let me be honest about it: llms.txt is a proposal, not an official standard, and support across AI products is uneven and changing. I add one because it takes ten minutes, it does no harm, and it forces me to summarise my site clearly — which is useful in itself. Do not expect it to replace the fundamentals above.
Your discoverability checklist
- Site is on HTTPS, fast, and mobile-friendly
robots.txtallows important pages;sitemap.xmlis submitted- Every page has a unique title, meta description and canonical URL
- Content answers real questions clearly, with real experience behind it
- JSON-LD structured data for Person/Organization and each article, validated
- Consistent name, bio and links across your site and profiles
- Author names and bios on articles
- An
llms.txtsummarising your key pages - Search Console set up, and checked monthly
Conclusion
Search is changing, but the core idea has not: be useful, be clear, and make it easy for machines to understand you. Do the fundamentals well, add structured data, write content that answers real questions, and treat newer ideas like GEO and llms.txt as helpful extras rather than magic tricks.
Have you checked how AI assistants describe you or your organisation yet? Try asking one today, and share in the comments what you found — I am curious.

0 Comments