Skip to content

CE: Per-page meta descriptions in page_shell#318

Merged
ericflo merged 1 commit intomainfrom
ce/per-page-meta-descriptions
Apr 16, 2026
Merged

CE: Per-page meta descriptions in page_shell#318
ericflo merged 1 commit intomainfrom
ce/per-page-meta-descriptions

Conversation

@ericflo
Copy link
Copy Markdown
Owner

@ericflo ericflo commented Apr 16, 2026

Why

Every shell-rendered page (/signup, /login, /integrate, /setup, /dashboard, /checkout) currently emits the same generic meta description, og:description, and twitter:description. Google collapses identical descriptions and social shares look interchangeable, which hurts SERP CTR on the conversion-critical signup/login pages.

What

Adds a small private helper in crates/modelrelay-web/src/templates.rs that returns an intent-tuned description for known page titles (sign up, log in, integrate, setup, dashboard, checkout) and falls back to the existing generic line for unknown titles. page_shell_custom now uses it for the meta description, og:description, and twitter:description tags. No callsite changes — purely internal to the shell template.

Verify

After merge + deploy:

  • curl -s https://modelrelay.io/signup | grep meta\ name=\"description\" → distinctive Sign Up copy
  • curl -s https://modelrelay.io/login | grep meta\ name=\"description\" → distinctive Log In copy
  • curl -s https://modelrelay.io/integrate | grep meta\ name=\"description\" → distinctive Integrate copy
  • / and /pricing untouched (already have static unique descriptions)

Test plan

  • cargo nextest run -p modelrelay-web -p modelrelay-cloud
  • cargo fmt --check
  • cargo clippy -- -D warnings
  • 5 new unit tests covering tuned titles + default fallback + og duplication

@ericflo ericflo merged commit 90b4dd6 into main Apr 16, 2026
6 of 12 checks passed
@ericflo ericflo deleted the ce/per-page-meta-descriptions branch April 16, 2026 22:41
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