diff --git a/apps/content/blog/nextjs-ssr-orpc-tanstack-query.mdx b/apps/content/blog/nextjs-ssr-orpc-tanstack-query.mdx index 1982826af..49657961b 100644 --- a/apps/content/blog/nextjs-ssr-orpc-tanstack-query.mdx +++ b/apps/content/blog/nextjs-ssr-orpc-tanstack-query.mdx @@ -13,6 +13,8 @@ authors: avatar: https://github.com/dinwwwh.png ai: exclude: true +seo: + title: "Next.js SSR with oRPC and TanStack Query" --- ## What We're Building diff --git a/apps/content/blog/uploads-bigger-than-your-ram.mdx b/apps/content/blog/uploads-bigger-than-your-ram.mdx index b7815ba03..5e20eeceb 100644 --- a/apps/content/blog/uploads-bigger-than-your-ram.mdx +++ b/apps/content/blog/uploads-bigger-than-your-ram.mdx @@ -13,6 +13,8 @@ authors: avatar: https://github.com/dinwwwh.png ai: exclude: true +seo: + title: "File Uploads Bigger Than Your RAM in JavaScript" --- ## Why request.formData() and Friends Run Out of Memory diff --git a/apps/content/docs/adapters/message-port.mdx b/apps/content/docs/adapters/message-port.mdx index cbd288109..3515de660 100644 --- a/apps/content/docs/adapters/message-port.mdx +++ b/apps/content/docs/adapters/message-port.mdx @@ -5,6 +5,8 @@ sidebar: label: "Message Port" --- +The Message Port Adapter runs oRPC between two JavaScript contexts connected by a message port, such as a page and its iframes, web workers, or service workers. For complete setups, see the [Electron](/docs/adapters/electron), [Web Workers](/docs/adapters/web-workers), and [Worker Threads](/docs/adapters/worker-threads) guides. + ## Basic Usage Message Ports work by establishing two endpoints that can communicate with each other: diff --git a/apps/content/docs/context.mdx b/apps/content/docs/context.mdx index 8d33eac8d..d3ec52bce 100644 --- a/apps/content/docs/context.mdx +++ b/apps/content/docs/context.mdx @@ -121,3 +121,5 @@ const getting = base console.log(context.user) }) ``` + +Using [Better Auth](https://better-auth.com/)? The [Better Auth integration](/docs/integrations/better-auth) loads its session into context with the same middleware pattern. diff --git a/apps/content/docs/getting-started.mdx b/apps/content/docs/getting-started.mdx index fdcd3c0d4..8e45e19a5 100644 --- a/apps/content/docs/getting-started.mdx +++ b/apps/content/docs/getting-started.mdx @@ -73,7 +73,7 @@ A few things to notice: ## Create a Server -Clients reach your router through an HTTP server. `RPCHandler` does the translation: it matches each incoming request to a procedure, validates the input, runs your handler, and sends the result back. This example uses [Node's built-in HTTP module](/docs/adapters/node-http). The same router also runs on Bun and Deno through the [Fetch API adapter](/docs/adapters/fetch-api), and on [Cloudflare Workers](/docs/adapters/cloudflare-workers). +Clients reach your router through an HTTP server. `RPCHandler` does the translation: it matches each incoming request to a procedure, validates the input, runs your handler, and sends the result back. This example uses [Node's built-in HTTP module](/docs/adapters/node-http). The same router also runs on Bun and Deno through the [Fetch API adapter](/docs/adapters/fetch-api), and on [Cloudflare Workers](/docs/adapters/cloudflare-workers). Adapters also mount it inside [Next.js](/docs/adapters/next), [Nuxt](/docs/adapters/nuxt), [SvelteKit](/docs/adapters/svelte-kit), [Astro](/docs/adapters/astro), [TanStack Start](/docs/adapters/tanstack-start), [React Router](/docs/adapters/react-router), [SolidStart](/docs/adapters/solid-start), [Hono](/docs/adapters/hono), [Express](/docs/adapters/express), [Fastify](/docs/adapters/fastify), [Elysia](/docs/adapters/elysia), and [H3](/docs/adapters/h3). ```ts twoslash /// diff --git a/apps/content/docs/recipes/optimizing-ssr.mdx b/apps/content/docs/recipes/optimizing-ssr.mdx index d8a9b399b..273108796 100644 --- a/apps/content/docs/recipes/optimizing-ssr.mdx +++ b/apps/content/docs/recipes/optimizing-ssr.mdx @@ -3,6 +3,8 @@ title: "Optimizing Server-Side Rendering (SSR) for Fullstack Frameworks" description: "Optimize server-side rendering with oRPC in Next.js, Nuxt, and SvelteKit by calling API logic directly and avoiding extra HTTP requests." sidebar: label: "Optimizing SSR" +seo: + title: "Optimizing Server-Side Rendering (SSR)" --- ## The Problem with Standard SSR Data Fetching diff --git a/apps/content/pages/blog/[...slug].astro b/apps/content/pages/blog/[...slug].astro index 171287ff2..2eb89be70 100644 --- a/apps/content/pages/blog/[...slug].astro +++ b/apps/content/pages/blog/[...slug].astro @@ -107,7 +107,7 @@ const postJsonLd = { searchEnabled={config.search.enabled} siteUrl={config.site} ogEnabled={config.og.enabled} - page={{ title: `${entry.data.title} - ${config.title}`, description: entry.data.description, route: route.path }} + page={{ title: `${entry.data.seo?.title ?? entry.data.title} - ${config.title}`, description: entry.data.description, route: route.path }} structuredDataEnabled={false} x={config.x} >