SEO / AEO Global Rules
Open Graph fields
Open Graph fields — documentation pending.
Complete
Every page emits Open Graph + Twitter Card metadata so shares to LinkedIn, X, WhatsApp, Slack, and Telegram render with the platform’s editorial identity, not the URL fallback.
Required OG fields
- og:type
- `article` for editorial / coverage / founder file reader; `website` for listings / landings / docs; `profile` for founder profiles.
- og:title
- Same as SEO `<title>` but WITHOUT the "| StartupHub.today" suffix — og:site_name covers the brand.
- og:description
- Mirror of meta description. 140-160 chars. Same content in both spots ensures crawlers see one canonical message.
- og:image
- 1200x630 dimensions, JPEG. Per-entity authored cover when present; per-surface editorial fallback otherwise (e.g. Founder File 3:4 SVG composited onto 1200x630).
- og:image:alt
- Required for accessibility. Describes the OG image content, not a duplicate of the title.
- og:locale
- `en_US` or `ar_AR`. Includes alternate locales via `og:locale:alternate`.
- og:url
- Absolute canonical URL. Must equal the canonical `<link>` value.
- og:site_name
- `StartupHub.today` everywhere. Locked.
Twitter Card fields
- twitter:card — `summary_large_image` for everything with an OG image; `summary` only when no image exists (extremely rare).
- twitter:title / twitter:description — Mirror og:title / og:description. Same character limits.
- twitter:image — Mirror og:image. Twitter caches separately so changes can take ~24h to propagate.
