Redesign Autopsy · Squarespace → Elementor · 2026-05-15

Interventions With Love
Redesign Autopsy

A side-by-side examination of the new Elementor staging build (rwmbvkpl.elementor.cloud) against the existing Squarespace site (interventionswithlove.com). Net result: a visual reset that has stripped the site of nearly every SEO asset it previously had. Eight categories regressed; two improved; one is unchanged.

✓ KEPT ✗ LOST + NEW LAUNCH BLOCKER HIGH MEDIUM LOW
0
JSON-LD blocks (was 2)
▼ LocalBusiness + WebSite schema both removed
0
Open Graph tags (was 8)
▼ Social-share previews now broken
0
Words real testimonials
▼ Replaced with ~1,500 words of Lorem Ipsum
6
Launch-blocking issues
Must fix before pointing the production domain

Executive summary

The Elementor rebuild appears to be a visual redesign that was not accompanied by an SEO migration. The previous Squarespace site was not perfectly optimized — it had no image alt text and a long meta description — but it carried a functional SEO baseline: structured data, social-share metadata, on-page NAP, an analytics tag, and real customer content. Almost none of that has been ported.

If the new build is pushed to www.interventionswithlove.com in its current state, the practical consequences are:

  1. Search Console will see a fresh site with no descriptions, no schema, and no rich-result eligibility — Google has to relearn the brand from scratch.
  2. Local-pack signal collapses: the on-page address (Cincinnati, Ohio), the phone numbers, and the LocalBusiness schema are all gone.
  3. Social shares (Facebook, Instagram, LinkedIn) will render as plain links with no preview image or description.
  4. Google may flag the homepage as low-quality due to the visible Lorem Ipsum testimonial section.
  5. All Google Analytics history goes dark on day one — the GA4 property tag is not installed.

The headline regression

SQUARESPACE — CURRENT LIVE SITE
2 schema blocks · 8 OG tags · 280-char meta description · GA4 · phone & address on page
Imperfect but functional. Rich-result eligible via LocalBusiness. Social shares render with image and copy.
ELEMENTOR — NEW BUILD
0 schema blocks · 0 OG tags · 0 meta description · 0 analytics · no NAP visible · placeholder testimonials
Visually refreshed but technically un-migrated. Canonical points to a staging URL. No rich-result eligibility.

Track A — What was kept, lost, and added

✓ KEPT FROM SQUARESPACE
  • HTTPS (Elementor Cloud serves valid TLS)
  • Title tag (essentially the same wording, ~24 chars)
  • Viewport meta for mobile responsiveness
  • Robots meta (max-image-preview:large) — neutral
  • Brand name, founder name, four service categories
  • Site structure: home as a long single-page narrative
  • The same image-alt-text gap (still 0% coverage)
✗ LOST IN THE REBUILD
  • JSON-LD schema — both WebSite and LocalBusiness blocks gone
  • Meta description — keyword-rich 280-char description removed
  • Open Graph tags — all 8 removed
  • Twitter Card tags — all 5 removed
  • GA4 tracking (G-XDEW40HTJB) — not installed
  • Visible NAP — phone, email, Cincinnati Ohio location all gone from page
  • Business hours schema (Mo–Su 08:00–17:00, 19:00–23:00)
  • Social profile links (Facebook, Instagram in footer)
  • Real testimonials replaced by Lorem Ipsum
  • Descriptive H1 ("Many families ask, why intervention?…") replaced by brand-only H1
  • HSTS (Squarespace had it on; Elementor Cloud staging does not enforce)
  • Favicon declaration
  • Internal link depth — 35+ links → 12 links
  • Word count of unique copy — ~3,800 → ~600 (excluding Lorem Ipsum)
+ ADDED IN THE NEW BUILD
  • WordPress + Elementor stack (more flexible long-term than Squarespace; Yoast / RankMath available)
  • Lazy-loaded background images for off-screen sections (Elementor experiment)
  • font-display:swap on Google Fonts (good for FCP)
  • Cleaner narrative H2 hierarchy ("Wondering if…" → "Knowing when…" → "Take action")
  • Updated visual design (cannot evaluate aesthetics from HTML alone)
⚠ NEW PROBLEMS INTRODUCED
  • Canonical URL points to staging domain (rwmbvkpl.elementor.cloud)
  • 4 separate Google Font families × 18 variants each loaded
  • ~25 separate Elementor per-widget CSS files (not yet bundled)
  • Lorem Ipsum visible on page — Google can detect this as a low-quality signal
  • WordPress feed/RSS/oembed/xmlrpc endpoints exposed by default
  • No html lang attribute set

Track B — Per-element comparison

SEO ElementSquarespace (Live)Elementor (New)Verdict
<title>"Interventions With Love""Interventions with Love"Same — fine
Meta description280 chars, keyword-rich (addiction, eating disorders, mental health, Gianna Yunker, case management, recovery coaching, treatment placement)Missing entirelyRegressed
Canonical URLhttps://www.interventionswithlove.comhttps://rwmbvkpl.elementor.cloud/Launch blocker
html langen-US (Squarespace context)Not declaredRegressed
Robots metaDefault (indexable)max-image-preview:largeEquivalent
Open Graph8 tags (title, description, image 500×500, url, type, site_name, image:width, image:height)NoneRegressed
Twitter Card5 tags (card=summary, title, description, image, url)NoneRegressed
JSON-LD: WebSite✓ Present✗ MissingRegressed
JSON-LD: LocalBusiness✓ Present (Cincinnati Ohio, openingHours, image)✗ MissingRegressed
JSON-LD: Person (founder)✗ Missing✗ MissingUnchanged gap
FaviconDefault Squarespace faviconNot declaredRegressed
Apple touch iconSquarespace defaultNot declaredRegressed
H1"Many families ask, why intervention? / Because it can save your loved one's life." (descriptive, keyword-bearing)"Interventions With Love" (brand only)Regressed
H2 narrativeWorkable but contains a duplicate "Is It Time for an Intervention?" H2Cleaner sequential flowImproved
Word count (real copy)~3,800–4,200 words~600 unique + ~1,500 Lorem IpsumRegressed
NAP visible on pagePhone × 2, email, Cincinnati OhioNone visibleRegressed
Internal link count~35~12Regressed
External profile linksFacebook, Instagram, AIS member profile, Cal.comARISE + AIS logos onlyRegressed
Image alt text coverage0% (10 images)0% (6 images)Unchanged gap
AnalyticsGA4 (G-XDEW40HTJB) installedNone detectedRegressed
HTTPS✓ + HSTS enforced✓ (HSTS not enforced on staging)Partial regression

Track C — Performance posture

MetricSquarespaceElementorNote
PlatformSquarespace 7.1WordPress 6.9.4 + Elementor 4.0.8WP/Elementor more extensible
ThemeSquarespace template 5c5a519771c10ba3470d8101Hello Elementor 3.4.7Hello is intentionally minimal — good baseline
HTML payload~370 KB (includes Squarespace context blob)~125 KBSmaller HTML on Elementor
External CSS files~6 (rolled-up Squarespace bundles)~25 (per-widget Elementor stylesheets)Elementor needs CSS bundling enabled
Google Fonts loadedTypekit (1 kit, async)4 family files × 18 variants eachSignificant font weight on Elementor
Above-fold image formatJPEG/PNGJPEG/PNG (no WebP/AVIF)Both unmodernized
Lazy-load background imagesNoYes (Elementor experiment)Improvement
Render-blocking JSjQuery + Squarespace common bundlesjQuery + jQuery-migrate (loaded in head, not deferred)Both have it; Elementor's is leaner
HSTS headerEnabledNot enforced on staging subdomainVerify on production
⚠ PERFORMANCE RECOMMENDATION

Trim the four-family Google Font load down to one or two families with two weights each. The current setup requests 72 font files (4 families × 9 weights × 2 styles). Elementor's per-widget CSS loading should be enabled in Settings → Performance → Improved CSS Loading before launch — this alone halves the stylesheet count.

Schema regression — what's actually missing

The Squarespace site shipped two JSON-LD blocks. The new Elementor build emits neither. For reference, here is what the live site currently outputs and the new build does not:

<script type="application/ld+json">
{
  "url":"https://www.interventionswithlove.com",
  "name":"Interventions With Love ",
  "image":"//images.squarespace-cdn.com/.../76B4A461-01DF-4257-A2A9-F1C080A46AAB.PNG",
  "@context":"http://schema.org",
  "@type":"WebSite"
}
</script>

<script type="application/ld+json">
{
  "address":"Cincinnati, Ohio \nUSA",
  "image":"https://static1.squarespace.com/.../76B4A461-01DF-4257-A2A9-F1C080A46AAB.PNG",
  "openingHours":"Mo 08:00-17:00, Mo 19:00-23:00, Tu 08:00-17:00, Tu 19:00-23:00, ...",
  "@context":"http://schema.org",
  "@type":"LocalBusiness"
}
</script>

The Elementor build emits zero JSON-LD. Without it, the site is invisible to rich-result surfaces — local pack, knowledge panels, AI overviews, and the structured-data feeds that increasingly determine which practices get cited.

Content audit

SectionSquarespaceElementorStatus
Hero copy"Many families ask, why intervention? / Because it can save your loved one's life.""Interventions With Love" + service taglineWeaker keyword match
About / founder bioDetailed credentials section (CIP, CAI, CFRS, CRS)Brief credentials lineCompressed but present
Services overviewTreatment Placement, Recovery Coaching, Case Management, Family Coaching — all presentSame four — preservedKept
"How to choose an interventionist" steps6-step guide with H3sSame 6 steps preservedKept
Self-assessment / "is it time?"Present, with link to assessmentPresentKept
TestimonialsReal client testimonialsLorem Ipsum placeholder textCritical — unship before launch
Phone / email / location513-500-3981, 717-918-9098, Info@interventionswithlove.com, Cincinnati OhioNot visible on pageRemoved
Footer social linksFacebook, InstagramNot visibleRemoved
⚠ LOREM IPSUM IS THE MOST URGENT CONTENT FIX

The placeholder testimonial text is roughly 1,500 words — about 70% of the visible copy on the page. Google's quality classifiers detect Lorem Ipsum reliably, and the presence of obvious placeholder content on a homepage can suppress rankings for the entire URL until removed. Real client testimonials are already on the live Squarespace site and can be copied directly.

Launch-blocker checklist

These six items must be resolved before the new site is pointed at www.interventionswithlove.com.

#IssueSeverity
1Lorem Ipsum testimonials visible on homepageBLOCKER
2Canonical URL points to rwmbvkpl.elementor.cloudBLOCKER
3Meta description missing on every pageBLOCKER
4Open Graph + Twitter Card tags missingBLOCKER
5LocalBusiness + WebSite JSON-LD missingBLOCKER
6Phone, email, Cincinnati Ohio not on pageBLOCKER

Findings summary

6
Launch blockers
Must fix before DNS cutover
7
High-priority regressions
Functional but harming SEO
5
Medium / nice-to-have
Performance + content depth
2
Genuine improvements
H2 flow, lazy-loaded backgrounds
FindingSeverityStatus
Lorem Ipsum testimonials on homepageBLOCKER✗ LOST CONTENT
Canonical URL points to stagingBLOCKER+ NEW PROBLEM
Meta description missingBLOCKER✗ REGRESSED
Open Graph + Twitter Card tags missingBLOCKER✗ REGRESSED
JSON-LD schema (WebSite + LocalBusiness) missingBLOCKER✗ REGRESSED
NAP (phone, email, address) not on pageBLOCKER✗ REGRESSED
GA4 analytics not installedHIGH✗ REGRESSED
H1 reduced to brand name onlyHIGH✗ REGRESSED
Word count of unique copy down ~85%HIGH✗ LOST CONTENT
Internal link count down from ~35 to ~12HIGH✗ REGRESSED
Favicon + apple-touch-icon not declaredHIGH✗ REGRESSED
html lang attribute missingHIGH+ NEW PROBLEM
HSTS not enforced (verify on production)HIGHVERIFY
4 Google Font families × 18 variants loadedMEDIUM+ NEW PROBLEM
~25 separate Elementor CSS filesMEDIUM+ NEW PROBLEM
WordPress feed/RSS/oembed/xmlrpc exposedMEDIUM+ NEW PROBLEM
Image alt text still 0% coverageMEDIUM≡ UNCHANGED
Person schema for founder still absentMEDIUM≡ UNCHANGED
Cleaner H2 narrative flowLOW✓ IMPROVED
Lazy-loaded background imagesLOW✓ IMPROVED

Bottom line

The redesign appears to have been treated as a visual project rather than a migration project — and on the visual axis, it falls short as well. On every measurable SEO axis (schema, social metadata, on-page entities, analytics, content depth) the rebuild has stripped the site back below where the Squarespace version stood, and in two places (the staging canonical and the Lorem Ipsum testimonials) it has introduced new issues that would actively harm rankings if launched.

The harder truth is about the design itself. The Elementor build reads as a competent but generic page-builder template: centered serif headlines stacked over thin body copy, a "proud member of" badge strip, and rounded card panels arranged symmetrically. It is not bad — but it does not look like a practice that families turn to in the worst week of their lives. It does not project the dignity, calm, or specialist authority that Gianna's clinical work earns. The original Squarespace site was plainer, but at least it felt like a working professional's site rather than a stock layout.

The harder question is whether Elementor's template-builder vocabulary can ever produce work that feels as considered as the practice itself. That is a different conversation — and one the third option below is built to answer.

Three sites, side by side

The same homepage, three different design philosophies. The shot on the right is the build proposed in this report — purpose-designed for Gianna's practice rather than assembled from a template library.

Squarespace site homepage above the fold
CURRENT — SQUARESPACE
Plain, dated, but functional

Small portrait, serif headline, GY monogram, walls of black body text. Reads like a competent independent practitioner's site circa 2018. Trust signals (credentials, two phone numbers, location) are on the page but visually unceremonious.

Elementor redesign homepage above the fold
PROPOSED — ELEMENTOR
Modern template, generic voice

Curved overlap card, centered tagline, member-badge strip, centered Lorem Ipsum-style paragraph. The visual vocabulary is interchangeable with thousands of other Elementor sites. Nothing here is wrong; nothing here is specific to a family interventionist.

The proposed Astro/EmDash design
RECOMMENDED — CUSTOM BUILD
Editorial, specific, authoritative

Display-weight Playfair headline with italic emphasis ("hardest weeks"), eyebrow caps signaling section intent, photo-led layout that lets Gianna and the families she serves carry the page. Reads more like a thoughtful publication than a brochure.

Why the third option is better

Design dimensionElementor templateCustom build
Headline voice"Interventions With Love" (brand restated)"A steady hand for the hardest weeks" — speaks to the moment a family is in
Typography system4 Google Font families × 18 weights, applied without hierarchyTwo faces (Playfair Display + Poppins) with intentional pairing — display, body, eyebrow, button all distinct
PhotographyOne small portrait, mostly white space belowPortrait + family imagery integrated into the layout, sized to carry emotional weight
HierarchyCenter-aligned text blocks, repeating card shapesEyebrow → display headline → lead paragraph → CTA. Clear scan path.
DistinctivenessRecognizably an Elementor templateCustom — could not be confused for another practice's site
Trust signalsGeneric "proud member of" badge rowCredentials strip with ARISE / AIS / SoberLink, integrated into the visual hierarchy rather than treated as an afterthought
Editorial restraintDecorative arcs and curves competing with contentQuiet color (lavender stone, leaf green, plum italic accents) — content does the talking
ToneOptimistic, generic-clinicalComposed, specific, present in the difficulty the family is facing
⚠ THE DESIGN-LANGUAGE GAP

Two different design questions are being conflated. Question 1: Does the page meet a contemporary aesthetic standard? Both new builds do — Elementor is not ugly. Question 2: Does the page carry the specific weight a family interventionist's site needs to carry — quiet authority, present-tense empathy, editorial restraint? Only the custom build is built to answer that question, because it was designed for this practice rather than configured from a generic template library.

The design system behind the new site

The recommended build is not a one-off page. It ships with a complete design system — a set of named, reusable tokens for color, typography, spacing, shadow, and motion — implemented as CSS custom properties in src/styles/theme.css. Every page on the site, and every future page Gianna or her team adds, draws from the same vocabulary.

What's in the system

COLOR
Stone surfaces — paper, shell, soft, deep
Ink — primary, soft, muted, quiet
Leaf green — primary action / brand
Plum — italic accent words / emphasis
Lavender — secondary surfaces
TYPOGRAPHY
A steady hand
Display — Playfair Display, 88/64/52/40/28 px
A FAMILY-CENTERED PRACTICE
Eyebrow — Poppins 600, 11px, 0.22em tracking
Body copy is set in Poppins at 16px / 1.65 line-height. The system defines six type scales — display, h1, h2, h3, h4, lead, body, sm, xs, eyebrow — so headings always size proportionally to body.
Body — Poppins 400, 16px / 1.65
SPACING · RADII · SHADOW
4
8
12
16
24
32
48
64
96
Spacing scale (px) — every margin and padding on the site is one of these values
3
6
10
16
pill
Radii — sm, md, lg, xl, pill

Why the system matters more than any single page

A page-builder site like the Elementor build looks coherent on the day it ships and degrades from there. Every future edit — a new service page, a seasonal banner, a press hit, a downloadable PDF — is a fresh design decision. Some of those decisions will be Gianna's; some will be a contractor's; some will be made under deadline. Without a system, drift is inevitable, and the site becomes visually noisier with every addition.

The custom build inverts that. The hardest design work is done once, encoded in tokens, and then every subsequent page composes from the same vocabulary:

FUTURE PAGES TAKE MINUTES, NOT DAYS

Adding a new service page means writing copy and choosing a hero image. Spacing, type ramp, color, button styles, and footer all flow from the system. No "what shade of green is the brand?" or "what size should this heading be?" — those answers are already settled.

BRAND COLLATERAL STAYS CONSISTENT

The same color and type tokens drop directly into PDF intake forms, social-share images, email signatures, and slide decks. The web site stops being a one-off and becomes the source of truth for everything visual the practice produces.

REBRANDING IS A ONE-FILE EDIT

If Gianna ever wants to lift the leaf green to a deeper shade or swap Playfair for a different display face, the change happens in one CSS file and propagates to every page on the site automatically. A page-builder site requires touching every page individually.

ACCESSIBILITY IS BAKED IN

Color contrast ratios, focus rings, type sizing, and motion-reduction defaults are codified once. New pages inherit them. There is no version of "we forgot to make the button readable on mobile" because the button comes from the system.

A NEW DEVELOPER CAN PICK IT UP IN AN AFTERNOON

The token names (--leaf, --plum, --ink-soft, --sp-5) read as documentation. There is no proprietary builder UI to learn — just CSS variables and Astro components. Future contributors are not locked into a single platform.

PERFORMANCE IS A FEATURE, NOT AN AFTERTHOUGHT

Two font families with three weights each instead of four families with eighteen. Bundled CSS instead of twenty-five per-widget files. Static prerendering instead of database-rendered pages. The system is shaped by the same restraint the design is.

THE COMPOUNDING ARGUMENT

The Elementor build solves for "looks good today." The custom build solves for "still looks good in three years, after thirty more pages have shipped, three contractors have touched it, and the brand has been extended into print and email." The first is a redesign; the second is an investment in everything visual the practice will produce going forward.

The architecture & SEO approach

The new site is not just a different look — it's a different stack, built around three commitments: speed at the edge, structured content the search and AI ecosystems can read, and an architecture that doesn't lock the practice into any one vendor.

What changed under the hood

PROPOSED — WORDPRESS / ELEMENTOR
Page-builder stack
HOSTElementor Cloud (managed WordPress)
RUNTIMEPHP + MySQL on a single origin server
CMSWordPress 6.9.4 + Elementor Pro 4.0.8
EDITINGDrag-and-drop visual builder, ~25 per-widget CSS files
CACHEElementor Cloud's built-in CDN (limited control)
SECURITYPlugin-based (Wordfence, Sucuri, etc.) — ongoing patching burden
PORTABLELocked to WordPress + Elementor; export is HTML-only
Each request hits a database. Plugins compete for hooks. WP-Admin is a permanent attack surface.
RECOMMENDED — ASTRO + EMDASH + CLOUDFLARE
Edge-rendered, content-first stack
HOSTCloudflare Workers — runs at 300+ edge locations
RUNTIMEV8 isolates (sub-millisecond cold start) + D1 SQLite + R2 object storage
FRAMEWORKAstro 6 — server-rendered HTML, zero client JS by default
CMSEmDash — code-defined schema, content stored in D1, edited in a built-in admin
CACHECloudflare CDN with full programmatic control over headers and TTL
SECURITYCloudflare WAF, DDoS, bot protection — managed at the edge, no plugins
PORTABLEPlain TypeScript + JSON content; the entire site is in git, no vendor lock-in
Pages render at the edge nearest the visitor. No PHP runtime, no database round-trip on cached pages, no plugin update treadmill.

EmDash CMS — why not WordPress

EmDash is an Astro-native CMS where the schema is defined in code and the content lives in a real database (Cloudflare D1) with media in object storage (Cloudflare R2). Gianna and her team get a clean admin UI for editing — every page, every blog post, every service description. But unlike WordPress, the schema isn't something a stray plugin can mutate: it's checked into git alongside the code.

NO PLUGIN ECOSYSTEM

WordPress's flexibility is also its largest attack surface — most WP breaches come through outdated plugins. EmDash has no third-party plugin layer.

SCHEMA IS CODE

Content types (services, resources, webinars, testimonials) are defined in seed/seed.json with full TypeScript types — predictable, validated, version-controlled.

EDITING IS STILL FRIENDLY

The admin at /_emdash/admin gives Gianna the same point-and-click experience for adding a blog post or editing a service page that WordPress would.

LIVE LOADERS

Pages query content at request-time (or build-time for static routes) — no rebuild required when Gianna publishes a new post.

EXPORTABLE CONTENT

Every post and page is plain markdown / structured JSON. Even if EmDash itself were retired tomorrow, the content moves with you.

NO DATABASE BACKUPS TO MANAGE

D1 is automatically backed up by Cloudflare. R2 has built-in versioning. The "did anyone export the WP database this week" question doesn't exist.

Cloudflare — speed and security at the edge

Every request to interventionswithlove.com is served from the Cloudflare edge location nearest the visitor — Cincinnati, Pittsburgh, anywhere a family is sitting at 11pm trying to figure out what to do. The response is generated by a Worker in <50ms typical, then cached at the edge for repeat visitors. There is no origin server to slow down, get hacked, or fall over.

300+ EDGE LOCATIONS

The site is physically close to every U.S. visitor. Time-to-first-byte stays low even at peak load.

FREE TLS + AUTOMATIC RENEWAL

HTTPS, HSTS, modern cipher suites, and certificate rotation handled automatically. No annual renewal task.

DDOS PROTECTION INCLUDED

Cloudflare absorbs volumetric attacks at the network edge. The site stays up during the kinds of traffic spikes a press hit or viral post would cause.

WAF + BOT MANAGEMENT

Web Application Firewall blocks known exploit patterns. Bot management filters scraper traffic without affecting real users or legitimate AI crawlers.

BUILT-IN ANALYTICS

Server-side analytics from Cloudflare, no client JS needed. Privacy-friendly, no cookies, GDPR-clean.

PREDICTABLE COSTS

Workers + D1 + R2 cost a few dollars a month at this traffic level. No per-seat WordPress hosting fees, no premium plugin subscriptions.

SEO — what we shipped

The new build doesn't treat SEO as an after-launch concern. Every element the Squarespace site had — and every element the Elementor build is missing — is in place from the first deploy.

CapabilityImplementationStatus
Per-page meta titles & descriptionsSet in Base.astro from page-level frontmatter; validated for lengthSHIPPED
Open Graph + Twitter CardGenerated automatically per page with custom OG image (1200×630)SHIPPED
JSON-LD structured dataProfessionalService, Person (with credentials & sameAs), Service, Article, FAQPage, BreadcrumbList, EventSHIPPED
Canonical URLsSelf-referencing canonicals on every page, points to production domainSHIPPED
XML sitemapsTwo — one dynamic (/sitemap.xml) covering 131 URLs, one static-pages (/sitemap-pages.xml)SHIPPED
RSS feed/rss.xml for the resources sectionSHIPPED
Legacy URL redirects46 rules in _redirects, covering every Squarespace URL patternSHIPPED
Blog migration108 posts ported with original slugs preserved (no link equity lost)SHIPPED
Image optimizationWebP conversion (54–88% file-size reduction), width/height on every <img>, lazy-loading below the foldSHIPPED
FAQ rich snippetsFAQPage schema on 4 high-value pages — eligible for rich results in SERPsSHIPPED
Audience landing pages5 dedicated pages (parents, spouses, adult children, employers / HR, plus the /for hub) targeting distinct search intentsSHIPPED
Cost / pricing pillar1,600-word pillar at /resources/what-does-a-family-intervention-cost — answers a high-intent query no competitor covers wellSHIPPED
Privacy / Terms / AccessibilityAll three policy pages live (was missing on Squarespace footer)SHIPPED

Built for AI discovery, not just Google

Search is changing. ChatGPT, Claude, Perplexity, and Google's AI Overviews increasingly answer questions directly — often without sending the user to a website at all. The practices that get cited are the ones whose content is structured cleanly enough for an LLM to read, summarize, and attribute. The new build treats AI agents as a first-class audience.

LLMS.TXT

An /llms.txt file at the root sits alongside robots.txt and gives AI crawlers a curated map of the site: what the practice does, where the canonical content lives, and which pages best answer common questions. Modeled on the emerging llmstxt.org spec.

MARKDOWN VIEWS

Every page exposes a .md alternate via <link rel="alternate" type="text/markdown">. AI agents can fetch /about.md instead of parsing rendered HTML — cleaner input, more accurate citations.

RICH STRUCTURED DATA

The same JSON-LD that helps Google power rich results helps LLMs understand entity relationships: that Gianna holds CIP, CAI, CFRS, CRS credentials; that the practice serves Ohio and Pennsylvania; that interventions and recovery coaching are distinct services.

SERVER-RENDERED HTML

Astro ships zero client-side JavaScript by default. Content is in the initial HTML response, not behind a React render. Every AI crawler — including ones that don't execute JS — sees the same content a human does.

SEMANTIC HTML & A11Y

Proper heading hierarchy, landmark regions, ARIA labels, and alt text. Accessibility scaffolding is also AI-discovery scaffolding — both audiences depend on the same semantic structure.

RSS + STRUCTURED FEEDS

The /rss.xml feed lets AI agents subscribe to new resources as Gianna publishes them — so when ChatGPT updates its knowledge or a research agent scans for new family-systems content, the practice is in the source set.

Future-oriented by design

Every choice in the stack is reversible — and every choice favors open standards over proprietary builders. This matters because the web of three years from now will not look like the web of today. Search is fragmenting; AI agents are becoming primary readers; performance budgets are tightening; privacy regulation is expanding. The site needs to be able to evolve with all of that.

NEW CONTENT TYPES IN MINUTES

Adding a new collection — case studies, podcast episodes, location pages — is a schema edit and a template file. No "we need a plugin for that" and no waiting on a vendor roadmap.

EVOLVING SCHEMA SUPPORT

When schema.org adds a new type relevant to clinical practice, or Google adds a new rich-result format, supporting it is a code change — not a plugin you have to wait for someone else to ship.

AI CITATION-READY

As AI search continues to grow as a referral source, the structured-content investments compound. The practice is positioned to be cited rather than scraped.

NO PLATFORM EXIT TAX

If Cloudflare ever stops being the right host, the same Astro build deploys to Vercel, Netlify, or a self-hosted Node server with minor config changes. If EmDash ever needs to be replaced, the content is already plain markdown and JSON.

PRIVACY-FIRST ANALYTICS

Cloudflare's server-side analytics give Gianna real traffic data without cookies, fingerprinting, or third-party trackers. Future privacy laws (state-level or federal) won't require a re-architecture.

PERFORMANCE COMPOUNDS

Every page is statically renderable, served from the edge, with images in modern formats. Core Web Vitals stay green as the site grows — they don't degrade page-by-page the way template-builder sites do.

THE THREE-YEAR HORIZON

The Elementor build is a snapshot of how the practice looks today. The new architecture is a platform for how the practice grows. As Gianna adds new services, expands into new geographies, publishes new resources, and is increasingly discovered through AI search rather than blue-link Google — the site keeps up because it was built to.

What we've built — a page tour

Five pages from the new site, and the thinking behind each.

Home page of the new site
1 — HOME
A steady hand for the hardest weeks

The homepage opens with a headline addressed to the moment a family is in, not a brand restatement. A single CTA (Schedule a time with Gianna) replaces the half-dozen competing buttons the old site had — one job, one outcome.

Below the fold, credentials live in a quiet strip (ARISE, AIS, SoberLink) instead of a hero badge row, and a second photo sequence introduces Gianna in context with a family. The page is one continuous narrative — what families are facing, who Gianna is, what she does, what to do next — rather than a stack of disconnected sections.

What changed: a generic brand greeting became a present-tense statement of help. The CTA hierarchy collapsed from many to one. The page now reads as a working professional, not a template.

2 — SERVICES
One door, seven services behind it

Gianna's practice spans seven distinct services — interventions, family systems coaching, treatment placement, recovery coaching, wrap-around case management, eating disorders, complex mental health. On the previous site, search intent was split across multiple disconnected pages, and visitors arriving for "family coaching" never saw "treatment placement" — even though most families need both.

The new /services page consolidates all seven into a single hub, organized by when in a family's journey each one is needed: "When the conversation can't wait," "When the family itself needs care," "Right after that first place ends," "Six months in." Each service still has its own dedicated page at /services/[slug] for SEO depth — but the hub gives families a clear map of how the offerings fit together.

What changed: consolidated split search intent into a single, navigable hub while preserving (and improving) per-service SEO with seven dedicated landing pages.

Services hub page
Webinars page
3 — WEBINARS
Quiet hours for families who want to learn before they call

Gianna does more education work than the old site reflected. Webinars previously lived as scattered Eventbrite links and Instagram posts — there was no branded place on the site for someone to discover them, browse past sessions, or sign up for the next one.

The new /webinars page is a permanent home for that work. As Gianna runs more sessions, each one gets its own page at /webinars/[slug] with structured Event schema (so Google can surface them as rich results), a recap, and a way to opt into future notifications. The "first session being scheduled" empty state is intentional — it signals momentum without forcing fake content.

What changed: education became a discoverable category of the practice instead of a sequence of disposable social posts.

4 — RESOURCES (COST PILLAR)
What does a family intervention cost?

This is the highest-intent, lowest-served question in the entire intervention search landscape. People asking it are within weeks of hiring someone. Almost no competing site answers it well — most either obscure pricing entirely or list a single bare number with no context. That gap is a gift.

The 1,600-word pillar at /resources/what-does-a-family-intervention-cost walks through what's actually included in a professional fee, what insurance does and doesn't cover, and what families typically spend on the things they try before intervention (which is almost always more than the intervention itself). It's honest, specific, and reads as a clinician's perspective — not a sales page.

Why we built it: high-intent search traffic. Families who land here are qualified, motivated, and likely to convert. Ranking for "family intervention cost" is worth more than ranking for the brand name.

Cost of intervention pillar article
Self-assessment page
5 — SELF-ASSESSMENT
Is it time to call someone like me?

The self-assessment is a quiet, no-pressure entry point for families who aren't sure whether they need help yet. It's organized into the same domains a clinician would actually screen on — substance use, daily life, health and money, family — with the explicit reassurance that nothing is sent or stored.

The headline "Is it time to call someone like me?" mirrors the question families are actually asking themselves at the kitchen table. Functionally, the page is a low-commitment funnel: families who finish the assessment land naturally at the consultation CTA. SEO-wise, it captures a wide tail of "is this addiction" and "should I intervene" queries that wouldn't convert on a service page.

What changed: a clinical screening tool reframed as a kitchen-table conversation, designed to meet families exactly where they are.

What it takes to ship

The build is essentially complete. From here, the path to launch is short.

STEP 1 GIANNA
Review the work and send feedback

Walk through the site, the design language, this report, and anything else you'd like to see changed. Send feedback in whatever form is easiest — voice memo, email, marked-up screenshots.

Estimated effort on your side: ~30–60 minutes of review.

STEP 2 US
Integrate your feedback

Any design or copy changes you ask for get folded into the build. Most rounds of feedback can be turned around in a single day.

STEP 3 GIANNA
Register a Resend account

Resend is the email-sending service the contact form and consultation requests will use. Free up to 3,000 emails/month — well above what the practice will need. Sign up at resend.com and send us the API key. We integrate it on our side.

Estimated effort on your side: ~5 minutes.

STEP 4 GIANNA
Point the domain at the new server

Update the DNS records for interventionswithlove.com at your registrar. We provide the exact records to set; the change takes a few minutes to make and an hour or two to propagate. The redirect map is already in place, so every existing Squarespace URL routes cleanly to the new equivalent.

Estimated effort on your side: ~10 minutes.

STEP 5 US
Launch + verify

Once the domain is pointing at the new server, we verify HTTPS is live, all redirects resolve, the schema validates in Google's Rich Results Test, the contact form sends through Resend, and Search Console picks up the new sitemaps.

Investment
Fixed price, two payments
$2,500
TO COMMENCE
Paid up front to start the work and finalize the build.
Let's go
Secure checkout via Stripe
$2,500
UPON COMPLETION
Paid when the site is live on interventionswithlove.com and you've confirmed everything is working.
$5,000
TOTAL
< 1 WEEK
TO LAUNCH
~1 HR
OF YOUR TIME

Total time to launch depends entirely on how quickly you can review and send feedback. With same-day feedback turnaround, the site can be live within five business days of starting.

Let us take care of this, so you can focus on your families.

You can be done with this by this time next week — with a site that will grow with you and reflect the dignity and compassion of your practice.

Let's go