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 🤖

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.)
QR code linking to piotrzientara.pl

piotrzientara.pl

WarsawJS #144 · piotrzientara.pl · xfaang.com

🙅

Ranking #1 on Google for a query nobody types anymore

😎

Being the source ChatGPT quotes when your users ask

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

SEO, AEO, GEO: three games, one website

SEOAEOGEO
GoalRank in the listBe the answerBe quoted in a generated answer
WhereTen blue linksSnippets, People Also Ask, voiceChatGPT, Perplexity, Gemini, Copilot, AI Overviews
You winA clickThe answer boxA citation or a mention
MetricPosition, CTRSnippets ownedShare of AI answers
Main leverKeywords, links, speedQuestion and answer structureAuthority, quotable facts, clear entities

Good news: they stack. Do SEO well and you’re halfway to the other two.

WarsawJS #144 · piotrzientara.pl

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

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

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%

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

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

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

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

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

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

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

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

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

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”

Case study

K MAG

Real numbers, straight from Google Analytics and AlfaUMi Monitor. Screenshots taken today.

no stock charts were harmed 📈

How we measure: AlfaUMi

AlfaUMi homepage: See whether customers can find your business on Google and in ChatGPT. Domain input with Analyze free button, quick analyze for xfaang.com, kmag.pl, warsawjs.com, tasteray.com, and a sample report with AI Visibility 78, SEO 82, GEO 71, Performance 90, Social 64

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

kmag.pl: 85 / 100, GEO 87

AlfaUMi analysis for kmag.pl, Nov 6 2026: overall visibility score 85 of 100; SEO 97, content 72, technical 72, GEO 87, images 100

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

2026 so far: up and to the right

4.2M

views · +65.8%

13M

events · +135%

1.2M active users · +16.5%

Google Analytics, K MAG, Jan 1 to Nov 11 2026: 4.2M views up 65.8%, 13M events up 135%, 1.5M sessions up 11.4%, 1.2M active users up 16.5%

Source: Google Analytics 4, K MAG, 1 Jan to 11 Nov 2026 vs previous period

Last 90 days: still growing

Google Analytics, K MAG, last 90 days: 1.3M views up 24.5%, 4.6M events up 22.1%, 502k sessions up 15.7%, 405k active users up 10.4%, 1,075 users active in the last 30 minutes

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

Visibility index: 71 / 100

AlfaUMi Monitor, K MAG, Oct 15 to Nov 11 2026: overall visibility index 71 of 100, strong visibility, above the 180-day median, typical 66. Mix: Google Search 27%, AI citations 24%, site traffic 19%, site visitors 16%, Bing 14%

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

The robots noticed

AlfaUMi Monitor channels for K MAG: Bing 90, up 7% week over week, 90% of peak; Google Search 85, 85% of peak; AI visibility 22% in ChatGPT and Gemini

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

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%

AlfaUMi Monitor outcomes for K MAG, Oct 15 to Nov 11 2026: newsletter sign-ups 133 up 50%, pageviews 138,964 up 36%, scrolled to the end of an article 90,187 up 42%

Source: AlfaUMi Monitor, K MAG, 15 Oct to 11 Nov 2026 vs the 28 days before

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 📞

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

Thanks!

Questions? Ask me, or ask ChatGPT and see if it quotes me.

piotrzientara.pl

Want this done professionally? xfaang.com

QR code linking to piotrzientara.pl

scan me, I’m E-E-A-T certified 😉