QC Master Test Plan
SEO checks
SEO checks — documentation pending.
Complete
SEO QC verifies the per-page metadata contract — title, description, canonical, hreflang, robots, OG, Twitter card. Every public route must satisfy this contract; admin and account routes must be noindex. SEO QC runs on every PR via a small crawler that hits every changed route in both /en and /ar and asserts the metadata shape.
Per-route metadata checklist
- <title> exists, ≤60 characters, EN page uses EN string, AR page uses AR string. Brand suffix " | StartupHub" present unless docs explicitly opt-out.
- <meta name="description"> ≤160 characters, locale-correct, unique per URL (no two pages share the same description).
- <link rel="canonical"> points to the absolute https URL of this page in its current locale. Locale-suffixed routes (/en/* + /ar/*) each have their own canonical, not a shared one.
- <link rel="alternate" hreflang="..."> entries: en, ar, x-default — three entries on every public page pointing to the correct counterparts.
- Public routes: <meta name="robots" content="index,follow">. Admin / account / submit / 404 routes: "noindex,follow".
- Open Graph quartet present: og:type, og:title, og:description, og:image — all four mandatory.
- Twitter card: twitter:card="summary_large_image" + twitter:image points to the same asset as og:image.
- sitemap.xml includes every public canonical URL across both locales — count must equal the route inventory.
