Context
vexa.ai ranks position 3.39 in Google for the query meeting bot api real-time transcription but has 0% CTR (top-of-fold, zero clicks). This is a pure title/meta snippet problem — the page is already winning on relevance, it's just losing on copy. Estimated impact: capture 100+ organic sessions/month from a currently-invisible Profile-A buyer query.
Source: 3/graph/sg/SEO.md → P0 #7 (seeded from drafts/2026-05-09-seo-outbound-research.md).
Ranking page
Almost certainly the homepage (https://vexa.ai) — the only top-3-eligible page mentioning both "meeting bot API" and "real-time transcription" today. Owned by apps/webapp/app/layout.tsx.
Current snippet (problem)
```tsx
// apps/webapp/app/layout.tsx:18-19
title: 'Vexa — Open-Source Meeting Bot API | Self-Hosted Transcription',
description: 'Open-source meeting bot API for Google Meet, Microsoft Teams, and Zoom. Real-time transcription, bot control, and meeting data via REST API, WebSocket, and MCP. Self-host or use our cloud. Bot from $0.30/hr.',
```
Why it fails the query: the title does not contain the token "real-time" at all. Google's snippet algorithm cannot bold-match the user's full query phrase in the title, so it loses the click to competitors whose titles do contain the full string. The phrase is buried mid-sentence in the description.
Proposed fix
New <title> (60 chars — exact match for the query tokens)
```
Real-Time Meeting Bot API & Transcription | Vexa (OSS)
```
- 54 characters, well under the 60-char display cap
- Front-loads "Real-Time" — the missing token
- Keeps "Meeting Bot API" + "Transcription"
- "OSS" (Open-Source Software) hooks the wedge differentiator without bloating
- "Vexa" sits at the tail (brand still recognized but not stealing keyword real estate)
Alternate (if branding prefers Vexa-first): Vexa — Real-Time Meeting Bot API + Transcription (OSS) (58 chars)
New <meta name=\"description\"> (155 chars — action-oriented, hooks Apache-2.0 + self-host)
```
Apache-2.0 meeting bot API with real-time transcription for Google Meet, Teams & Zoom. Self-host or use our cloud. WebSocket + REST. Bot from $0.30/hr.
```
- 152 characters
- Opens with Apache-2.0 — top differentiator vs Recall/Tactiq/Otter (closed) and Meetily/Attendee (ELv2)
- "real-time transcription" appears in the first 10 words → Google will bold-match the full query phrase
- Self-host hook is explicit ("Self-host or use our cloud")
- Concrete price anchor at the end (
\$0.30/hr) — survives well in mobile SERP truncation
Optional H1 nudge (no structural change required)
The homepage currently has 10 H1s (separately tracked as P0 #3 — out of scope here). Within scope of #7: ensure the first H1 the user sees reads "Real-Time Meeting Transcription API" rather than just "Meeting Transcription API" — adding "Real-Time" matches the snippet promise and the GSC query.
OG / Twitter (mirror the new title)
Recommend also updating openGraph.title + twitter.title to the new value so LinkedIn/X share cards reflect the same positioning. Descriptions can stay as-is — they're already tighter and don't suffer the same SERP-match issue.
Acceptance criteria
Cost / priority
~1 hour of dev work. Lowest-effort-highest-ROI SEO P0 in the current backlog. No content production, no new pages, no JSON-LD churn.
References
🤖 Generated with Claude Code
Context
vexa.ai ranks position 3.39 in Google for the query
meeting bot api real-time transcriptionbut has 0% CTR (top-of-fold, zero clicks). This is a pure title/meta snippet problem — the page is already winning on relevance, it's just losing on copy. Estimated impact: capture 100+ organic sessions/month from a currently-invisible Profile-A buyer query.Source:
3/graph/sg/SEO.md→ P0 #7 (seeded fromdrafts/2026-05-09-seo-outbound-research.md).Ranking page
Almost certainly the homepage (
https://vexa.ai) — the only top-3-eligible page mentioning both "meeting bot API" and "real-time transcription" today. Owned byapps/webapp/app/layout.tsx.Current snippet (problem)
```tsx
// apps/webapp/app/layout.tsx:18-19
title: 'Vexa — Open-Source Meeting Bot API | Self-Hosted Transcription',
description: 'Open-source meeting bot API for Google Meet, Microsoft Teams, and Zoom. Real-time transcription, bot control, and meeting data via REST API, WebSocket, and MCP. Self-host or use our cloud. Bot from $0.30/hr.',
```
Why it fails the query: the title does not contain the token "real-time" at all. Google's snippet algorithm cannot bold-match the user's full query phrase in the title, so it loses the click to competitors whose titles do contain the full string. The phrase is buried mid-sentence in the description.
Proposed fix
New
<title>(60 chars — exact match for the query tokens)```
Real-Time Meeting Bot API & Transcription | Vexa (OSS)
```
Alternate (if branding prefers Vexa-first):
Vexa — Real-Time Meeting Bot API + Transcription (OSS)(58 chars)New
<meta name=\"description\">(155 chars — action-oriented, hooks Apache-2.0 + self-host)```
Apache-2.0 meeting bot API with real-time transcription for Google Meet, Teams & Zoom. Self-host or use our cloud. WebSocket + REST. Bot from $0.30/hr.
```
\$0.30/hr) — survives well in mobile SERP truncationOptional H1 nudge (no structural change required)
The homepage currently has 10 H1s (separately tracked as P0 #3 — out of scope here). Within scope of #7: ensure the first H1 the user sees reads "Real-Time Meeting Transcription API" rather than just "Meeting Transcription API" — adding "Real-Time" matches the snippet promise and the GSC query.
OG / Twitter (mirror the new title)
Recommend also updating
openGraph.title+twitter.titleto the new value so LinkedIn/X share cards reflect the same positioning. Descriptions can stay as-is — they're already tighter and don't suffer the same SERP-match issue.Acceptance criteria
apps/webapp/app/layout.tsxmetadata.titleupdated to the new title (or approved alternate)apps/webapp/app/layout.tsxmetadata.descriptionupdated to the new descriptionapps/webapp/app/layout.tsxopenGraph.title+twitter.titleupdated to matchcurl -sL https://vexa.ai | grep -E '<title>|name=\"description\"'shows new values/after deploy3.39/ CTR0%— re-check after 14 days; target ≥3% CTR (matches comparable top-3 intent queries)Cost / priority
~1 hour of dev work. Lowest-effort-highest-ROI SEO P0 in the current backlog. No content production, no new pages, no JSON-LD churn.
References
graph/sg/SEO.md(P0 speakers identification (assigned to @untilhamza) #7 row + "Why intent CTR is the lever" section)drafts/2026-05-09-seo-outbound-research.md(research source)[BUSINESS] → [DEV]🤖 Generated with Claude Code