Repository navigation
docs: fit meta descriptions to the 110-160 character range - #2314
Conversation
Rewrite the 32 page descriptions that `blume audit` flagged as too short or too long, mostly adapter pages and blog posts, so search results show them without truncation. Only description strings change; visible page copy is untouched. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y8K7B7wEgdbFSduY2aiWQh
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This PR only revises existing documentation and page metadata descriptions across blog, docs, and sponsor pages; it does not change application logic, APIs, schemas, or security/authentication behavior. Its runtime effect is limited to generated SEO metadata and a few displayed description excerpts. You can add or adjust custom eligibility rules. Learn more. |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- 30 frontmatter
descriptionrewrites inapps/content/docsandapps/content/blog, moving each into Blume's 110-160 width range. Short adapter descriptions now name the integration path (Fetch API / Node HTTP / Message Port Adapter) and extra coverage (SSR clients); long blog and docs descriptions were trimmed while keeping their main points. /blogdescriptions inapps/content/pages/blog/index.astro— both the JSON-LDdescriptionand the page-metadescriptionupdated consistently; the visible tagline is untouched./sponsorsmeta description inapps/content/pages/sponsors.astro, adding the GitHub / Open Collective sponsoring path.
I measured all 29 rewritten frontmatter descriptions with string-width (matching Blume's audit) and every one lands in 110-160, consistent with the PR table. I also checked each rewritten description against its page body: the integration paths, the Elysia parse: 'none' note, the Hono body-read proxy fix, the React Router/Remix note, SolidStart header forwarding, SvelteKit's fetch/server-side client, TanStack Start's createIsomorphicFn, the Better Auth lazy session, the Requirements runtime list (including Android/iOS), and the pnpm + tsdown recipe all match the actual content. The /blog JSON-LD and page-meta strings are intentionally identical. This is a docs-text-only change with no behavioral surface.
deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏
Merging this PR will not alter performance1 warning
Comparing Footnotes
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
More templates
@orpc/ai-sdk
@orpc/arktype
@orpc/bun
@orpc/client
@orpc/cloudflare
@orpc/contract
@orpc/experimental-effect
@orpc/evlog
@orpc/hibernation
@orpc/json-schema
@orpc/experimental-lock
@orpc/mcp
@orpc/msw
@orpc/nest
@orpc/next
@orpc/node
@orpc/openapi
@orpc/opentelemetry
@orpc/pinia-colada
@orpc/pino
@orpc/publisher
@orpc/ratelimit
@orpc/server
@orpc/shared
@orpc/swr
@orpc/tanstack-query
@orpc/trpc
@orpc/valibot
@orpc/zod
commit: |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
orpc | d693742 | Commit Preview URL Branch Preview URL |
Oct 23 2026, 03:01 AM |

Requested by dinwwwh · project thread
blume auditflagged 32 pages whose meta descriptions fall outside its 110-160 column range. Short ones (mostly adapter pages) give search engines and AI assistants little to quote, and long ones (mostly blog posts) get cut off in result snippets.This rewrites only those descriptions:
descriptionfrontmatter fields inapps/content/docsandapps/content/blog. Short adapter descriptions now also name the integration path (Fetch API, Node HTTP, or Message Port Adapter) and what else the page covers, such as SSR clients. Long ones are trimmed while keeping their main points./blog(pages/blog/index.astro). The visible tagline on the page is unchanged./sponsors(pages/sponsors.astro).No page body text, titles, or config changed.
Widths were measured with the same
string-widthcheck Blume's audit uses:/blog/nextjs-ssr-orpc-tanstack-query/blog/stop-fetching-from-yourself/blog/uploads-bigger-than-your-ram/blog/v1-announcement/blog/you-might-not-need-a-form-library/docs/adapters/astro/docs/adapters/browser/docs/adapters/electron/docs/adapters/elysia/docs/adapters/express/docs/adapters/fetch-api/docs/adapters/h3/docs/adapters/hono/docs/adapters/next/docs/adapters/nuxt/docs/adapters/react-router/docs/adapters/solid-start/docs/adapters/svelte-kit/docs/adapters/tanstack-start/docs/adapters/web-workers/docs/adapters/worker-threads/docs/api-reference/docs/contract-first/docs/integrations/better-auth/docs/integrations/effect/docs/openapi/link-without-runtime-imports/docs/plugins/get-method-csrf-protection/docs/plugins/method-override/docs/recipes/publish-client-to-npm/docs/requirements/blog/sponsorsChecks
pnpm docs:validatepasses (JSDoc backlinks andblume validate --strict).<meta name="description">tags. The rest of the build could not finish in the sandbox because OG image rendering needs network access, so the "After" numbers come from Blume's width function rather than a fullblume auditrun.Generated by Claude Code