What I want from
the new site
Scope is the web build. Heather owns the account and final review, Isaac assembles the pages and owns measurement, Luis builds the templates. Claire reviews, Robin takes the hardest content. Take this, work it with Claude, and come back to me with specifics.
Local dominance in search across their target market
One sentence: when a woman in the South Metro searches for help with a pregnancy, Pregnancy Choices is what she finds, and the site answers her question fast enough that she picks up the phone.
Three things follow from that, and everything in this document serves one of them.
- Local dominance. Apple Valley, Lakeville, Rosemount, Burnsville, Eagan, Bloomington, St. Paul, Minneapolis. Confirmed with the client 6 August. We rank per city, not on a national average.
- Fast and mobile-first. Nine in ten visitors are on a phone. Mobile is not a breakpoint, it is the product.
- Designed for the woman on the other end. Caring, not clinical. Helpful, not promotional. She may be frightened, she may be browsing at 2am, and she may not have long.
Scope
The patient site only. Not the donor site, not the go. paid landing pages. Donor links move to the footer — get patients where they need to be.
Where we are starting from — read this before you plan
Organic search delivered 575 sessions across two years, roughly 24 a month. The contact form produced about 24 enquiries in the same two years. Median page length is 208 words. Sixteen keywords sit in the top three, almost all of them the organisation's own name.
There is very little to lose and a great deal of headroom. Plan accordingly — this is a build from a standing start, not a rescue.
Metrics, with baselines, from day one
Build the dashboard before launch, not after. Every number below has a baseline already, which means we can show movement rather than assert it.
Read this first — the analytics are under-reporting badly
Google Analytics shows 7 organic sessions in July. Search Console shows roughly 297 Google organic clicks a month. Semrush independently estimates 818. The tell is in the July acquisition report: duckduckgo / organic recorded 11 sessions against google / organic at 7 — a pattern that cannot happen in reality, since Google carries roughly thirty times DuckDuckGo's share.
Traffic is arriving and not being attributed. Likely causes: referrer stripped by redirect chains (3,936 permanent redirects in the crawl), a referral exclusion misconfigured, or visitors leaving before the tag fires on a slow page. Every baseline below is taken from Search Console, not Analytics, because Search Console counts clicks at Google's end and cannot undercount.
| Metric | Baseline | Source & note |
|---|---|---|
| Organic clicks, main site | ~297 / mo | Search Console. Add DuckDuckGo and Bing and call it 310–330. Analytics says 7 — do not use that figure. |
| Organic keywords ranking | 1,400 | Semrush, down 1.6%. 1,135 in our export. |
| Keywords in top 3 / top 10 | 16 / 42 | Mostly brand today. Watch non-brand specifically. |
| Authority Score | 18 | Low. 182 links from 182 domains, roughly half spam. This is the ceiling on how fast rankings move. |
| Traffic share vs competitors | 41% | Semrush. Better than the analytics implied. |
| Enquiries from the main site | ~1 / mo | Confirmation page views. Deep enough in the journey to be more reliable than session counts, but verify against LifeLead. |
| Calls + texts | broken since Jun 2025 | 94% of all recorded conversions were phone taps. Restore, then baseline. |
| Local pack position, per city | not yet measured | Grid tool, eight cities. This is what local dominance actually means. |
| Tracked keyword positions | 52 core / 173 full | Semrush Position Tracking, Apple Valley + mobile, plus a Spanish campaign. |
| Indexed vs not indexed | 126 vs 133 | More than half the site is not indexed. Fix before launch. |
| Core Web Vitals | audit shows 0% | Diagnose. May also be causing the analytics gap. |
| Median page length | 208 words | Target 800–1,200 on service pages. |
| Google reviews | 25 @ 4.3 | Lowest volume in the competitive set. Competitors hold 28–74. |
| Site search terms | n/a | New. Free keyword research from exactly the right audience. |
What this changes
The site is already earning roughly 300 organic visits a month with 208-word pages and no deliberate SEO. That is around thirteen times what the analytics showed, and it is a real audience nobody has been able to see or optimise for.
It also sharpens the problem. Three hundred visits a month producing about one enquiry is a very different diagnosis from twenty-four visits producing one. The traffic is arriving; the site is not converting it.
Isaac — fix the measurement before you build the dashboard
First task is the diagnosis, not the dashboard. Building a dashboard on a broken feed just industrialises the error. Check in this order: follow a live Google result URL with redirects visible and count the hops; check www against non-www; check the referral exclusion list in the Analytics data stream; run DebugView on a real Google click from a phone; and check mobile field data in PageSpeed Insights.
Once it is fixed, stand the dashboard up immediately so the pre-launch period accrues history.
Lanes and the content chain
Claim the items in your lane, work them into tasks with Claude, and bring me specifics rather than status.
Own the outcome, the scope and final review
- Own the proposal check: every deliverable landed or consciously renegotiated
- Final content review and the editorial standard, including the AI writing policy in section 12
- Scope question — the adoption and parenting gap. See the note below. Two substantial new pages that the proposal does not currently name
- Get clinic staff interviewed — their language is the differentiator and it is free
- Named authors and clinical reviewers confirmed (titles agreed, names later)
- Chase the Spanish audit and the intern's legal recommendations from Whitney
- Review programme: get review volume off 25
Assemble the pages and own measurement
- Assemble every page. Start from what already exists — the content inventory has the full body text of all 134 items — and get each page as far as you can before asking for help
- Flag the pages that need a specialist writer rather than assembly
- Fix the analytics attribution problem, then build the dashboard in section 2
- Finalise the tracked keyword set and stand up Position Tracking now
- Restore call and text tracking; connect CallRail to Analytics
- Instrument every event: call, text, form, directions, scheduler open, scheduler complete
- Per-form confirmation URLs so conversions attribute to pages
- Investigate the indexing gap and the September position drop
Build the templates, then help populate
- Templates first — the seven in section 8. Isaac cannot assemble pages until the templates exist
- Then assist Isaac with page population
- Everything in sections 4 through 10
- Ollie on the WP Engine staging environment; Divi and its 93 library assets retired
- The 301 map implemented from the page sheet — nothing lost at launch
- Performance budget owned as a build constraint, not a post-launch fix. This may also be causing the analytics gap
- Accessibility to WCAG 2.2 AA
- TranslatePress verified against Ollie before anything else locks
The content chain
Four stages. Most pages should never reach stage three.
| Stage | Who | What |
|---|---|---|
| 1 · Assemble | Isaac | Build the page from existing content plus the keyword map. Most pages stop here. |
| 2 · Assist | Claude, with Isaac | Expand thin sections, draft FAQs, structure answer-first. Isaac drives; the output is a draft, not a page. |
| 3 · Specialist | Robin | The hardest pages — anything clinical, anything emotional, the abortion cluster, and the new adoption and parenting pages. |
| 4 · Review | Claire, then Heather | Claire reviews everything. Heather signs off. Clinical pages additionally need named client review with a date. |
Which pages go to Robin
The abortion cluster, post-abortion support, the new abortion pill campaign page, and anything where a woman is frightened while reading it. Also the two new pages below — they are the ones that have to be genuinely good, not adequate.
Heather — the content balance question
Three options is the right framing and we are keeping it. But right now the site does not deliver it. 59% of blog posts are about abortion. Adoption has one page — and it is framed as a comparison to abortion. Parenting has 257 words and an empty page.
An organisation whose premise is helping women see all three options has twenty abortion articles and one adoption article. Nobody chose that; it accumulated. But it is what the site structure currently says about them.
Two proper pages needed — adoption in Minnesota, and parenting support — plus a plan to build out the other services over time. That is Phase 2 content budget and the proposal does not name it. Bring me a size.
Search is a primary feature, not a utility
Someone typing "how much does an abortion cost" is telling us exactly where she is. Most sites waste that moment. We are not going to.
Make it visible
A real input field in the header — not a magnifying glass icon. Placeholder does work: "Ask us anything — it's private."
Pre-seeded suggestion chips before she types. Tappable, and they double as a statement of what this place does:
Make it smart — intent-mapped calls to action
Results carry a contextual action, not just a list of links.
| She searches | Primary CTA |
|---|---|
| pregnancy test · am i pregnant · late period | Schedule a free pregnancy test |
| ultrasound · how far along | Book a free ultrasound |
| abortion pill · abortion cost · plan b | Talk to a nurse — free and private |
| std · sti · testing | Book free STI testing |
| diapers · car seat · money · help | See what's available in Dakota County |
| scared · alone · pressured · don't know what to do | Talk to someone now — call or text |
That last row is the one that matters
Emotional queries must never return a list of articles. If she types something frightened, the answer is a human, immediately.
Make it forgiving
- Synonyms and misspellings — people type badly under stress. "plan b", "morning after", "pill to stop pregnancy" all resolve to the same place
- Spanish terms route to the /es/ equivalents
- Zero results never dead-ends — always falls through to call, text or schedule
Make it feed the programme
Fire the GA4 site_search event and review it monthly. This is free keyword research from precisely the audience we are trying to reach — better than any third-party tool, because it is actually them.
Curated answers, not generative
A chatbot improvising on gestational limits or medication dosing is a genuine safety risk on this site. Predictable, staff-approved responses with a clear route to a human.
Every page ends somewhere useful
- Tap-to-call and tap-to-text on every page
- Schedule an appointment as its own persistent CTA, separate from Contact — they are different intentions
- Online scheduler that completes without a phone call, for the 2am browser
- Chat widget — LeadConnector exists today; decide whether it carries over
- Doxy.me video integration on the abortion pill page
- Map and directions with working event tracking (currently fired four times in two years)
- Separate thank-you URL per form
- Trust strip: free · confidential · no insurance needed · walk-ins welcome
Nine in ten visitors, so this is the product
Found in the current code — must not carry over
The viewport meta is set to maximum-scale=1.0, user-scalable=0. That disables pinch-to-zoom. It is a WCAG failure and a real problem for anyone with low vision.
- Bottom action bar, not top. Call · Text · Schedule in the thumb zone
- Pre-filled SMS body — sms:+19522349850?&body=Hi, I'd like to schedule an appointment. Removes the hardest part of texting a stranger
- Native map deep links rather than an embedded iframe — faster, opens the app she already uses
- No interstitials or pop-ups. The ays-popup-box plugin is installed today. Google penalises them and on this site they are actively hostile
- Correct input types — tel, email, inputmode, autocomplete. Fewer required fields; every one costs completions
- 44–48px tap targets, 16px minimum body text
- No carousels
- Test on a real low-end Android, not an iPhone simulator. That is what a lot of this audience is carrying
- Review the design in a dark room — traffic skews late and contrast behaves differently at night
One to decide deliberately, not assume
A quick-exit button. Used by domestic violence organisations — one tap leaves the site and clears the page from history. Given we publish "signs you are being pressured into an abortion decision", some visitors may be browsing under supervision. Worth a real decision either way, and if we adopt it, it needs to be thumb-reachable.
Build once, reuse everywhere
Page templates
- Home
- Service
- Location
- Article — with author, reviewer and date
- Resource hub
- Campaign landing
- Contact / Schedule
Content components
- FAQ accordion with FAQPage schema — on every service page
- Author + medical reviewer byline block
- "Last reviewed" date
- Story / testimonial block
- "What to expect" step sequence
- Local resource directory
- Service card grid
Location pages need genuinely different content
The eight that exist today are 97–100% identical with the city name swapped. That is why they produced three organic visits in two years. Each needs local landmarks, travel time, local partner organisations and, where possible, a story from that community.
Non-negotiables
Performance
- LCP under 2.5s · INP under 200ms · CLS under 0.1
- Performance budget owned during the build, not fixed afterwards
- WebP, correctly sized, lazy-loaded below the fold
- Cut to two font families — three load today
- Aggressive plugin reduction
Search infrastructure
- 301 map implemented from the page sheet
- Sitemap with correct translated Spanish slugs
- hreflang corrected — 68 errors today
- Fix the indexing gap: 133 not indexed vs 126 indexed
Structured data
- MedicalClinic · MedicalWebPage · FAQPage · Person · BreadcrumbList
- One schema plugin, not two — 67 markup errors today
- Consistent NAP, which also fixes the four phone numbers in circulation
Accessibility — WCAG 2.2 AA
- Alt text (296 images missing it)
- Contrast, keyboard navigation, visible focus
- Proper form labels
- prefers-reduced-motion respected
Multilingual
- TranslatePress carried over and verified against Ollie before anything else locks
- Human-reviewed Spanish on the top ~15 pages — machine translation of medical content is a liability
- Translated slugs in the sitemap
The client wants movement. Here is how to do it right.
Ollie has animation support built in, so the capability is there. The discipline is what matters.
The rule
Content renders first, motion decorates second. On a crisis-intent mobile site, a fade-in that delays her seeing the phone number is a failure however elegant it looks.
- Transform and opacity only. Anything animating height, width or position causes layout shift and destroys CLS — already our failing metric
- 150–300ms. Longer reads as slow, not smooth
- Never above the fold. Hero, phone number and primary CTA appear instantly. No exceptions
- Entrance only, once. Elements fade up as they enter view and do not re-animate on scroll-back
- No parallax on mobile. No scroll-jacking. Ever.
- prefers-reduced-motion respected — an accessibility requirement, not a preference
My read, for the design conversation
The client's instinct for movement is really about the site feeling alive and caring rather than clinical. That is mostly achievable through generous whitespace, warm photography and soft transitions — and mostly not through animation.
Luis — build one page both ways and show them, rather than debating it abstractly. That conversation goes much better with something to look at.
Formatting so machines can find and quote us
Some of this is real and some is hype. The real parts:
- Answer-first structure. Question as the H2, direct answer in the first sentence or two, detail after. This is what gets extracted, by Google's AI overviews and by ChatGPT
- Questions phrased the way she asks them, not the way a marketer would write them
- Real FAQ schema on every service page — not just an accordion that looks like one
- Named authors with credentials, a reviewer, and a review date. The strongest signal available on health content
- Clean server-rendered HTML. If content only appears after JavaScript runs, some crawlers never see it. Verify explicitly
- Consistent NAP in structured data
llms.txt — the Semrush audit flags it as missing. It is an emerging convention rather than an adopted standard, and no major AI company has committed to reading it. Cheap to add; do not expect much from it.
The durable version
Be genuinely authoritative, clearly structured and factually precise. That has served every ranking system so far and will serve the next one.
How much is too much, and yes we need an editor
This is the highest-risk content category there is: medical facts, legal exposure, and someone reading at 2am while frightened.
Google does not penalise AI content as such — it penalises unhelpful content. But health content gets the heaviest scrutiny, and AI drafts fail here in two specific ways: they get clinical details subtly wrong, and they produce emotionally generic prose. Generic is a failure mode on these pages.
| AI is fine for | A human writes |
|---|---|
| Outlines and structure | Anything clinical |
| First drafts of factual sections | Anything emotional |
| FAQ generation from real call logs | The first hundred words of any page |
| Meta descriptions and alt text | All testimonials and stories |
| Internal link suggestions | Anything about abortion |
Every clinical page gets named review with a date before it publishes. That is both an editorial standard and a ranking input.
The thing AI cannot produce
Staff know what women actually say on the phone. Interview them, use their real language, build the FAQs from real questions. That is the differentiator, and it costs nothing.
Check every one lands
Heather owns this. Walk the signed proposal against this brief and confirm each deliverable is either built into the plan or consciously renegotiated with the client. Nothing gets quietly dropped, and nothing gets quietly added.
Particular attention to two:
- Content depth. The proposal's Phase 2 line is the only place content production is funded. At a 208-word median, bringing service pages to a competitive standard is a writing project, not a migration task. Size it honestly.
- Spanish. 103 pages, machine translated. Neither the proposal nor the research doc mentions it. Decide whether it is in scope and at what quality standard, and get that in writing.
Load the files, build your tasks, bring me specifics
All three of you: start a Claude conversation, load the supporting files, and work your lane into a task list. Do not start from a blank page — the analysis is already done.
Load these into your chat before you start
Full list, with what each one is for, is in the companion document Supporting_Files_and_How_To_Use_Them.md. Load the ones marked for your lane at minimum.
Then
- Work your lane in this brief into concrete tasks — with owners, estimates and dependencies
- Generate an Avaza import file from the task list. Claude knows our import format: exactly 15 columns, Task Type between AssignedTo and Task Status, RowID and ParentRowID at the end. Company Name and Project Title must match the existing records character for character. Never open the CSV in Excel before uploading — it strips trailing columns and breaks the importer
- Bring me the specifics: what you are building, what it costs, what you need decided
What I want back from each of you
- Heather — proposal reconciliation, content plan with a realistic word-count scope, editorial standard, author and reviewer names
- Isaac — the attribution problem diagnosed, then the dashboard live with real baselines; the page assembly plan with a list of which pages need Robin
- Luis — templates first and a date for them, build plan against these requirements, three mega menu references, one page shown with and without movement, and a performance budget you are prepared to hold