Veterinary Website Template
Demo brand: FERNHALLOW VETS · Veterinary practice · 21 routes · Astro 7 + Tailwind 4
Live preview
The demo is a full desktop site. Open it in a new tab ↗
About this veterinary website template
A complete website for an independent small-animal vet with its own out-of-hours line: an "Is this an emergency?" symptom checker that tells owners whether to call now, come in today or book a normal visit, a vaccination and health-check planner drawn as a twelve-month timeline, six service pages with prices, a full fee list with a health plan comparison, the practice and its team, three pet-care guides, tabbed FAQs for dogs, cats and rabbits, and a booking form that arrives pre-filled. Twenty built pages plus a 404, all driven by content and data files.
It looks like a friendly, well-run practice. White pages with pale oat blocks, one dark ink-teal band over a fabric texture, real photography of gloved hands examining dogs, cats, rabbits and guinea pigs, and one collar-coral accent used as a fill behind dark text. Fredoka, a rounded display face, for headings, and Kumbh Sans for everything else. A slim coral bar above the navigation carries the 24/7 number on every page.
Every section answers what a worried owner asks before picking up the phone: is this serious, will anyone answer at night, can I be seen today, what will it cost and what is due next. The checker gives an honest first answer with the number first when it matters, the planner shows the year ahead for a puppy, kitten, adult or senior pet, and the comparison shows what the health plan saves. Motion is one quiet reveal.
The 21 pages you get
- Home
/ - Full-width photo of a dog giving its paw, with the headline, book and check-symptoms buttons and a rating line on a white panel, then promises, six service cards with from-prices, the symptom checker, the practice band, the first visit, the health planner, health plan vs pay as you go, owner quotes beside pet photos, guides, FAQ tabs and a register band.
- Services
/services/ - All six services with from-prices, plus the lab, imaging, cat-only waiting room and ward.
- Service pages
/services/…/ - Consultations, vaccinations, neutering, dental care, 24/7 emergency care, and rabbits & small pets: price, time, which pets, what’s included, the matching fee list, two photos and a book button that pre-selects the service.
- Prices
/prices/ - Every fee in plain lists: consultations, vaccinations, neutering, dental and out of hours, then the health plan price per species and the plan vs pay-as-you-go table.
- Is it urgent?
/emergency/ - The 24/7 number, the symptom checker, the cases that should never wait, out-of-hours fees and how to arrive at night.
- Health planner
/health-planner/ - The timeline on its own page, opening on a kitten, with what puppies, adults and small pets need.
- About us
/about/ - Why the practice stayed independent, the team as text cards with their own pets, the lab and cat-only side, owner quotes and a line for your accreditation.
- Pet care guides
/journal/ - A card list with a Dogs, Cats or Rabbits & small pets chip on each. Add a Markdown file and it appears here and in the sitemap.
- Guides
/journal/…/ - Three written guides: what to do when a dog eats chocolate, a new kitten’s first eight weeks, and why rabbit teeth need checking every six months.
- Questions
/faq/ - Twelve questions in keyboard-friendly tabs (Dogs, Cats, Rabbits & small pets) plus registering, insurance, paying and parking.
- Book an appointment
/contact/ - Booking request with what you need, pet, what you’re seeing, best time and your details, filled in from any book button, the symptom checker or the planner. Emergencies are sent to the phone instead.
- Privacy and terms
/legal/…/ - Two starter legal pages on a shared layout, covering records, reminders, estimates, insurance and out-of-hours care.
- 404
/404 - Designed, with the 24/7 number and a way to the symptom checker.
What is in the build
- A symptom checker: dog, cat or rabbit and small pet, eleven common symptoms and up to two yes/no follow-ups give Urgent, See us today or Book a routine visit, with why, what to do, what to do meanwhile and a booking link that carries the pet and symptom to the form
- Urgent results put the 24/7 number first, and every result says it is guidance, not a diagnosis
- A health planner: species and age give a twelve-month timeline drawn in code, with vaccinations, boosters, neutering, dental and senior checks marked on it, monthly flea and worm treatment as a stripe, and a book button for the next item
- Symptom rules in src/data/triage.ts, schedules in src/data/timeline.ts and every fee and health plan price in src/data/prices.ts, with the checker and planner maths in tested files
- A health plan vs pay-as-you-go table that stacks row by row on phones instead of scrolling sideways
- Services and guides as content collections, and every practice fact, opening hour and out-of-hours time in one file
- Real consulting-room photography of animals and gloved hands, no faces and no brands; one accent colour and two fonts rebrand the whole site; Vitest and Playwright suites included
The design decision
Every template in this catalog is loud in exactly one channel and deliberately quiet in the other three. That single rule is what stops 71 different worlds reading as one design system in different paint.
- The world
- White ground with pale oat blocks and one dark ink-teal band, Fredoka over Kumbh Sans, real photography of gloved hands examining dogs, cats, rabbits and guinea pigs, and one collar-coral accent used as a fill.
- The mechanic
- Pick dog, cat or rabbit, one of eleven symptoms and up to two follow-ups to get urgent, same-day or routine with next steps, the 24/7 number first when urgent and a pre-filled booking link; a planner turns species and age into a twelve-month timeline of vaccinations, neutering, dental and senior checks. Motion is one quiet reveal.
- Loud channel
- Imagery
- Imagery. Gloved hands examining dogs, cats, rabbits and guinea pigs, kittens, recovery and consulting rooms
- Type & palette
- Fredoka · Kumbh Sans
-
#ffffff#1c2629#f26b4f
Who it is for
Built for independent small-animal vets and pet clinics that see dogs, cats, rabbits and small pets and want owners to know when to call, what things cost and what is due next. It suits a practice with its own emergency line or one that shares a night service, and it works for any currency, price list or vaccine schedule by editing the data files.
Under the hood
- Astro 7 · static output, zero client framework
- Tailwind 4 · one @theme block holds the palette
- MDX content collections for the blog
- GSAP + Lenis for the scroll work, reduced-motion aware
- Self-hosted woff2 — no Google Fonts request
- Sitemap, canonicals and per-route meta wired
- Vitest + Playwright suites in the repository
- Zero third-party requests · strict CSP-ready
How to get started
- 01 Accept the repository invite and clone it.
- 02 Run
npm install, thennpm run dev. - 03 Replace the content in
src/data/with your own — that is where the brand, the copy and every list live. - 04 Swap the images in
public/images/and the palette in the@themeblock. - 05 Run
npm run buildand deploydist/anywhere static.
Questions
Who decides what the symptom checker says?
You do. Every symptom, follow-up question, starting level per species and line of result wording is in src/data/triage.ts. The defaults are sensible but have a vet at your practice read them before launch. Every result is labelled as guidance, not a diagnosis.
How do I change prices, the health plan or the vaccine schedule?
Fees, health plan prices and the comparison rows live in src/data/prices.ts; the planner’s vaccinations, boosters, neutering, dental and senior checks live in src/data/timeline.ts. Service pages, the prices page and both widgets update together.
Where do bookings go, and what about my registration details?
The booking form posts nowhere by default; point it at your form backend or practice system, and the README shows how. The company number, practice accreditation and professional regulator are placeholders in normal sentences in src/data/site.ts, to fill in before launch.
What exactly do I get for $49?
Access to a private GitHub repository holding the complete Astro source of this template — every route you see in the preview, the content model, the images and the tests. Updates arrive in that same repository.
How many sites can I build with one licence?
As many as you like, for yourself or for clients. The licence is per buyer, not per project. The one thing you may not do is resell or redistribute the source as a template, theme or starter kit.
Do I need to know Astro?
It helps, but the common case is editing content and colour. Content lives in typed objects under src/data, colour lives in one @theme block, and npm run dev shows the result. Deploying is a static folder — Cloudflare Pages, Netlify and Vercel all take it as-is.
Is anything loaded from a third party?
No. Fonts are self-hosted woff2, there is no analytics, no tag manager, no CDN script and no external CSS. The build ships static HTML under a strict Content-Security-Policy.
More health & fitness templates
IRONCLAD
Boxing & strength gym
Loud
Display type
Hale
Hot yoga studio
Loud
Imagery
Terra & Still
Wellness coaching
Loud
Palette
Northlight Dental Co.
Dental practice
Loud
Imagery
Havenoak Therapy
Counselling & psychotherapy
Loud
Imagery