Developer docs pages now share with their own title, description and a default-template card, and carry a TechArticle with a breadcrumb trail; posts and profiles add BlogPosting and ProfilePage, and every page declares the Organization next to the WebSite. The og:locale:alternate tags are rendered by the root document, one per other locale: TanStack's head keeps one meta per property and had dropped all but the first. seo() gained noindex, monolingual and markdown (SEO and discovery).
Sign-in, sign-up, password, two-factor, verify-email, consent and invitation pages are noindex, and every response from an origin other than VITE_SITE_URL carries X-Robots-Tag: noindex, so PR preview Workers and workers.dev hosts stay out of search indexes. /robots.txt allows /api/og/ so social crawlers can fetch share images, the sitemap dates entries where a real date exists (posts, the legal pages, docs from frontmatter or the git commit date) and no longer lists the Markdown copies, which every page links as a text/markdown alternate instead.
Agents that send Accept: text/markdown receive the existing Markdown representation of the landing, the legal pages and every docs page, with Content-Location and Vary: Accept (Agent-readable pages). The root /.well-known/oauth-protected-resource answers again (the plugin matches the root and /api/mcp path forms, not the issuer-relative rewrite the route used to do) and /.well-known/openid-configuration has a root alias like the authorization-server document.
The placeholder brand left seo.ts, the OG config, the static manifest and llms.txt for one leaf, apps/web/src/platform/seo/site-identity.ts; the manifest is a route built from it. pnpm run setup --brand-name … --brand-short-name … --twitter … fills the leaf and replaces the template brand in the locales and docs (Local setup). Rendered share images are kept in Cloudflare's edge cache per validated parameters and OG_VERSION (Open Graph images).