Every public route sets head() with a unique title (<60 chars), description (<160 chars), and matching og:title / og:description. og:image is only set on leaf routes with a real cover image.
Every top-level route is reachable from the header or footer. Nothing meaningful should be discoverable only by typing the URL.
Every route with a loader defines errorComponent and notFoundComponent. The root route defines notFoundComponent. Retry buttons call router.invalidate() and reset().
Every public route is listed in sitemap.xml.ts with a reasonable priority and changefreq.