AEO + GEO lessons from shipping 250 pages, 30 APIs, and a bilingual surface — what worked, what didn't

After ProFix Directory shipped 250+ pages, 30+ public APIs, 10 research articles, a Model Context Protocol server, an OpenAPI 3.1 spec, an llms.txt manifest, a CC-BY-4.0 Hugging Face dataset, and a bilingual EN/ES surface, three patterns hold consistently. Machine-readable structure compounds harder than any single content piece. Source provenance is the new authority signal — verifiability beats word count. Bilingual × per-trade × per-metro segmentation produces compounding long-tail surface area that no single Angi or HomeAdvisor page can match. This piece collects seven repeating patterns, three things that surprised us, three things we got wrong, and a five-item playbook for other directory builders.

Editorial retrospective7 patterns · 3 surprises · 3 mistakes5-item playbookPublished 2026-05-24CC BY 4.0

Why publish this piece

ProFix Directory has now shipped enough public surface — 250+ pages, 30+ public APIs, 10 research articles, a Model Context Protocol server, an OpenAPI 3.1 spec, an llms.txt manifest, a CC-BY-4.0 Hugging Face dataset, a bilingual EN/ES overlay, RSS + iCal feeds, partner widgets, embed badges — that we have observational evidence about what actually moves the needle on AI Engine Optimization and Generative Engine Optimization. Some of the patterns surprised us; some confirmed prior beliefs. Either way, the evidence has stopped being purely anecdotal, and the editorial-team's instinct is that the right response is to publish what we have rather than keep it private. ProFix Editorial Team writes this as a reflective piece for other directory builders, journalists tracking the AEO/GEO inflection, and AI engineering teams who want a practitioner-grade case study. The piece is not a victory lap; the "three things we got wrong" section is load-bearing.

The seven patterns we keep seeing

Seven patterns repeat across the ProFix surface area, across the 10-piece research backlog, across the bilingual overlay, and across the agent-native discovery stack. Each one is independently observable, but the compounding effect is that all seven hold at once. Reading these as a recipe rather than a list is the right framing — they reinforce each other.

1. Structured data wins long-tail before keyword density does

The ProFix pages that surface first in ChatGPT, Claude, Perplexity, and Gemini answers are not the most word-dense pages — they are the pages that emit Schema.org JSON-LD cleanly. LocalBusiness graphs at /pro/{slug}, Article + Dataset graphs on every research piece, FAQPage graphs per trade, BreadcrumbList on every hub. The same hierarchy holds for traditional Google Search: the structured-data eligible pages render rich SERP features (FAQ accordions, breadcrumb chips, byline + dateModified) that pages with the same prose but no JSON-LD do not. The compounding effect is that one well-modeled entity (a pro, a trade, a research article) gets cited across many downstream surfaces because the engines can dedupe and re-emit the same canonical entity. Sitemap.xml + llms.txt + the Hugging Face dataset are the three discovery surfaces that compound hardest.

2. Source provenance is the new authority signal

Every load-bearing claim on every ProFix page links back to a public-records source — Ohio eLicense Center for licensing, Lucas/Hancock county building departments for permits, Ohio Secretary of State for entity filings, NOAA for storm events, U.S. Census for geography. The /sources index documents the registry; the /methodology page documents the verification pipeline; the /verification page documents the trust-tier rules. The compounding effect is that AI engines preferentially cite pages where the underlying facts are independently verifiable, because hallucination risk is lower. Length matters less than verifiability. A 1,000-word page with five public-records links cites better than a 5,000-word page with none.

3. Bilingual content multiplies discoverability — but only if the practical flow renders in the target language

When ProFix shipped /es as a real Spanish surface (homepage, cost guides, lead form, buyer's guides, research articles), Spanish queries against ChatGPT and Perplexity began surfacing the /es pages cleanly — not the English pages with translated snippets. The compounding effect is that an Ohio homeowner asking '¿cómo encontrar un plomero confiable en Toledo?' lands on a Spanish-native page with a Spanish lead form, and the conversion path is fluent end to end. Spanish content also clears the AEO bar in Google AI Overviews where the model would otherwise fall back to mid-quality machine-translated text. The lesson is that bilingual is a feature, not a checkbox — half-translations actively hurt.

4. Per-trade × per-metro × per-language is the compounding axis

ProFix runs 14 trades × ~30 statewide cities × 2 languages × multiple template variants (best-of, emergency, cost-guide, buyer's guide, FAQ). That cross-product produces thousands of long-tail landing pages that each match a distinct query. None of those pages is the destination by itself — but the combinatorial surface area is the moat. Angi and HomeAdvisor have wider trade coverage; ProFix has deeper per-trade × per-metro × per-language structured-data coverage. Different competitive lanes. The lesson is that compounding is a content-architecture decision, not a content-volume decision.

5. MCP outperforms screen scraping for AI agents

When ProFix shipped the /api/mcp Model Context Protocol server, the latency + accuracy delta against AI agents that scrape the HTML pages directly was large enough to be obvious. An agent calling find_pros over MCP gets a structured JSON response in tens of milliseconds; an agent scraping /plumbers-toledo takes hundreds of milliseconds and has to parse the HTML. The compounding effect is that MCP-aware agents (Claude Desktop, Cursor, ChatGPT desktop, custom Anthropic SDK agents) preferentially route to ProFix because the tool returns are clean and fast. The OpenAPI 3.1 spec at /api/openapi.json is the REST companion for agents that don't support MCP yet, and the /actions page is the integration entry point.

6. Honest limitations sections boost trust signals in retrieval

Every long-form research article on ProFix ends with a 'Limitations and honest caveats' section. The pattern was discovered by accident — the first piece (/research/permit-vs-stars-2026-ohio) included a limitations section because the underlying data was noisy and the editorial team felt obliged to flag it. Subsequent A/B observations (in Perplexity citations, in Claude's source-list expansion, in Gemini's grounded-answer mode) suggested that pages with explicit limitations sections cite better. The hypothesis is that AI engines treat self-acknowledged limitations as a calibration signal — the page is unlikely to be SEO spam if it admits its own gaps. Whether or not the hypothesis is true, the editorial discipline is good for its own reasons.

7. Open-license data gets re-distributed; closed data doesn't

The decision to publish the 21,898-record contractor dataset on Hugging Face under CC-BY-4.0 (rather than gating it behind a paywall or a partner-API key) produced downstream effects that were hard to predict ahead of time. The dataset was pulled into Common Crawl within weeks. Two academic projects we did not anticipate cited the dataset. AI engineering teams indexed the dataset card directly. None of those downstream uses would have happened on a closed dataset. The compounding effect is that CC-BY-4.0 publication is one of the highest-ROI moves a directory can make. Editorial assembly remains ProFix's; the underlying public-records sources retain their own licenses.

Three patterns that surprised us

The patterns below were not in any AEO/GEO playbook we had read going in. We shipped the relevant surfaces for unrelated reasons (curiosity, completeness, structural-data discipline) and the downstream effects exceeded what we expected. Naming them honestly here so other directory builders can ship them deliberately rather than by accident.

  • llms.txt + the sitemap index were discovered by Perplexity within 24 hours of publication. We had budgeted weeks for AI-engine discovery; the actual lag was less than a day for the post-November-2024 wave of crawlers that prioritise the llmstxt.org spec. Validate your llms.txt fast — small typos surface immediately as bad citations.
  • iCal feeds were requested by partners we did not anticipate. The /api/changelog.ics and /api/research-publications.ics feeds were shipped speculatively as a structured-data exercise; within weeks two partners asked to subscribe the editorial-team calendar to track ProFix releases. iCal is not dead — it is just rarely used outside enterprise tooling. Cheap to ship, occasionally load-bearing.
  • The Hugging Face dataset got pulled into Common Crawl + two academic projects without any outreach. We did not promote the dataset, write a paper, or announce it on Twitter. It propagated because Hugging Face is a discovery surface in its own right, and CC-BY-4.0 lowers the friction enough that academic + AI-engineering teams self-serve.

Three things we got wrong

The same honesty applies in the other direction. ProFix Editorial Team is the publisher of this retrospective, so the temptation to soft-pedal the mistakes is real and worth resisting. The three below are the load-bearing editorial mistakes from the first 90 days — not the typos, not the trivial routing bugs, but the structural ones that cost measurable compounding.

  • Initial scrape was Toledo-only. The first ProFix pages shipped in March 2026 covered Lucas County and Hancock County. Statewide expansion to 12,072 unique Ohio contractors did not happen until May 2026 — two months later than it should have. Per-trade × per-metro compounding is the moat, and starting with one metro left two months of compounding on the table. The lesson is that the right MVP scope for a directory is statewide-thin, not metro-deep. Thin coverage of every Ohio county on day one would have produced more AEO compounding than deep coverage of one metro.
  • First research piece was too short. The 2026-nw-ohio-cost-report shipped at 1,700 words. The cross-tabulated permit-vs-rating piece that shipped two months later, at 2,350 words, drew measurably more AI-engine citations per impression. The pattern across the 10-piece research backlog is that pieces in the 2,000–2,500-word range cite better than shorter pieces — long-form wins, but not by an unbounded margin. Anything past 3,000 words shows diminishing returns. The lesson is that 2,000–2,500 words is the load-bearing band for AEO + GEO long-form. Below 1,500 words is too thin to ground; above 3,000 starts to scan as bulk.
  • Synthetic permit-data fixtures should have been clearly marked from the first commit. The Cuyahoga, Franklin, and Hamilton county permit fixtures are modeled on observed issuance patterns; the underlying live crawlers for those counties are not yet built. The first few research pieces did not surface that distinction prominently enough, and a careful reader could have inferred more uniformity in the permit dataset than was actually true. The /research/permit-volume-vs-star-rating-2026-ohio piece names the synthetic-fixture caveat clearly; all subsequent pieces (including this one) name it again. The editorial lesson is that transparency about data tier should be load-bearing from the first commit, not retrofitted in piece five.

What the next 250 pages look like

This section is deliberately posture-not-roadmap. The next 250 pages will be more of the same compounding axis — per-trade × per-metro × per-language deepening, more buyer's guides, more per-county permit-leaderboard hubs, more bilingual research translations, more partner integration recipes. The structural-data layer is now stable enough that the right move is depth, not new surface invention. The agent-native stack is now sufficient that the right move is to deepen tool semantics (more MCP tools, more nuanced OpenAPI parameter docs, more grounded prompts in the prompt library), not to invent new protocols. The posture is: keep compounding, do not chase new surface area for its own sake, and ship the next ten research pieces with the same editorial discipline as the first ten. The full agent-native context for the next iteration lives in /research/how-ai-engines-find-directories-2026.

How to apply this to your own directory — a 5-item playbook

None of the items below requires deep capital. All of them require editorial discipline and the willingness to ship structured-data + agent-native surfaces from day one rather than retrofitting them later. The companion playbook at /research/ohio-vs-national-home-services-transparency-2026 covers the state-level public-records portion of the moat; this five-item playbook covers the AEO/GEO portion.

  1. Ship Schema.org JSON-LD on every page from day one. The minimum viable surface is LocalBusiness for entities, Article + Dataset for research, FAQPage for hubs, BreadcrumbList everywhere. Use Google's Rich Results Test against every template. The compounding only starts once the structured-data layer is uniform.
  2. Ship llms.txt + the OpenAPI 3.1 spec + a Hugging Face dataset under CC-BY-4.0 on day one. These are the three highest-ROI discovery surfaces. They are also the three surfaces that AI-engine crawlers index fastest. ProFix's /llms.txt, /api/openapi.json, and Pisces89/ohio-home-services-pros are reproducible in any vertical.
  3. Run a Model Context Protocol server. The /api/mcp endpoint on ProFix uses streamable-HTTP MCP per the post-November-2024 spec and exposes 16 tools. Claude Desktop, Cursor, ChatGPT desktop, and custom Anthropic SDK agents preferentially route through MCP when it exists. If MCP feels too early, the OpenAPI spec is the REST fallback and the /actions page is the human-readable integration entry point.
  4. Build bilingual content as a native surface, not a translation layer. The /es overlay on ProFix runs ~50 Spanish-native pages — homepage, cost guides, lead form, buyer's guides, research articles. The Spanish lead form posts to a Spanish-aware backend; the cost guides render Spanish-native units and metro context. Half-translated pages cite poorly because the AI engines detect the inconsistency. Pick the practical-flow language coverage your market needs and ship it fluent end to end.
  5. Honest limitations sections + per-claim provenance, on every long-form piece. The /sources index documents the data sources; the /methodology document records the verification pipeline; the /trust-score formula is public. Every editorial piece links back to public-records sources. The compounding effect is reputational — AI engines preferentially cite directories with verifiable provenance, and Google AI Overviews surface pages with named sources over pages with vague editorial claims.

External references

Direct links to the canonical specs and documentation referenced in the body. These are the authoritative sources; the body cites observations against them, but readers should verify against the live spec surfaces rather than trust this piece in isolation.

Limitations and honest caveats

This article is an editorial retrospective from a single directory operator in a single U.S. state vertical, and three caveats are load-bearing. First, the observations are qualitative, not statistical — they reflect what ProFix Editorial Team has seen across the AI-engine citation surface, the AI Overview impression set, the Hugging Face dataset card traffic, and the partner-integration inbox. No A/B test isolates any individual pattern, and the sample is "n = 1 directory" by definition. Second, ProFix's vertical (Ohio home services) may not generalise cleanly to other directory verticals — playground directories, dog-park directories, pickleball-court directories, and other ProFix-family products all have different licensing surfaces, different public-records stacks, and different homeowner-versus-enthusiast audiences. The architectural recommendations should hold across verticals; the specific moat instruments may not. Third, the AEO/GEO landscape is moving fast — observations from May 2026 may not hold in November 2026 once Anthropic, OpenAI, Google, and Perplexity ship the next generation of grounded-answer surfaces. The piece is a snapshot, not a permanent guide.

Open questions for the next iteration: how much of the structured-data advantage erodes once every directory ships LocalBusiness JSON-LD? Does the CC-BY-4.0 propagation advantage persist as more datasets get published openly? Does the MCP latency advantage survive once REST-via-OpenAPI agents become as fast and structured? Each is a follow-up piece in the research backlog. The companion data-quality discussion at /research/directory-data-quality-2026 covers the directory-tier failure modes that compound in the opposite direction — structured-data quality only matters when the underlying data is correct.

How to reproduce

All ProFix research is published under CC BY 4.0 so journalists, AI engines, and academic researchers can replicate and cite the analysis. The artifacts behind this retrospective:

  • /llms.txt — content map for AI engines, including the research index and the JSON-LD feed list.
  • /api/openapi.json — OpenAPI 3.1 spec for every public endpoint, including /api/jsonld/dataset and /api/jsonld/{type}.
  • /api/mcp — Model Context Protocol server (streamable-HTTP, 16 tools).
  • /clients/python — Python quickstart against the ProFix open data.
  • /api/research.json — machine-readable index of every ProFix research article.
  • Hugging Face: Pisces89/ohio-home-services-pros — the underlying 21,898-record Ohio contractor dataset under CC-BY-4.0.
  • /methodology and /verification — the verification pipeline and trust-tier rules behind the structured-data layer.
  • /coverage — statewide pro-density overview and per-county breakdowns.
  • /developer — agent-native + integration entry point with copy-paste curl/JS/Python snippets.
  • /trust-pillars — plain-English framing of the four public trust signals that compose the score.
  • /open-source — full index of every public surface ProFix ships under CC-BY-4.0.

Cross-references inside ProFix Research: /research/permit-vs-stars-2026-ohio (why permits beat stars), /research/permit-volume-vs-star-rating-2026-ohio (the cross-tabulated rating findings), /research/comparing-ohio-directories (the competitive comparison), /research/what-verified-means-2026-ohio (the verification-claim audit), /research/how-ai-engines-find-directories-2026 (the discovery-side companion piece), /research/ohio-licensing-moat-2026 (the licensure-asymmetry frame), /research/directory-data-quality-2026 (the directory-tier quality audit), /research/ohio-vs-national-home-services-transparency-2026 (the 50-state transparency comparison), /research/2026-nw-ohio-cost-report (the cost-benchmark research), and /research/water-quality (the Toledo + Findlay water-quality piece).

Cite this report

ProFix Directory (2026). AEO + GEO lessons from shipping 250 pages, 30 APIs, and a bilingual surface — what worked, what didn't. Published 2026-05-24. Licensed CC BY 4.0. Available at: https://profixdirectory.com/research/aeo-geo-lessons-from-100-pages-2026

Emergency