Under the Hood
A Website That Works as Hard as You Do
This site replaces the original Squarespace site with one designed and built specifically for Shira Eden Personal Training. Here's what changed — and why each change matters for the people trying to find, trust, and book a trainer.
What changed
The old site and this one, side by side
Every row below is something you can verify by using the site — no scores or statistics, just how it's built.
| Area | The old site | This site |
|---|---|---|
| Page load | Template JavaScript shipped with every page | Static pages pre-rendered at build time — the HTML arrives ready to read |
| SEO landing pages | One generic services page | Three keyword-targeted service pages, each with its own title, description, and canonical URL |
| Structured data | None | LocalBusiness, Service, FAQ, and BlogPosting schema, so search engines understand every page |
| Payments | The Squarespace cart | Square payment links — subscriptions included, with Apple Pay and Google Pay at checkout |
| Contact form | A generic form | A form tailored to new-client inquiries, with a graceful email fallback |
| Design | A shared template | A custom design system — coastal California palette, confident type, components built for this brand |
| Blog | Blog posts on the template blog | Kept — every post migrated, each with full SEO metadata |
| Accessibility | Template defaults | Semantic landmarks, a contrast-checked palette, and keyboard-friendly controls |
Built for search
Findable by the people already looking
Most new clients start with a search. The whole site is structured so that when someone in Santa Monica or West LA looks for a trainer, this business shows up ready.
Pages that match how people search
Someone looking for a trainer doesn't search “services” — they search for the thing they need. So in-person training, pre- & postnatal coaching, and virtual training each get their own page, written around phrases like “personal trainer in Santa Monica.”
Structured data search engines can read
Behind every page is schema markup that tells Google exactly what this business is: a personal training studio serving Santa Monica and West LA, what each service offers, and what the FAQ answers. That makes the site eligible for richer search results.
One clean address per page
A sitemap lists every page for search engines, and each page declares a single canonical URL — so ranking signals never get split between duplicate addresses.
Speed as a ranking signal
Google factors page speed into rankings. These pages are pre-rendered, lightweight, and designed to score well on the metrics that matter — no heavy template scripts standing between a visitor and the content.
Built to sell
From interested to enrolled, without friction
Training is the product — the site treats it that way. Coaching plans are sold through Square payment links, so checkout is handled by a processor people already trust.
And while any payment link is still being configured, its buy button routes to the contact page instead — a visitor ready to pay is never met with a dead end.
Easy to maintain
Content lives in plain files, not a page builder
Everything a visitor reads — services, prices, FAQ answers, testimonials, blog posts — lives in a handful of simple, clearly named data files.
Publishing a new blog post is a single entry in a single file: the page, its metadata, and its search markup are generated automatically. Change a price or a policy once, and every page that mentions it stays in sync.
- src/data/services.tsthe three training services
- src/data/offerings.tsprices and Square payment links
- src/data/faq.tsevery question on the FAQ page
- src/data/testimonials.tsclient words, verbatim
- src/data/blog-posts.tsthe entire blog
- src/lib/site.tsemail, phone, and service areas — in one place
See it in action
The best proof is the site itself — start at the homepage or go straight to the training services.