About the WEO project
WEO was built by working backwards from a production marketing knowledge graph, then generalized into an open vocabulary — v0.2, an open draft, built to be riffed on.
Why "WEO"
Marketers already think in "-EO." SEO came first, then GEO, then AEO — a new acronym every time a new engine sits between content and its audience. The engines keep changing; the discipline underneath them doesn't: make your content legible and creditable to the machine standing between you and your audience.
WEO names that discipline once, rather than renaming it per engine. Its Engine taxonomy is built to absorb new surfaces — a new search engine, a new answer engine, a new agent — as subclasses, not as new letters bolted onto the front of "EO."
Status & versioning
WEO is at v0.2 — an open draft. Issues and pull requests are welcome, and the project is explicit that it's built to be riffed on rather than treated as finished.
Maturity varies by module, and each one says so:
weo-core.ttl— the stable substrate the rest of the ontology builds on.weo-visibility.ttl— field-tested against a working tracker, response-capture, and Neo4j implementation.weo-engagement.ttl— an early draft, published for discussion, addressing the pre-click funnel — the seam that engine-side data has historically been missing.
WEO is maintained by Inbound Found and released under CC BY 4.0: use it, extend it, ship it — just attribute.
For adopters: the TTL files are plain OWL, so they load into any triple store or ontology editor. The weo: namespace is served from GitHub Pages; a persistent-identifier redirect via w3id.org may be added later without changing any term's local name. The accompanying property graph schema, schema.cypher, targets Neo4j 5.x.
Standards & grounding
WEO doesn't invent its own semantics where established ones already exist. It grounds itself in:
- RFC 9110 — the IETF standards-track document defining HTTP semantics, architecture, and terminology shared across HTTP versions, published June 2022.
- RFC 6596 — the informational IETF spec (April 2012) defining the "canonical" link relation, letting a resource declare its preferred IRI among duplicate or superset content.
- WHATWG HTML and URL specifications — for how documents and addresses are actually structured on the web.
- The Google Search Console Search Analytics API — which exposes clicks, impressions, CTR, and position grouped by dimensions like query, page, country, and device.
- Andrei Broder's 2002 "A Taxonomy of Web Search" (ACM SIGIR Forum) — which established that web search intent is informational, navigational, or transactional. WEO's engagement module extends this taxonomy for its
SearchIntentindividuals.
Why this matters now: a 2024 Princeton/IIT-Delhi research paper formally introduced "Generative Engine Optimization (GEO)" as an optimization problem distinct from traditional SEO [arXiv:2311.09735]. That's evidence the "-EO" family is proliferating exactly the way WEO's Engine taxonomy is built to absorb — as subclasses, not sequels.
Contribute
WEO is a draft, and drafts improve by being argued with. Issues and pull requests are welcome on GitHub, and counter-proposals — including pointed questions about specific modeling choices — are explicitly invited, not just tolerated.
If a class, property, or module doesn't hold up against your own implementation, open an issue.
Prefer plain text?
Prefer plain text? Read the raw README on GitHub.