Selected work/vet-bagrat
CASE · 01 / 03·SEO · Templating · RU

Vet practice — SEO scale with templated landings

A Moscow veterinary clinic needed long-tail organic traffic to compete with national pet portals. We replaced their static site with a templated Next.js stack that generates symptom-specific landings from a single content schema.

Stack
Next.js + Sanity
Live since
Apr 2024
Build time
6 weeks
Landing pages
32
01The brief

Problem

The clinic ranked for a handful of brand queries but lost every symptom-driven search to aggregator sites. Their owner — a working vet, not a marketer — would not write 30 articles by hand, and an agency-sized content budget was off the table.

They also wanted appointment requests captured on the same page as the symptom content. Pet owners who Google "cat vomiting at night" at 11pm are not going to click a fourth time to find a booking form.

02What I built

Solution

A single symptom-landing template fed by a Sanity schema. Each entry holds a symptom name, a triage paragraph, three to five likely causes, a "when to come in today" checklist, and a booking widget pre-filled with the symptom tag.

Pages are statically generated with on-demand revalidation when the clinic edits a triage section. Internal linking is generated from the schema — every symptom that shares a cause links to its siblings, so the cluster compounds.

content schema · symptom.ts
{
  slug: "cat-vomiting-at-night",
  symptom: "Cat vomiting at night",
  triage_summary: "...",
  likely_causes: [
    "hairball",
    "indigestion",
    "pancreatitis"
  ],
  red_flags: [...],
  cta_tag: "urgent-cat"
}
generated routes · 32 of 32
/symptom/cat-vomiting-at-night~240/mo
/symptom/dog-limping~180/mo
/symptom/loss-of-appetite~140/mo
/symptom/dental-tartar~110/mo
/symptom/excess-shedding~95/mo
/symptom/ear-mites~70/mo
…26 more
schematic — not actual screenshot · production search volumes available on call
03Outcomes

Results

Numbers below are from Search Console + their internal booking tracker, measured against the 90 days before launch.

Under NDA
Organic traffic, 90d
Search Console + GA
Under NDA
Booking conversions
Internal tracker
12
Top-3 long-tail rankings
Confirmed
0
Hand-written articles
Schema-driven
Hard numbers under NDA — available on intro call.
04Tools

Stack

Next.js 15TypeScriptSanityTailwind v4VercelPostHogResendCal.com embedshadcn/ui
05Forward

AI angle — where this extends

The schema is already structured enough to drop a Claude-powered triage chat onto every symptom page. Pet owner describes their case in plain language; the model maps it to the closest symptom entry and routes them straight to the booking widget, pre-filled with the right urgency tag.

For owners worried about hallucinated medical advice: the model never explains causes — it only classifies and routes. Every triage outcome falls back to "come see us today" if confidence is low.

Want to see the AI extension?I've built an AI onboarding assistant using the same schema-to-prompt routing pattern — happy to walk you through it on a call.
Start a project →

Have a similar project?

If your client needs SEO scale via templated content — or any of the AI features above — I'll quote within 48 hours.

Start a project