Skip to content

fix(site): seo fixes#7753

Merged
mhartington merged 1 commit intomainfrom
seo-fixes
Apr 2, 2026
Merged

fix(site): seo fixes#7753
mhartington merged 1 commit intomainfrom
seo-fixes

Conversation

@mhartington
Copy link
Copy Markdown
Member

@mhartington mhartington commented Apr 2, 2026

Summary by CodeRabbit

  • Documentation
    • Updated SEO metadata (page titles and descriptions) across 17 website pages to enhance search visibility and improve messaging clarity for products, partnerships, events, and support resources.

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blog Ready Ready Preview, Comment Apr 2, 2026 3:00pm
docs Ready Ready Preview, Comment Apr 2, 2026 3:00pm
eclipse Ready Ready Preview, Comment Apr 2, 2026 3:00pm
site Ready Ready Preview, Comment Apr 2, 2026 3:00pm

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 2, 2026

Walkthrough

This PR updates SEO and Open Graph metadata (titles and descriptions) across 15 page routes in the Prisma site application. All changes are isolated to exported metadata declarations with no modifications to page logic or component behavior.

Changes

Cohort / File(s) Summary
Core Product Pages
apps/site/src/app/client/page.tsx, apps/site/src/app/studio/page.tsx, apps/site/src/app/migrate/page.tsx, apps/site/src/app/typedsql/page.tsx
Updated metadata title and description to emphasize product positioning (query builder, data manipulation, migrations, type-safe SQL). Studio and pricing pages also updated corresponding OG/Twitter metadata fields.
Marketing & Community Pages
apps/site/src/app/about/page.tsx, apps/site/src/app/ecosystem/page.tsx, apps/site/src/app/oss-friends/page.tsx, apps/site/src/app/partners/page.tsx, apps/site/src/app/showcase/page.tsx
Updated metadata to refocus messaging on mission, community tools, open-source support, partner network, and customer success stories.
Legal & Policy Pages
apps/site/src/app/terms/page.tsx, apps/site/src/app/sla/page.tsx, apps/site/src/app/support-policy/page.tsx, apps/site/src/app/event-code-of-conduct/page.tsx
Simplified descriptions from detailed policy language to shorter, relationship-focused statements; SLA title clarified with acronym.
Events & Newsletter
apps/site/src/app/events/page.tsx, apps/site/src/app/newsletter/page.tsx
Updated titles to emphasize events and newsletter signup; refreshed descriptions with focused marketing copy.
Pricing & Stack
apps/site/src/app/pricing/page.tsx, apps/site/src/app/stack/page.tsx
Updated pricing page title to reference "Data Platform" and synchronized OG/Twitter metadata; stack page refined ORM positioning and database integration messaging.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix(site): seo fixes' is directly related to the changeset, which exclusively updates SEO metadata (titles and descriptions) across 16 site pages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@argos-ci
Copy link
Copy Markdown

argos-ci bot commented Apr 2, 2026

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ✅ No changes detected - Apr 2, 2026, 3:06 PM

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Nitpick comments (2)
apps/site/src/app/oss-friends/page.tsx (1)

4-6: Title format differs from other pages.

This uses "Prisma | Our OSS Friends" (brand prefix) while other pages in this PR use a brand suffix pattern like "Page Name | Prisma". If intentional, that's fine—just flagging for awareness in case you want consistent SEO patterns across the site.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/site/src/app/oss-friends/page.tsx` around lines 4 - 6, The page metadata
title in the export const metadata created via createPageMetadata currently uses
a brand-prefix pattern ("Prisma | Our OSS Friends"); update it to match the
project's consistent brand-suffix pattern by switching the title to "Our OSS
Friends | Prisma" in the createPageMetadata call (or explicitly confirm in PR
comment if the prefix pattern is intentional and should differ).
apps/site/src/app/studio/page.tsx (1)

90-118: Consider shortening the title for better search result display.

The updated metadata is correctly structured and consistently applied across all fields (main, OpenGraph, Twitter). However, the new title at ~68 characters exceeds the typical 50-60 character limit that search engines display in results. This means users will see a truncated version like:

"Prisma Studio | Next-generation ORM for Node.js and Type..."

While the current title is excellent for keyword coverage, you might achieve better click-through rates with a more concise version that displays fully in search results, such as:

  • "Prisma Studio | Next-gen ORM for Node.js & TypeScript" (~56 chars)
  • "Prisma Studio | Modern ORM for Node.js and TypeScript" (~58 chars)

That said, longer titles still contribute to SEO rankings even when truncated, so this is more of an optimization than a fix.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/site/src/app/studio/page.tsx` around lines 90 - 118, Shorten the
metadata.title (and the same title in openGraph.title and twitter.title) to a
more concise string under ~60 characters to avoid truncation in search results;
update the exported constant metadata's title property (and mirror values in
openGraph.title and twitter.title) to a shorter option like "Prisma Studio |
Next‑gen ORM for Node.js & TypeScript" or similar while keeping descriptions and
image fields unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@apps/site/src/app/event-code-of-conduct/page.tsx`:
- Around line 10-12: Update the metadata in page.tsx: change the description
string to include the missing verb (e.g., "Read our Event Code of Conduct and
see how it relates to you.") and rename the title from "Prisma - Event Code of
Conduct" to use the consistent suffix format "Event Code of Conduct | Prisma" so
it matches other pages; modify the exported title and description values
accordingly.

In `@apps/site/src/app/events/page.tsx`:
- Around line 17-18: The page description string (the description field in
apps/site/src/app/events/page.tsx) contains a duplicated "and" and awkward
phrasing; update the description value to remove the duplicate and improve flow
to match the hero copy tone (see the hero/heading text used later in the same
file) — rewrite the description to something like "Upcoming events, meetups, and
conferences, and explore content from previous events" or a concise variant that
mirrors the hero copy style so it reads smoothly and consistently.

In `@apps/site/src/app/showcase/page.tsx`:
- Line 15: The SHOWCASE_TITLE constant currently contains inconsistent
capitalization ("Customer Success stories"); update the string value of
SHOWCASE_TITLE to use title case for "Stories" (e.g., "Prisma Showcase |
Customer Success Stories") so the site title is consistently capitalized.

In `@apps/site/src/app/stack/page.tsx`:
- Around line 14-15: The string constant description includes an unnecessary
comma before "and frameworks"; update the value of description (the constant
named description in page.tsx) to remove the extra comma so the sentence reads:
"Prisma is a Node.js and TypeScript ORM that integrates easily with popular
databases and frameworks."

In `@apps/site/src/app/terms/page.tsx`:
- Around line 6-8: Update the page metadata in page.tsx: change the description
string from "Read our terms of services and see how they relate to you." to
"Read our terms of service and see how they relate to you." and append the brand
suffix to the title value so title becomes "Terms of Service | Prisma" (or the
project's standard suffix); modify the exported title and description values in
this file (the title and description metadata) accordingly to match other pages.

In `@apps/site/src/app/typedsql/page.tsx`:
- Around line 102-108: Update the metadata object created by createPageMetadata
(exported as metadata) to fix text issues: remove the trailing space at the end
of the title string, change "fully type-safety" to "full type-safety", and
capitalize "SQL" wherever "sql" appears (e.g., in the title and description).
Ensure these edits are applied to the title and description fields inside the
metadata object.

---

Nitpick comments:
In `@apps/site/src/app/oss-friends/page.tsx`:
- Around line 4-6: The page metadata title in the export const metadata created
via createPageMetadata currently uses a brand-prefix pattern ("Prisma | Our OSS
Friends"); update it to match the project's consistent brand-suffix pattern by
switching the title to "Our OSS Friends | Prisma" in the createPageMetadata call
(or explicitly confirm in PR comment if the prefix pattern is intentional and
should differ).

In `@apps/site/src/app/studio/page.tsx`:
- Around line 90-118: Shorten the metadata.title (and the same title in
openGraph.title and twitter.title) to a more concise string under ~60 characters
to avoid truncation in search results; update the exported constant metadata's
title property (and mirror values in openGraph.title and twitter.title) to a
shorter option like "Prisma Studio | Next‑gen ORM for Node.js & TypeScript" or
similar while keeping descriptions and image fields unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5e380d7f-0965-47a0-afb7-966d79d4d602

📥 Commits

Reviewing files that changed from the base of the PR and between ed9c9f5 and 585f5e2.

📒 Files selected for processing (17)
  • apps/site/src/app/about/page.tsx
  • apps/site/src/app/client/page.tsx
  • apps/site/src/app/ecosystem/page.tsx
  • apps/site/src/app/event-code-of-conduct/page.tsx
  • apps/site/src/app/events/page.tsx
  • apps/site/src/app/migrate/page.tsx
  • apps/site/src/app/newsletter/page.tsx
  • apps/site/src/app/oss-friends/page.tsx
  • apps/site/src/app/partners/page.tsx
  • apps/site/src/app/pricing/page.tsx
  • apps/site/src/app/showcase/page.tsx
  • apps/site/src/app/sla/page.tsx
  • apps/site/src/app/stack/page.tsx
  • apps/site/src/app/studio/page.tsx
  • apps/site/src/app/support-policy/page.tsx
  • apps/site/src/app/terms/page.tsx
  • apps/site/src/app/typedsql/page.tsx

Comment on lines +10 to +12
title: "Prisma - Event Code of Conduct",
description:
"All attendees, speakers, sponsors, and volunteers at Prisma events are required to agree to this code of conduct.",
"Read our Event Code of Conduct and how it relates to you.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Grammar issue and title format inconsistency.

Two observations:

  1. The description is missing a verb: "and how it relates" should be "and see how it relates" (matching the support-policy page pattern).
  2. This page uses "Prisma - ..." prefix while most other pages in this PR use "... | Prisma" suffix. Consider aligning for consistency.
✏️ Suggested fix
 export const metadata = createPageMetadata({
-  title: "Prisma - Event Code of Conduct",
+  title: "Event Code of Conduct | Prisma",
   description:
-    "Read our Event Code of Conduct and how it relates to you.",
+    "Read our Event Code of Conduct and see how it relates to you.",
   path: "/event-code-of-conduct",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
title: "Prisma - Event Code of Conduct",
description:
"All attendees, speakers, sponsors, and volunteers at Prisma events are required to agree to this code of conduct.",
"Read our Event Code of Conduct and how it relates to you.",
title: "Event Code of Conduct | Prisma",
description:
"Read our Event Code of Conduct and see how it relates to you.",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/site/src/app/event-code-of-conduct/page.tsx` around lines 10 - 12,
Update the metadata in page.tsx: change the description string to include the
missing verb (e.g., "Read our Event Code of Conduct and see how it relates to
you.") and rename the title from "Prisma - Event Code of Conduct" to use the
consistent suffix format "Event Code of Conduct | Prisma" so it matches other
pages; modify the exported title and description values accordingly.

Comment on lines 17 to +18
description:
"Find upcoming Prisma events and Meetups, see where the team will be speaking, and explore recordings and resources from past events.",
"Upcoming events or meetups, conferences and and explore the content from previous events.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix duplicate "and" and improve sentence structure.

The description contains "and and" (duplicate word) and reads awkwardly. Consider something closer to the page's hero copy on line 62-65 for consistency.

✏️ Suggested fix
   description:
-    "Upcoming events or meetups, conferences and and explore the content from previous events.",
+    "Find upcoming Prisma events and meetups, see where we'll be speaking, and explore content from previous events.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
description:
"Find upcoming Prisma events and Meetups, see where the team will be speaking, and explore recordings and resources from past events.",
"Upcoming events or meetups, conferences and and explore the content from previous events.",
description:
"Find upcoming Prisma events and meetups, see where we'll be speaking, and explore content from previous events.",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/site/src/app/events/page.tsx` around lines 17 - 18, The page description
string (the description field in apps/site/src/app/events/page.tsx) contains a
duplicated "and" and awkward phrasing; update the description value to remove
the duplicate and improve flow to match the hero copy tone (see the hero/heading
text used later in the same file) — rewrite the description to something like
"Upcoming events, meetups, and conferences, and explore content from previous
events" or a concise variant that mirrors the hero copy style so it reads
smoothly and consistently.


const SHOWCASE_TITLE = "Made with Prisma";
const SHOWCASE_DESCRIPTION = "Learn how companies use Prisma in production";
const SHOWCASE_TITLE = "Prisma Showcase | Customer Success stories";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Inconsistent capitalization in title.

"Customer Success stories" mixes title case with lowercase. For consistency, capitalize "Stories" as well.

✏️ Suggested fix
-const SHOWCASE_TITLE = "Prisma Showcase | Customer Success stories";
+const SHOWCASE_TITLE = "Prisma Showcase | Customer Success Stories";
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const SHOWCASE_TITLE = "Prisma Showcase | Customer Success stories";
const SHOWCASE_TITLE = "Prisma Showcase | Customer Success Stories";
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/site/src/app/showcase/page.tsx` at line 15, The SHOWCASE_TITLE constant
currently contains inconsistent capitalization ("Customer Success stories");
update the string value of SHOWCASE_TITLE to use title case for "Stories" (e.g.,
"Prisma Showcase | Customer Success Stories") so the site title is consistently
capitalized.

Comment on lines 14 to +15
const description =
"Prisma works with every major TypeScript stack. Explore how Prisma fits Next.js, NestJS, GraphQL, your database, and more.";
"Prisma is a Node.js and TypeScript ORM that integrates easily with popular databases, and frameworks.";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove the unnecessary comma before "and frameworks".

There's a spurious comma separating "databases" from "and frameworks" that disrupts the sentence flow.

✏️ Suggested fix
 const description =
-  "Prisma is a Node.js and TypeScript ORM that integrates easily with popular databases, and frameworks.";
+  "Prisma is a Node.js and TypeScript ORM that integrates easily with popular databases and frameworks.";
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/site/src/app/stack/page.tsx` around lines 14 - 15, The string constant
description includes an unnecessary comma before "and frameworks"; update the
value of description (the constant named description in page.tsx) to remove the
extra comma so the sentence reads: "Prisma is a Node.js and TypeScript ORM that
integrates easily with popular databases and frameworks."

Comment on lines +6 to +8
title: "Terms of Service",
description:
"Read the Prisma Terms of Service governing your use of Prisma products and services.",
"Read our terms of services and see how they relate to you.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Grammatical error: "terms of services" should be "terms of service".

The phrase "terms of service" is a fixed expression and should remain singular. Additionally, the title lacks the brand suffix (e.g., | Prisma) that other pages use for consistent branding.

✏️ Suggested fix
 export const metadata = createPageMetadata({
-  title: "Terms of Service",
+  title: "Terms of Service | Prisma",
   description:
-    "Read our terms of services and see how they relate to you.",
+    "Read our terms of service and see how they relate to you.",
   path: "/terms",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
title: "Terms of Service",
description:
"Read the Prisma Terms of Service governing your use of Prisma products and services.",
"Read our terms of services and see how they relate to you.",
title: "Terms of Service | Prisma",
description:
"Read our terms of service and see how they relate to you.",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/site/src/app/terms/page.tsx` around lines 6 - 8, Update the page
metadata in page.tsx: change the description string from "Read our terms of
services and see how they relate to you." to "Read our terms of service and see
how they relate to you." and append the brand suffix to the title value so title
becomes "Terms of Service | Prisma" (or the project's standard suffix); modify
the exported title and description values in this file (the title and
description metadata) accordingly to match other pages.

Comment on lines 102 to 108
export const metadata = createPageMetadata({
title: "TypedSQL | Fully type-safe raw SQL for Prisma ORM",
title: "TypedSQL: Fully type-safe raw SQL in Prisma ORM ",
description:
"Use TypedSQL with Prisma ORM for fully type-safe raw SQL queries with autocomplete, better ergonomics, and the full power of SQL.",
"Write raw sql queries with fully type-safety and auto-completion in Prisma ORM. Get type-safe database queries without sacrificing the power and flexibility of raw SQL.",
path: "/typedsql",
ogImage: "/og/og-typedsql.png",
});
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Multiple text issues in the metadata.

A few things to clean up here:

  1. Trailing space in the title (Line 103)
  2. Grammar: "fully type-safety" should be "full type-safety" (adjective, not adverb before a noun)
  3. Capitalization: "raw sql" should be "raw SQL" (SQL is an acronym)
✏️ Suggested fix
 export const metadata = createPageMetadata({
-  title: "TypedSQL: Fully type-safe raw SQL in Prisma ORM ",
+  title: "TypedSQL: Fully type-safe raw SQL in Prisma ORM",
   description:
-    "Write raw sql queries with fully type-safety and auto-completion in Prisma ORM. Get type-safe database queries without sacrificing the power and flexibility of raw SQL.",
+    "Write raw SQL queries with full type-safety and auto-completion in Prisma ORM. Get type-safe database queries without sacrificing the power and flexibility of raw SQL.",
   path: "/typedsql",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/site/src/app/typedsql/page.tsx` around lines 102 - 108, Update the
metadata object created by createPageMetadata (exported as metadata) to fix text
issues: remove the trailing space at the end of the title string, change "fully
type-safety" to "full type-safety", and capitalize "SQL" wherever "sql" appears
(e.g., in the title and description). Ensure these edits are applied to the
title and description fields inside the metadata object.

@mhartington mhartington merged commit 78dbd52 into main Apr 2, 2026
18 checks passed
@mhartington mhartington deleted the seo-fixes branch April 2, 2026 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant