SEO · GEO · AEO

SEO, GEO and AEO: how we orchestrated four AI models to move our own /goal

Positioning changed. It's no longer one engine — it's three. And winning all three at once, honestly, requires orchestrating multiple AI models like a team with a clear contract.

By 2026 it stopped making sense to say "SEO" without a qualifier. A text search engine, a generative engine and an answer engine are three different machines with three different success criteria. Google indexes. ChatGPT recommends. Claude answers. And the person Transgenia wants to reach — a Mexican industrial SME considering an AI investment — consults all three, almost always the same afternoon, before writing an email.

This text is not a brand defense. It's the honest description of how, between June and July 2026, we orchestrated four different AI models to move a concrete, measurable positioning objective for our own company. No smoke. No inflated numbers. With the same rules we apply to any client: human gate, verifiable evidence and zero fabrication.

1. Three engines, one objective

quadrantChart
    title Three disciplines for three engines
    x-axis "Cites sources ←" --> "→ Synthesizes answer"
    y-axis "Destination page ←" --> "→ Direct answer"
    quadrant-1 "AEO · Answer Engine Optimization"
    quadrant-2 "GEO · Generative Engine Optimization"
    quadrant-3 "Classic SEO"
    quadrant-4 "SEO + Featured Snippets"
    "Google (SERP)": [0.20, 0.20]
    "Google AI Overviews": [0.35, 0.75]
    "ChatGPT / Perplexity": [0.85, 0.60]
    "Claude answers": [0.75, 0.85]
    "SGE / Gemini": [0.55, 0.70]
Each engine evaluates content with different criteria. Optimizing only for Google in 2026 leaves out two thirds of the buyer's real journey.

SEO (Search Engine Optimization) solves the classic question: when someone types "Odoo consultancy Mexico" into Google, does Transgenia appear on the first page? Here the traditional signals matter: title, meta, content, backlinks, sitemap, page speed.

GEO (Generative Engine Optimization) solves a newer question: when someone asks ChatGPT or Perplexity "which Mexican companies implement Odoo?", does the model cite Transgenia as one of its sources? Here it matters that the site is open to AI crawlers, that information is structured, and that mentions exist on third-party sources the model considers authoritative.

AEO (Answer Engine Optimization) is the most aggressive evolution: when someone asks Claude "recommend an Anthropic partner in Mexico", does the model deliver the company name directly in the response, without forcing the user to click anywhere? Here specific pages with JSON-LD schema, FAQPage, and verifiable authority evidence matter.

The three overlap, but they are not interchangeable. A site that wins in SEO can lose in AEO if its content is not well structured for direct query. A site that wins in GEO can lose in SEO if its content is cited but doesn't rank for keywords. A serious plan for 2026 optimizes all three, not one.

2. The measurable /goal

Before touching a line of code, we defined a measurable objective. Without a measurable objective there is no discipline; there is opinion.

Transgenia's 2026-Q3 /goal: move from zero to ≥5 organic keywords ranked in Ahrefs plus ≥1 appearance in AI chatbot answers to the question "which Mexican companies are the best Claude.ai partners?" — all before quarter close, with verifiable evidence week by week.

This /goal is not aspirational. It's a contract with a metric: every Friday, Ahrefs opens, GSC opens, and four chatbots (Claude, ChatGPT, Perplexity, Gemini) open with the same question. The numbers that appear on screen go into a CSV. If the /goal doesn't move, nothing merges.

flowchart LR
    A([/goal measurable
5 kw + 1 chatbot]) --> B[Phase 0–5
execute] B --> C{Human gate
Opus 4.8} C -->|GREEN| D[Deploy PROD] C -->|RED| B D --> E[Weekly measurement
Ahrefs + GSC + chatbots] E --> F([Live CSV
evidence]) F -.-> G{Did the /goal move?} G -->|Yes| H[Consolidate pattern] G -->|No| I[Fresh diagnosis] H --> A I --> A style A fill:#FB6C25,stroke:#FBA225,color:#fff style C fill:#004E89,stroke:#00D9FF,color:#fff style D fill:#2ecc71,stroke:#27ae60,color:#fff style G fill:#F7931E,stroke:#FBA225,color:#fff
A closed loop. If the /goal doesn't move, the diagnosis feeds the next cycle. Content is not "uploaded" blindly.

3. Multi-model orchestration: four models, one conductor

A generalist model can write decent SEO. It can write decent GEO. It can design decent AEO. But when all three must be done at scale, with a real budget, and without wasting the best resource on the cheapest work, the answer is not "use more of a single model." It's orchestrating several, each where it is best, with a human gate at the end.

flowchart TB
    subgraph EXEC ["Specialized executors"]
        GLM["GLM-5.2
Code surgery at volume
SWE-bench 62.1 · 1M ctx · ~3× cheaper
"] GEM["Gemini 3 Pro
Multimodal visual QA
Screenshots · EN/ZH drafts
"] MIS["Mistral Vibe
Small async research
Work Mode · monitoring
"] end HUM([Saurat · Efraín
/goal owner]) OPUS{{"Claude Opus 4.8
ORCHESTRATOR · GREEN GATE
Terminal-Bench 2.1 · 85.0"}} HUM -->|briefs
by phase| OPUS OPUS -->|packaged
prompt| GLM OPUS -->|packaged
prompt| GEM OPUS -->|packaged
prompt| MIS GLM -->|delivers| OPUS GEM -->|delivers| OPUS MIS -->|delivers| OPUS OPUS -->|live
verification| GATE{"GREEN gate
real evidence?"} GATE -->|Yes| VOBO[Human sign-off] GATE -->|No| OPUS VOBO --> PROD[(Deploy PROD)] style OPUS fill:#004E89,stroke:#00D9FF,color:#fff style GATE fill:#F7931E,stroke:#FBA225,color:#fff style VOBO fill:#2ecc71,stroke:#27ae60,color:#fff style HUM fill:#FB6C25,stroke:#FBA225,color:#fff style PROD fill:#8e44ad,stroke:#a569bd,color:#fff
Opus 4.8 never executes volume work — it orchestrates and verifies. GLM does code surgery, Gemini does visual QA, Mistral does async research. The human signs.

A key principle: the best resource does not execute the cheapest work. Opus 4.8 leads Terminal-Bench 2.1 with a score of 85.0 — using it to rewrite 40 SEO titles at volume is waste. GLM-5.2 has 1 million tokens of context and costs roughly a third, with a score of 62.1 on SWE-bench Pro (higher than Gemini 3 Pro at 54.2). For code surgery at volume, GLM. To verify honesty and decide GREEN, Opus.

4. The model/task matrix

quadrantChart
    title Model vs Task (July 2026)
    x-axis "Low cost ←" --> "→ High cost"
    y-axis "Uni-modal ←" --> "→ Multi-modal (video/image)"
    quadrant-1 "Critical verification"
    quadrant-2 "Visual QA · UX · assets"
    quadrant-3 "Code volume"
    quadrant-4 "Orchestration · gate"
    "Opus 4.8": [0.80, 0.30]
    "GLM-5.2": [0.20, 0.20]
    "Gemini 3 Pro": [0.55, 0.85]
    "Mistral Vibe": [0.25, 0.35]
Each model has a natural quadrant. The discipline is to respect it.

5. Phase-by-phase pipeline: what was done, in what order

All the work was organized in six numbered phases from 0 to 5. Each phase has an operational owner (one of the models or a human), a physical deliverable, and a human gate before production is touched.

gantt
    title SEO/GEO/AEO Pipeline · Transgenia · 2026-Q3
    dateFormat  YYYY-MM-DD
    axisFormat  %d %b
    section Phase 0 · P0 SEO
    Title · meta · FAQPage EN         :done, f0a, 2026-07-09, 2d
    llms.txt reinforce Odoo           :done, f0b, 2026-07-09, 1d
    Hero H1 with Odoo (3 languages)   :done, f0c, 2026-07-10, 2d
    section Phase 1 · Identity
    Badge "Registered" 3 languages    :done, f1, 2026-07-10, 2d
    section Phase 2 · Content
    Verified fact-pack (19 facts)     :done, f2a, 2026-07-11, 1d
    EN drafts (adoption + pricing)    :done, f2b, 2026-07-11, 2d
    ES + ZH translation parity        :done, f2c, 2026-07-11, 2d
    section Phase 3 · Sector
    Pillar /clinics (ES · EN · ZH)    :done, f3a, 2026-07-12, 1d
    Pillar /trading-companies         :done, f3b, 2026-07-12, 1d
    "Sectors" nav in 24 pages         :done, f3c, 2026-07-12, 1d
    section Phase 4 · Authority
    Public VORANTIS research          :active, f4a, 2026-07-14, 3d
    Backlink outreach (Antoni)        :f4b, after f4a, 7d
    section Phase 5 · Partner Network
    Progress tier Registered→Select   :f5, 2026-07-15, 30d
A real pipeline, with real dates, real owners, and verifiable statuses. Phases 0–3: GREEN. Phase 4: in progress. Phase 5: parallel.

Each phase has a hard rule: it doesn't advance to the next unless the observable effect is in production. A fix "committed but not deployed" does not count as done. This rule seems obvious; nonetheless it's the most expensive lesson we learned in June (see §7).

6. Gate discipline: draft → verify → GREEN → deploy

No change reaches production without passing a human gate informed by Opus 4.8. The gate is not a ceremonial signature: it's a live verification with real URL, cache-bust and cited HTML evidence.

flowchart LR
    D1["Executor delivers
draft + evidence"] --> V1{"Opus verifies
live"} V1 -->|"Numbers vs
cited source"| C1{"Zero
fabrication?"} V1 -->|"Fetch URL PROD
with cache-bust"| C2{"Observable
effect?"} V1 -->|"Client
anonymized"| C3{"Sign-off per
named case?"} C1 --> AGG{"All
green?"} C2 --> AGG C3 --> AGG AGG -->|Yes| GREEN(["GREEN
ready for sign-off"]) AGG -->|No| REJ(["RED
back to executor"]) GREEN --> HUM["Saurat
explicit VoBo"] HUM --> MERGE[(Merge · Deploy)] REJ -.-> D1 style V1 fill:#004E89,stroke:#00D9FF,color:#fff style GREEN fill:#2ecc71,stroke:#27ae60,color:#fff style REJ fill:#e74c3c,stroke:#c0392b,color:#fff style HUM fill:#FB6C25,stroke:#FBA225,color:#fff style MERGE fill:#8e44ad,stroke:#a569bd,color:#fff
The gate has three independent criteria; all three must be green. Only one in red is enough to send the work back to the executor.

An example from the real cycle: one of the models delivered an analysis of "orphan posts" and suggested un-orphaning and publishing them. Opus's gate, by fetching live, found that those posts had <meta name="robots" content="noindex"> by design (they were Tier-2 drafts deliberately parked) and contained placeholder [[REDACT: …]]. Publishing would have served thin content to users and to Google. The gate rejected the proposal and reframed: they were not accidental orphans; they were drafts pending completion. The editorial decision passed to Saurat.

7. Zero fabrication: the fact-pack as an operating principle

In an industry where models hallucinate numbers at the same rate they produce correct paragraphs, the only defense is a single source of truth for numbers and dates.

sequenceDiagram
    autonumber
    participant U as Saurat
(owner) participant O as Opus 4.8
(orchestrator) participant R1 as Researcher 1 participant R2 as Researcher 2 participant V1 as Adversarial verifier 1 participant V2 as Adversarial verifier 2 participant FP as fact-pack.md
(single source) U->>O: I need 20 verifiable facts about X O->>R1: Find 10 facts with source URL O->>R2: Find 10 facts with source URL (independent) R1-->>O: 10 facts + sources R2-->>O: 10 facts + sources O->>V1: Open each URL, cite verbatim O->>V2: Open each URL, contradict if you can V1-->>O: 18 confirmed · 2 rejected V2-->>O: 17 confirmed · 3 rejected O->>O: Intersection
+ nuance notes O->>FP: Write fact-pack
19 citable facts FP-->>U: Single input
for all drafts Note over FP: If a draft asks for a number
that is not in the fact-pack:
write qualitative
or "(data not available)".
NEVER invent.
Every number in a published article has a citable URL that was opened by hand by Opus. If it's not in the fact-pack, it's not in the article.

In the real July cycle, the fact-pack for the "AI Adoption in LATAM" and "AI Vendor Pricing" posts settled at 19 verified facts, all with a direct URL to a primary source (WEF+McKinsey, ECLAC, SAP LatAm, Stanford HAI, IMF, official pricing from Anthropic/OpenAI/Odoo). Zero "context" numbers added by the model. Two numbers proposed by researchers were rejected by adversarial verifiers because they failed the citation standard.

8. The expensive lesson: worktree without deploy = zero effect

The whole architecture above was designed for a specific reason: in the previous wave, one model delivered a technically impeccable P0 — rewritten titles, added FAQPage, reinforced llms.txt — and everything stayed trapped in a worktree without commit. The central repository didn't move; production didn't either. The /goal stayed still one more week.

flowchart LR
    subgraph WT ["Local worktree"]
        F1["Files edited
correctly"] end subgraph GIT ["Git · repository"] F2["Commit · push"] end subgraph GH ["GitHub · PR"] F3["Merge to main"] end subgraph PRD ["Server · nginx"] F4["git pull + reload"] end subgraph EFE ["Observable effect"] F5["Live URL
cache-bust
fetch confirms"] end F1 -.->|"❌ without this step
= artifact"| F2 F2 -.->|"❌ without this step
= artifact"| F3 F3 -.->|"❌ without this step
= artifact"| F4 F4 -.->|"❌ without this step
= artifact"| F5 F1 --> F2 --> F3 --> F4 --> F5 style F5 fill:#2ecc71,stroke:#27ae60,color:#fff style F1 fill:#e74c3c,stroke:#c0392b,color:#fff
The only green row is the last one. Everything else is artifact. A "correct" fix that doesn't reach the server does not move the /goal.

Since this lesson, no work is declared "done" until the production URL, with cache-bust ?v=<timestamp>, returns HTML with the changed fragment. No exceptions. It applies to the blog, to pillar pages, to robots.txt, to backlinks: if there is no observable effect on the surface that Google, ChatGPT or Claude can actually see, the work does not count.

9. How this applies to your company

None of the above is exclusive to a mid-size Odoo consultancy. The same discipline applies to any SME or mid-market company that decided to take its digital presence seriously in 2026:

This is the work we do for clients that want to replicate the discipline in their own domain. The AI Solutions page describes how it applies to specific industries.

Frequently asked questions

Does traditional SEO still make sense in 2026?
Yes, and it remains the foundation. A site that does not rank on Google is almost never cited by chatbots — models learn what is authoritative largely from the same signals as Google. The difference in 2026 is that SEO alone is no longer enough.

What exactly is GEO and how does it differ from AEO?
GEO (Generative Engine Optimization) works so that your company is cited as a source by generative engines (ChatGPT, Perplexity, SGE). AEO (Answer Engine Optimization) goes one step further: it works so that the engine's answer delivers directly what your company does or who it is, without forcing the user to click. GEO wins references; AEO wins the direct answer.

Why use four models instead of just the best one?
Cost, capability and honesty. The model leading in quality (Opus 4.8) is also the most expensive; using it to rewrite 40 titles at volume is waste. A model with 1M context tokens and low pricing (GLM-5.2) is optimal for code surgery, but should not be the one deciding what is honest to publish. Orchestration is what lets you combine quality and cost without lowering the bar.

What is a "human gate" and why isn't auto-approval enough?
A human gate is an explicit point in the pipeline where an informed human — typically the owner of the /goal or the project — signs off before a change touches production. Without a human gate, model errors (hallucinations, inflated numbers, brand contradictions) reach the end user. The gate is not friction; it's the reason you can move fast without breaking things.

How long does it take to see /goal results?
It depends on the starting point. A site with a low Domain Rating and no new backlinks may see position movements in 4–8 weeks for keywords already ranking on the second page. Being cited in a chatbot typically requires stable presence over months on sources the model considers authoritative. "Results in 2 weeks" is almost always smoke.

How to start if my company has neither SEO nor GEO?
With order. First, an honest diagnosis of which keywords are already being captured (even partially). Second, a measurable /goal with a date. Third, the technical P0s — titles, meta, llms.txt, allowing AI crawlers in Cloudflare, correct sitemap. Fourth, pillar content with a fact-pack. Winning the three engines starts by not breaking the first.

← Back to Blog