Enterprise marketing teams are asking engineering for something new: "Can we make ChatGPT and Google AI Overviews recommend us?"
This post is the engineering side of that conversation. If you want the plain-English background first, start with Kiyado's explainer on how to do generative engine optimization. Below is the practical, step-by-step version for large, multi-brand sites.
Quick definitions
Generative engine: any AI system that writes an answer instead of listing links. Think ChatGPT, Gemini, Perplexity, Claude, Copilot, and Google AI Overviews and AI Mode.
GEO: shaping content, identity and web presence so those systems find, trust and name your brand.
The research: a 2024 paper by Princeton, Georgia Tech, the Allen Institute for AI and IIT Delhi, presented at KDD 2024. It reported visibility gains of up to 40% (varying by domain), and found keyword stuffing had little or negative effect.
Step 1: Confirm crawlability first (GEO sits on top of SEO)
AI engines mostly retrieve from search indexes. If your pages aren't indexable, nothing else matters.
Spot-check robots and key headers for a representative URL set
for u in $(cat key-urls.txt); do
curl -s -o /dev/null -w "%{http_code} %{url_effective}\n" -A "Mozilla/5.0" "$u"
done
curl -s https://www.example.com/robots.txt
Checklist:
Key product and solution pages return 200, not soft-404s or redirect chains.
No accidental noindex on templates shipped by a CMS migration.
Canonicals point to the version you want cited.
Step 2: Make passages self-contained
Generative engines extract passages, not whole pages. Each section of a key page should answer one question on its own.
Before (unquotable):
We deliver world-class solutions to global customers.
After (quotable):
Acme Logistics runs 42 bonded warehouses across 9 countries, with same-day customs clearance at JFK and Newark.
Engineering implication: avoid hiding core facts in tabs, accordions that only load on click, or images of text.
Step 3: Name the entity explicitly
Pronouns break extraction. "It integrates with SAP" loses meaning when lifted. "Acme Logistics integrates with SAP S/4HANA" survives.
Add Organization schema with consistent identifiers on the homepage:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme Logistics Inc.",
"url": "https://www.example.com/",
"logo": "https://www.example.com/logo.png",
"sameAs": [
"https://www.linkedin.com/company/acme-logistics",
"https://www.crunchbase.com/organization/acme-logistics"
],
"address": {
"@type": "PostalAddress",
"addressLocality": "New York",
"addressRegion": "NY",
"addressCountry": "US"
}
}
Step 4: Run an identity consistency audit across properties
Enterprises often have dozens of subsidiaries, regional sites and directory listings. Mismatched names, addresses or service descriptions make AI engines hesitate.
Build a simple diff:
import csv
from collections import defaultdict
fields = ["name", "hq_city", "primary_service"]
seen = defaultdict(set)
with open("brand_listings.csv") as f: # one row per property/listing
for row in csv.DictReader(f):
for k in fields:
seen[k].add(row[k].strip().lower())
for k, values in seen.items():
if len(values) > 1:
print(f"Inconsistent {k}: {sorted(values)}")
Fix the source of truth, then push it to every listing your team controls.
Step 5: Map corroboration sources
AI engines trust third parties. For enterprise brands, that means analyst reports, trade publications, partner directories, event and speaker pages, and review platforms.
Keep a sheet with columns source, url, claim made about us, accurate? and owner. Review it quarterly. Inaccurate third-party pages are as damaging as missing ones.
Step 6: Build a repeatable AI visibility test harness
The Kiyado post describes a manual ten-minute test. At enterprise scale, script it, while respecting each provider's terms of service and API limits.
PROMPTS = [
"Who are the leading {category} providers in New York?",
"What is {brand} known for?",
"How does {brand} compare with {competitor}?",
"Which {category} vendor should an enterprise choose for {need}?",
]
def score(answer: str, brand: str, domain: str) -> dict:
return {
"named": brand.lower() in answer.lower(),
"cited": domain in answer,
# 'accurate' needs a human or a rubric check against your fact sheet
}
Log results monthly per engine. Track three rates: named, cited and accurate.
Common pitfalls we see on enterprise sites
A few patterns come up again and again when large organisations audit their AI visibility:
Facts locked inside PDFs. Capability statements, certifications and coverage maps often live only in downloadable PDFs. Some engines read them, many don't weight them, and almost none quote them cleanly. Put the key facts in HTML as well.
Regional sites that contradict each other. The US site says "operations in 9 countries", the UK site says 11 and the press kit says 12. An engine faced with three numbers may quote none of them, or the wrong one. Pick a source of truth and sync it.
Client-side rendering for core copy. If headline facts only appear after JavaScript runs, some crawlers will never see them. Server-render or pre-render your most important pages.
Over-gated content. Whitepapers behind forms are fine for lead generation, but keep a public, crawlable summary of every key claim.
No owner. GEO cuts across SEO, content, PR and engineering. Without a named owner, the consistency audit in Step 4 never gets repeated.
A quick FAQ for engineering leads
Do we need an llms.txt file? It's an emerging convention, not a standard that the major engines have committed to. It's cheap to add, but it won't fix weak content or inconsistent identity, so treat it as optional.
Will schema markup alone get us cited? No. Structured data helps engines understand who you are, but the passages they quote still come from your visible content.
How often should we re-test? Monthly is enough for most teams. Engines update often, so a single snapshot tells you little. Trends over a quarter tell you a lot.
Step 7: Set honest expectations with stakeholders
GEO is not a replacement for SEO. Technical SEO remains the foundation.
GEO is not a trick. Hidden text and prompt-injection tactics are out.
GEO is not a guarantee. The published gains vary by subject. Anyone promising a fixed number of AI citations is guessing.
A 30-day rollout plan
If you need to show progress quickly, this sequence fits into a single sprint cycle:
Week 1: Run the crawlability checks from Step 1 on your top 50 commercial URLs. Fix blockers first, because nothing else matters until engines can reach the pages.
Week 2: Rewrite the opening section of your ten most important product or solution pages as self-contained, entity-named passages (Steps 2 and 3).
Week 3: Run the identity diff from Step 4 across your regional sites, LinkedIn pages and major directories, and correct every mismatch you control.
Week 4: Stand up the test harness from Step 6, record a baseline, and share the first named, cited and accurate rates with stakeholders.
After that, move to a monthly rhythm: re-test, review the corroboration sheet from Step 5, and pick the next ten pages to improve. Small, steady improvements compound far better than a one-off "AI project."
Where to go from here
Queries such as enterprise ai seo and enterprise geo implementation are starting to show up in search data as large brands realise their AI visibility is unmanaged. Start with Steps 1–4. They're mostly engineering hygiene, and they pay off in classic search too.
If your team wants an outside audit of AI visibility across ChatGPT, Gemini, Perplexity and AI Overviews, Kiyado offers one free: Generative engine optimization services →
Top comments (0)