Skip to main content

Developer Page Specifications

SEO / AEO

Person JSON-LD with worksFor / alumniOf / performerIn / sameAs. Entity-resolution compounding.

Complete

Listing emits CollectionPage + ItemList. Details emits Person (the highest-value JSON-LD type for founders — Google Knowledge Graph reconciles person entities across the web). Both pages ship canonical, hreflang triplet, OG quartet, Twitter card, and robots.

Listing page (/:lang/founders)

  • metaTitle: "MENA Startup Founders — Editorial Directory | StartupHub.today" (≤60 chars). AR variant authored.
  • metaDescription: "Editorially curated founder profiles across 16 MENA countries. Bios, startups, speaking history, files authored, coverage mentions." (≤160 chars).
  • JSON-LD: CollectionPage with ItemList containing top 25 Person items (each with @type=Person, name, url, image, jobTitle, worksFor inferred from primary startup).
  • canonical: https://startuphub.today/{lang}/founders. hreflang: en, ar, x-default.
  • robots: index,follow.

Details page (/:lang/founders/{slug})

  • metaTitle: "{DisplayName} — {Headline} | StartupHub.today". Sponsored profiles never permitted — founders are editorial only.
  • metaDescription: derived from FounderLang.Bio first 160 chars, locale-correct.
  • JSON-LD @type=Person with: name, alternateName (other-locale variant), url (canonical), image (AvatarUrl), jobTitle (PrimaryRole label), worksFor[] (one Organization per current startup via FounderStartup.EndedYear=null), alumniOf[] (past startups), sameAs[] (LinkedInUrl, TwitterUrl, PersonalSiteUrl), nationality (CountryCode → Country.Name), knowsAbout[] (skills + sectors), performerIn[] (Speaking history events).
  • BreadcrumbList JSON-LD: Home → Founders → {name}.
  • og:type=profile · og:profile:first_name + last_name (split DisplayName conservatively) · twitter:creator (TwitterUrl handle when parseable).
  • robots: index,follow when IsActive=true. IsActive=false → 410 Gone, no robots tag emitted.