WarsawJS Meetup #144 · 11.11.2026
Why Should We Care About GEO and E-E-A-T ?
Visibility lessons from K MAG
Piotr Zientara
psst… the robots are reading this too 🤖
Hi everyone. Tonight: why being found changed, what GEO and E-E-A-T mean, and real numbers from K MAG. Then a checklist you can apply tomorrow.
whoami
Entrepreneur, engineer and philosopher.
Runs Xfaang (xfaang.com ): visibility done professionally
Co-creates K MAG and the Warsaw Glitch festival
Writes treatises: Tractatus Volens , Theta , Ludens
On this stage since WarsawJS #2 (2014, Ember CLI. Yes, really.)
piotrzientara.pl
WarsawJS #144 · piotrzientara.pl · xfaang.com
Short intro. Philosophy is relevant tonight: E-E-A-T is basically epistemology for search engines. Who do you trust, and why?
Ranking #1 on Google for a query nobody types anymore
Being the source ChatGPT quotes when your users ask
Meme time. The goal moved: not the top of a list, but the sentence inside the answer.
The shift
Ten blue links became one answer.
ChatGPT, Perplexity, Gemini and AI Overviews answer first. If you are not the source they quote, you are invisible.
Old joke: the best place to hide a body is page 2 of Google.
2026 version: anywhere ChatGPT doesn’t cite.
WarsawJS #144 · piotrzientara.pl
People still search, but more and more they read the answer and never scroll. Visibility now means being quoted.
SEO, AEO, GEO: three games, one website
SEO AEO GEO
Goal Rank in the list Be the answer Be quoted in a generated answer
Where Ten blue links Snippets, People Also Ask, voice ChatGPT, Perplexity, Gemini, Copilot, AI Overviews
You win A click The answer box A citation or a mention
Metric Position, CTR Snippets owned Share of AI answers
Main lever Keywords, links, speed Question and answer structure Authority, quotable facts, clear entities
Good news: they stack. Do SEO well and you’re halfway to the other two.
WarsawJS #144 · piotrzientara.pl
AEO is the bridge: it started with featured snippets and voice assistants. GEO is the same idea for LLM answers. All three sit on the same foundation: crawlable, fast, trustworthy pages.
SEO vs GEO
SEO
Rank in a list of links
Win the click. Measure positions and CTR.
GEO · Generative Engine Optimization
Become the source the answer is built from
Win the citation. Measure how often models mention you.
WarsawJS #144 · piotrzientara.pl
GEO does not replace SEO. Models still lean heavily on search indexes, so classic SEO is the foundation and GEO is the next floor.
How an AI answer picks its sources
1 · Rewrite
The question becomes several search queries.
→
2 · Retrieve
Results come from a search index: Bing, Google or the bot’s own crawl.
→
3 · Select
Relevant, trusted, fresh, easy to extract wins.
→
4 · Write + cite
The model paraphrases chunks and links a few.
Be indexed
Be trusted
Be quotable
Simplified retrieval-augmented generation flow · WarsawJS #144
This is RAG, which most of you have built. Step 2 means SEO still matters: if you are not in the index, you are not in the answer. Step 3 is where E-E-A-T lives. Step 4 rewards self-contained, factual chunks.
GEO in practice
Write content a model wants to quote
Numbers with a source
“+42% in 28 days (AlfaUMi)” beats “a lot more”.
Named quotes
A real person, a real title, a sentence worth repeating.
Self-contained chunks
Each paragraph makes sense alone. No “as mentioned above”.
Clear entities
Full names, same spelling everywhere, “X is a…” definitions.
Fresh and dated
Visible “updated on” dates. Refresh pages that still get asked about.
Be talked about
Wikipedia, Reddit, YouTube, other media. Models learn from them.
Aggarwal et al., GEO, KDD 2024: citations, quotes and stats lifted AI-answer visibility by up to 40%
The Princeton GEO paper tested this: adding citations, quotations and statistics gave the biggest lift, keyword stuffing did nothing or hurt. Also say: not everything here is a lever you control, which is why being talked about elsewhere matters.
GEO for developers: let the bots read you
# robots.txt# search bots: show me in AI answers User-agent: OAI-SearchBot Allow: / User-agent: PerplexityBot Allow: /# training bots: your call User-agent: GPTBot Disallow: /private/
Server-render the text. Many AI crawlers don’t run JavaScript.
Split search from training bots. Blocking all may hide you.
Bing Webmaster Tools and IndexNow for fast indexing.
llms.txt : cheap to add, but no proof yet that anyone reads it.
Your SPA with an empty <div id="root"> looks like this to a bot: 🫥
WarsawJS #144 · piotrzientara.pl
The JS crowd needs this one most. If the content arrives only after hydration, many AI crawlers see nothing. Check with curl. Separate the search user-agents from the training ones and decide each on purpose.
AEO · Answer Engine Optimization
How to be the answer
1 · The question is the heading
Use the exact words people type. Mine them from Search Console queries and People Also Ask.
2 · Answer in 40 to 60 words
Right under the heading. Full sentence, no “it depends”. Details come after.
3 · Lists and tables
Steps as an ordered list, comparisons as a real table. Engines lift them as they are.
4 · Mark it up
FAQPage, QAPage, HowTo in JSON-LD. Fewer rich results today, but machines still read it.
WarsawJS #144 · piotrzientara.pl
Google limited FAQ rich results to authoritative government and health sites in 2023 and dropped HowTo rich results, so do not expect stars in the SERP. The markup still helps parsers understand the structure.
Same question, two pages
Invisible 😴
Our thoughts on retail
Shopping has always been part of Polish culture. Since the 1990s, the way we spend weekends has changed a lot, and in this article we would like to take a closer look at…
Quoted ✅
Are shops open this Sunday?
No. Sunday 15 November is not a trading Sunday in Poland. Large shops are closed; small shops staffed by their owners may open. The next trading Sundays come in December, before Christmas.
Nobody ever asked an AI for “our thoughts on retail”.
WarsawJS #144 · piotrzientara.pl
Example in the spirit of niedzielahandlowa.com. The right card answers in the first sentence, includes the date, and can be lifted word for word into a snippet or an AI answer.
E-E-A-T: how machines decide whom to trust
E
Experience
You actually did the thing.
E
Expertise
You know the subject deeply.
A
Authority
Others cite and link to you.
T
Trust
The one that holds the others up.
WarsawJS #144 · piotrzientara.pl
Google uses E-E-A-T in its quality rater guidelines. Language models pick up the same signals: named authors, real bios, citations from others, a consistent identity across the web.
E
Experience: prove you were there
The one thing a model cannot fake for you.
Do this
Your own photos, screenshots, recordings. No stock.
First person: “we tested”, “I was at”, “it broke when”.
Say when and how long: “3 weeks, 40 users”.
Include what went wrong. Failures read as real.
At K MAG
Reports written by people who were in the room. Like my feuilleton after Iggy Pop at OFF Festival 2022. Yes, I was there. No, ChatGPT wasn’t.
E-E-A-T 1 / 4 · WarsawJS #144
Experience was added to E-A-T in December 2022, exactly because the web filled up with generic summaries. AI makes generic text free, so first-hand evidence is now the scarce resource. [Fill in: one or two more K MAG examples, e.g. own interviews or photo reports.]
E
Expertise: a name, a face, a track record
“Admin” is not an author.
Do this
A named byline on every article, linked to an author page.
Author page: photo, bio, what they cover, all their texts.
Stay on your beat. Depth in a few topics beats a bit of everything.
Money or health topics: add “reviewed by” an expert.
In code
/autor/jan-kowalski <a rel="author"> "@type": "Person" "jobTitle", "knowsAbout"
E-E-A-T 2 / 4 · WarsawJS #144
Author pages are the cheapest big win for a developer. One template, one route, one Person schema. knowsAbout tells parsers what the author is an expert in.
A
Authority: others vouch for you
You can’t declare it. You can only earn it.
Do this
Publish original data that others will cite.
Show up elsewhere: interviews, podcasts, talks (hi 👋).
One entity everywhere: same name, logo, links. Add Wikidata.
Pillar pages with strong internal linking on your core topics.
In code
"@type": "Organization" "sameAs": [ "wikidata…", "linkedin…", "instagram…" ]
E-E-A-T 3 / 4 · WarsawJS #144
For LLMs authority is mostly co-occurrence: how often your name appears next to a topic in sources they trust. Speaking here tonight literally builds authority. sameAs ties all your profiles to one entity.
T
Trust: the boring pages that matter most
Google calls Trust the most important member of the family.
Do this
About, contact, who owns and funds the site.
Editorial and corrections policy. Fix errors in public.
Label sponsored content clearly. Every time.
Link primary sources. Honest dates: published and updated.
Trust killers
Ads on top of the content
“Updated today” on a 2019 article
Fake reviews, fake authors
No HTTPS in 2026 😬
E-E-A-T 4 / 4 · WarsawJS #144
Google’s rater guidelines say an untrustworthy page has low E-E-A-T no matter how experienced or expert it looks. For a media site like K MAG, clear labels on sponsored articles are part of this.
Tell the machines who wrote it
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "…", "datePublished": "2026-11-11", "author": { "@type": "Person", "name": "Piotr Zientara", "url": "https://piotrzientara.pl", "sameAs": ["…linkedin…", "…github…"] } } </script>
One identity, linked everywhere.
That is the Experience and Expertise part of E-E-A-T, written in a format a crawler can parse.
WarsawJS #144 · piotrzientara.pl
Ten minutes of work per template. The author object with url and sameAs is the cheapest trust signal you can ship.
Before you publish: Who, How, Why
Who?
Is it obvious who wrote this, and can a reader learn more about them in one click?
How?
Did we say how it was made: tested, measured, interviewed? Was AI involved?
Why?
Does it exist to help a person, or only to catch traffic?
Based on Google Search Central: “Creating helpful, reliable, people-first content”
Three questions from Google’s own guidance. Put them in your CMS as a pre-publish checklist. If the answer to Why is only traffic, that page will not survive the next core update and will not get cited.
Case study
K MAG
Real numbers, straight from Google Analytics and AlfaUMi Monitor. Screenshots taken today.
no stock charts were harmed 📈
Now the fun part: what actually happened at K MAG.
How we measure: AlfaUMi
Google and ChatGPT visibility in one check.
SEO, GEO, content, technical, images
Monitor: AI citations, Bing, Search Console, GA, PostHog
Alerts when tracking silently breaks
alfaumi.pro
Live demo idea: click “warsawjs.com” in Quick analyze
Optional live demo: run warsawjs.com and see how our own community site does. Risky with venue wifi, so the next slide has the K MAG result as a backup.
kmag.pl: 85 / 100 , GEO 87
SEO 97 and images 100. Content and technical at 72: the next 25 actions are already on the list.
Source: AlfaUMi analysis of kmag.pl, 6 Nov 2026
A good score is not a finished job. The tool lists 25 actions, mostly content and technical. Honest moment: we are not done.
2026 so far: up and to the right
1.2M active users · +16.5%
Source: Google Analytics 4, K MAG, 1 Jan to 11 Nov 2026 vs previous period
Year to date versus the previous period of the same length. Views up two thirds, engagement events more than doubled. The spikes are big stories; the baseline is what moved.
Last 90 days: still growing
1.3M views (+24.5%) and over a thousand people reading right now.
Source: Google Analytics 4, K MAG, last 90 days vs previous period
Same story on a shorter window. The realtime counter was above a thousand when I took this screenshot today.
Visibility index: 71 / 100
Strong visibility, above the 180-day median. AI citations already make up 24% of the mix.
Source: AlfaUMi Monitor, K MAG, 15 Oct to 11 Nov 2026
One number that blends Google, Bing, AI citations and traffic. Notice AI citations: almost a quarter of the visibility index, close to Google Search.
The robots noticed
22%
AI visibility: how often ChatGPT and Gemini bring up K MAG
90
Bing score, up 7% week over week . Bing feeds ChatGPT search and Copilot.
Source: AlfaUMi Monitor, K MAG, 11 Nov 2026
Bing is the underrated one. Many AI assistants use Bing results under the hood, so Bing visibility is AI visibility.
People don’t just land. They read.
90,187
scrolled to the end of an article
+42%
138,964
pageviews (PostHog)
+36%
133
newsletter sign-ups
+50%
Source: AlfaUMi Monitor, K MAG, 15 Oct to 11 Nov 2026 vs the 28 days before
Visibility that does not turn into reading is vanity. Here it does: finished articles up 42 percent, newsletter sign-ups up half.
What didn’t work
“mads mikkelsen”: 15,090 impressions, 0.13% clicked.
Visible is not the same as chosen. Google showed us; nobody wanted our take.
Mads, if you’re watching: call us 📞
Honesty slide. Impressions are cheap. If the title and the first paragraph do not answer the question better than everyone else, you are just decoration on the results page.
Checklist for developers
1 · Structured data
Article, Person, Organization in JSON-LD. Validate it.
2 · Real authors
Author pages, bios, photos, sameAs links to profiles.
3 · Answer first
Put the answer at the top of the page, then the story.
4 · Let bots in
Check robots.txt for AI crawlers. Server-render the content.
5 · Bing counts
Bing Webmaster Tools and IndexNow. AI search reads it.
6 · Measure it
Track AI citations, not only rankings. And check your tracking still fires.
WarsawJS #144 · piotrzientara.pl
[Fill in: which of these we did at K MAG, and in what order.] Point 6 is from experience: our monitor caught tracking events that stopped firing on 8 November.
Thanks!
Questions? Ask me, or ask ChatGPT and see if it quotes me.
piotrzientara.pl
Want this done professionally? xfaang.com
scan me, I’m E-E-A-T certified 😉
Thank you. QR goes to my site: treatises, blog, newsletter. Happy to talk GEO over pizza. If you want SEO, GEO and AEO done professionally for your company, that is what we do at Xfaang: xfaang.com.