SEO / AEO Global Rules
Per-surface schema types
Per-surface schema types — documentation pending.
Complete
Each of the 7 detail surfaces emits a different primary schema.org `@type` plus the cross-module `mentions` array. The mapping is locked — changing a surface’s primary type invalidates the entity graph crawlers have already indexed.
The 7 surface → schema mapping
- Opportunity Detail
- Primary: `CreativeWork` (planned migration to `BusinessEvent` once application-window fields stabilize). Additional: `Organization` author (StartupHub.today), `Organization` organizer, `Place` location.
- Founder Profile
- Primary: `Person`. Combined with: `BreadcrumbList`, `ProfilePage`. `affiliation: Organization` when linked startup exists. `subjectOf: Article[]` when mentioned in editorial.
- Startup Showcase
- Primary: `Organization`. With: `foundingDate`, `address: PostalAddress`. `founder: Person[]` for linked founders. `subjectOf: Article[]` and `event: Event[]` as the entity graph populates.
- Founder File Reader
- Primary: `Article` (CreativeWork variant). With: `learningResourceType: "Guide"`, `educationalLevel`, `inLanguage`, author info.
- Calendar Event
- Primary: `Event`. With: `BreadcrumbList`, `startDate`, `endDate`, `location: Place`, `organizer: Organization`. `performer: Person[]` and `attendee: Organization[]` populate from the entity graph.
- Events Coverage Article
- Primary: `NewsArticle`. With: `about: Event` (the parent event — T1 structural link). Author + publisher + dateline. Mentions of founders / startups / opportunities surface as `mentions: Thing[]`.
- Editorial Article
- Primary: `Article` (or `NewsArticle` when `type === 'news'`). With: author, publisher, datePublished, `mentions: [Person, Organization, Event]` for mentioned founders / startups / events.
