Juniper Lane StudioLaunch QA report
File № AP-2026-2952
Scanned 3 of 3 discovered pages · 2026-06-28 09:14–09:15 UTC (88s) · engine AgencyProofBot/1.0 · 50 deterministic checks + AI review (Claude)
Certificate of pre-launch inspection
Marlow Dental Website
https://marlow-dental.example
- Prepared for
- Marlow Dental
- Prepared by
- Juniper Lane Studio
- Inspected
- Jun 28, 2026
- Verdict
- Hold
- Projected score
- 98/100if listed findings are resolved
Prepared by Juniper Lane Studio · hello@juniperlane.example
- homepageMarlow Dental | Gentle Modern Dentistryhttps://marlow-dental.example/
- /servicesMarlow Dental | Gentle Modern Dentistryhttps://marlow-dental.example/services
- /contactContact | Marlow Dentalhttps://marlow-dental.example/contact
§ 01
Executive summary
Marlow Dental Website scores 71/100 — fixes required before launch. Three blockers stand in the way: a hero headline that guarantees pain-free treatment, a "Book an appointment" button that goes nowhere on all three pages, and before/after photos published with patient names in the filenames. The high-priority tier is about being reachable and findable: the appointment form submits nowhere, the site never states where the practice is, there is no structured data for local search, and the form collects health details with no privacy policy. Because this is a healthcare site, one finding is flagged for human review: the outcome claims in the hero and whitening copy may need checking against local dental advertising rules. Accessibility (88) and performance (92) show the build underneath is sound — this is a copy, wiring, and metadata pass, not a rebuild.
§ 02
Scorecard
Ten dimensions, weighted into one Launch Readiness Score.
Hold
- Trust & Credibility63
Brand · 18% of score
- SEO Readiness69
SEO · 14% of score
- AI Search Readiness70
AI Visibility · 10% of score
- Technical QA71
Technical · 14% of score
- Privacy & Metadata60
Privacy · 10% of score
- Accessibility Basics88
Accessibility · 8% of score
- Performance Basics92
Performance · 8% of score
- Content Quality66
Content · 8% of score
- Conversion Clarity70
Conversion · 6% of score
- Compliance-Sensitive Copy85
Compliance · 4% of score
Each category starts at 100 and deducts per finding: critical −25 · high −15 · medium −8 · low −4 · enhancement −2. The launch score is the weighted average.
§ 02b
Trust breakdown
The Trust score, split into the six dimensions a buyer actually feels. Same deduction arithmetic as the category scores.
- Identity96
1 open finding
- Proof75
1 open finding
- Testimonials92
1 open finding
- Authority85
1 open finding
- Transparency85
1 open finding
- Security75
1 open finding
Largest trust opportunity: Proof (75/100) — are the claims backed by anything checkable? Fixing the finding in this dimension moves buyer trust the fastest.
§ 03
Inspection coverage
What this scan looked at, how, and how much weight the verdict can carry.
- Pages reviewed
- 3 of 3 discovered
- Method
- Static HTML fetch and parse — no browser rendering
- AI layer
- AI review (Claude)
- Confidence
- medium — a partial read of the site; the findings are reliable, sitewide claims are directional
Not inspected in this tier
- Rendered-browser checks: JavaScript execution, layout, and Core Web Vitals are not measured
- Form submission: contact and signup forms are located but never filled in or sent
- Payment flow: checkout journeys are not attempted
§ 07
Critical blockers
Do not launch until these are resolved. Each one is visible to visitors, clients, or regulators on day one.
Homepage headline guarantees a treatment outcome
<h1>Pain-free treatment — guaranteed.</h1> — captured from / . No page describes what the guarantee covers, and no terms, methodology, or supporting evidence exist anywhere on the site.
If this ships unfixed
- The first patient whose visit isn't pain-free has a documented broken promise
- One complaint to a dental board cites the site's own headline as evidence
- Visitors who distrust the guarantee discount every other claim on the site
Estimated impact: Trust & Credibility
Why it matters
A dental practice cannot guarantee that treatment is pain-free — outcomes vary by patient and procedure. The first sentence a visitor reads is a promise the practice cannot keep, and it exposes Marlow Dental to complaints the day a patient's experience differs.
Recommended fix
Replace the guarantee with an honest statement about the practice's approach to patient comfort, and describe what patients can actually expect for common procedures.
Done when
- Every outcome promise is either backed by visible evidence/terms or rewritten to what can be shown
Verify: Re-scan after deploying; the finding clears when the flagged wording no longer appears on the page (or now sits next to its supporting evidence).
Dev taskReplace the hero H1 on / and remove all "guaranteed" language sitewide.
The "Book an appointment" button goes nowhere
<a class="nav-cta" href="#">Book an appointment</a> — appears in the navigation on all 3 crawled pages (/, /services, /contact). Clicking it scrolls to the top of the current page.
If this ships unfixed
- Patients who try to book get nothing — no form, no phone, no record they tried
- Every ad dollar and referral drives traffic to a booking path that is broken
- The practice never learns how many appointments it lost
Estimated impact: Technical QA
Why it matters
Booking is the one action this site exists to produce, and its primary button is a dead end on every page. Patients who click it get nothing — no form, no phone number, no booking widget — and the practice never knows they tried.
Recommended fix
Point the button at the /contact appointment form (or the practice's booking system) and click-test it on every page before launch.
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "The "Book an appointment" button goes nowhere"
Verify: Re-scan after deploying; the finding clears when a plain HTTP fetch of the page shows the corrected markup, headers, or robots rules.
Dev taskSet the nav CTA href to /contact in the shared header; verify on /, /services, and /contact.
Before/after photos are published with patient names in the filenames
<img src="/images/before-after-jane-mercer-crown.jpg"> and <img src="/images/before-after-r-okafor-veneers.jpg"> — smile gallery on /services (the first image also appears on /). Each filename pairs an identifiable patient name with a dental procedure.
If this ships unfixed
- Search engines index patient names paired with their dental procedures
- The named patients have a live privacy complaint against the practice
- Cached copies keep serving the leaked names even after the files change
Estimated impact: Privacy & Metadata
Why it matters
A filename linking a named person to a medical procedure is health information published in a public URL — indexed by search engines, cached, and visible in every share. For a dental practice this is a serious privacy exposure, and patient consent for the photo almost certainly did not cover this.
Recommended fix
Take the current files down, re-export the images under neutral filenames (e.g. smile-gallery-01.jpg) with embedded metadata stripped, and confirm written patient consent covers web publication before restoring the gallery.
Done when
- The change described in the recommended fix is live on /services
- A fresh scan no longer reports "Before/after photos are published with patient names in the filenames"
Verify: Re-scan after deploying; the finding clears when the flagged exposure is gone — the policy page linked, or the leaking asset renamed and its old URL purged.
Dev taskRename both before/after images to neutral slugs, update references on / and /services, and purge the old URLs from any CDN cache.
§ 08
High-priority fixes
Not launch-blocking, but they cost trust, traffic, or leads from the first day live.
Appointment form collects health details with no privacy policy
The /contact form fields include "Phone", "Reason for visit", and "Describe your symptoms". No page on the site links to a privacy policy — the footer links are Home, Services, and Contact.
If this ships unfixed
- The site collects health details with no published policy — a legal exposure
- Privacy-conscious patients abandon the form rather than describe symptoms
- Form and ad platforms can flag the site for collecting data without a policy
Estimated impact: Privacy & Metadata
Why it matters
The form asks patients to describe symptoms — health information — and the site never says where that data goes, who can read it, or how long it is kept. For a healthcare practice this is both a trust problem and a likely regulatory gap.
Recommended fix
Publish a privacy policy covering what the form collects, where submissions are stored, and how patients can request deletion. Link it from the footer on every page and next to the form's submit button.
Done when
- A privacy policy page exists and is linked from the site footer
- The policy names what data is collected and how it is used
Verify: Re-scan after deploying; the finding clears when the flagged exposure is gone — the policy page linked, or the leaking asset renamed and its old URL purged.
Dev taskCreate /privacy with reviewed policy content and link it in the shared footer and beside the appointment form.
Missing meta description on /services
/services has no <meta name="description"> tag. Search engines will assemble a snippet from whatever page text they pick — currently the navigation links.
Why it matters
The services page is where "dentist near me" searches should land, and the snippet under that result is the ad copy for the click. Leaving it to chance hands the practice's best page a random sentence in results.
Recommended fix
Add a 140–160 character meta description naming the services and both locations, e.g. "Cleanings, crowns, and whitening at Marlow Dental's two locations. Gentle care for the whole family — book online or call."
Done when
- The change described in the recommended fix is live on /services
- A fresh scan no longer reports "Missing meta description on /services"
Verify: Re-scan after deploying; the finding clears when the page's metadata parses with the expected tag in place. View-source (not the browser inspector) shows what crawlers see.
Dev taskAdd a unique <meta name="description"> to /services and verify it renders in the page <head>.
No structured data — no Dentist or LocalBusiness schema anywhere
No application/ld+json script on any of the 3 crawled pages. There is no machine-readable statement of the practice name, addresses, phone numbers, or opening hours.
Why it matters
Local search and AI assistants answering "find a dentist near me" lean on LocalBusiness/Dentist structured data. Without it, Marlow Dental is invisible to the systems that route local patients — the exact channel a two-location practice lives on.
Recommended fix
Add Dentist JSON-LD to the homepage with name, url, both location addresses, phone numbers, and openingHoursSpecification for each.
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "No structured data — no Dentist or LocalBusiness schema anywhere"
Verify: Re-scan after deploying; the finding clears when the structured data, robots rules, or guidance files are present in a plain fetch of the site.
Dev taskEmbed an application/ld+json script with the Dentist schema (both locations) in the homepage <head>.
The site never says where the practice is
No city, neighborhood, or street address appears in the crawlable text of any page. The /contact page says only "Conveniently located to serve you better."
Why it matters
Dentistry is bought locally, and neither search engines nor AI assistants can place a practice that never states a location. A practice with two physical locations is currently indistinguishable from a practice anywhere on earth.
Recommended fix
Name both locations with full street addresses in the footer of every page and on /contact, and mention the cities in the homepage and services copy.
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "The site never says where the practice is"
Verify: Re-scan after deploying; the finding clears when the structured data, robots rules, or guidance files are present in a plain fetch of the site.
Dev taskAdd both location addresses (with phone numbers and hours) to the shared footer and the /contact page.
The homepage welcome copy is the page builder's untouched output
The section under the hero reads: "Welcome to the future of dentistry, where cutting-edge technology meets a seamless experience designed around you." It says nothing specific about Marlow Dental — no doctors, no locations, no services, no reason to choose this practice.
Why it matters
Patients researching a new dentist are deciding whether to trust strangers with their health. Copy that could describe any practice on the internet gives them nothing to decide with — and reads as generated, which quietly undermines the pages around it.
Recommended fix
Rewrite the welcome section around what is true and specific: the practitioners, the two locations, the services patients actually book, and how the practice handles anxious patients.
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "The homepage welcome copy is the page builder's untouched output"
Verify: Re-scan after deploying; the finding clears when the flagged copy has been replaced on the page.
Dev taskReplace the homepage welcome section copy once the practice approves the rewrite.
Service descriptions are template text with nothing about this practice
Every service blurb on /services is a one-line template ("Restore damaged teeth with durable, natural-looking crowns."). Nothing mentions Marlow's locations, hours, equipment, practitioners, or how to book each treatment — the details a patient comparing practices actually needs.
Why it matters
A services page that describes dentistry in general instead of this practice in particular converts nobody: the patient still doesn't know who does the work, where, or when they could be seen.
Recommended fix
Expand each service with practice-specific facts: which practitioner provides it, at which location, typical visit length, and how soon a new patient can usually be seen.
Done when
- The change described in the recommended fix is live on /services
- A fresh scan no longer reports "Service descriptions are template text with nothing about this practice"
Verify: Re-scan after deploying; the finding clears when the flagged copy has been replaced on the page.
Dev taskRewrite the four service blurbs on /services with practice-approved specifics.
The appointment form submits nowhere
<form action="#" method="post"> — captured from /contact. There is no submit handler, no endpoint, and no success or error state in the markup.
Why it matters
Every appointment request made through this form vanishes: the patient believes they contacted the practice, and the practice never hears about it. That is missed appointments and quietly angry patients from day one.
Recommended fix
Wire the form to a real endpoint that delivers to the practice's front desk, add visible success and error states, and send a live test submission before launch.
Done when
- The change described in the recommended fix is live on /contact
- A fresh scan no longer reports "The appointment form submits nowhere"
Verify: Re-scan after deploying; the finding clears when the homepage presents the corrected path — then click it yourself on a phone.
Dev taskPoint the appointment form at a working handler, add success/error states, and confirm delivery with a real test submission in production.
Every homepage call to action is "Learn More"
The label "Learn More" appears on 3 buttons on / — the hero, the services section, and the closing banner. None of them asks the visitor to book, call, or contact the practice.
Why it matters
"Learn More" defers the decision the page should be asking for. A dental homepage has exactly one job — get an appointment requested — and no button on this one asks for it.
Recommended fix
Make the primary CTA "Request an appointment" (linked to the working form) in the hero and closing banner; keep one "See our services" link for the middle of the page.
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "Every homepage call to action is "Learn More""
Verify: Re-scan after deploying; the finding clears when the homepage presents the corrected path — then click it yourself on a phone.
Dev taskReplace the three Learn More buttons: two become Request an appointment → /contact, one becomes See our services → /services.
Health-outcome claims that may need review before publication
Two homepage claims promise treatment outcomes: "Pain-free treatment — guaranteed." (hero) and "Instant results with our whitening treatments." Dental advertising rules in many jurisdictions restrict guaranteed-outcome claims.
Why it matters
This project is marked compliance-sensitive: it advertises healthcare. Outcome guarantees in health advertising are the specific category of claim that professional boards and advertising regulators examine, and the practice — not the agency — carries that exposure.
Recommended fix
Rework both claims to describe the practice's approach rather than promise results, and have the practice's advisor confirm the final wording. Needs human review — outcome claims in healthcare advertising are jurisdiction-specific. Not legal advice.
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "Health-outcome claims that may need review before publication"
Verify: Re-scan after deploying; the finding clears when the flagged phrase no longer appears. Compliance wording should also pass a human review — this is not legal advice.
Dev taskReplace both outcome claims with reviewed wording approved by the practice.
§ 09
Medium-priority fixes
Worth fixing in the launch week. Individually small, collectively the difference between shipped and polished.
The site claims "5,000+ happy patients" but shows no reviews or credentials
The homepage says "Join 5,000+ happy patients who trust us with their smiles", yet no page shows a single review, rating source, practitioner credential, or professional affiliation to support it.
Why it matters
Patients choosing a dentist check for proof — reviews, credentials, familiar accreditation. A big round number with nothing behind it reads as decoration, and its presence makes the absence of real proof more conspicuous.
Recommended fix
Either back the number with its source (e.g. a link to the practice's Google reviews) or replace it with proof the practice actually has: review snippets with permission, practitioner credentials, and years in practice.
Done when
- Testimonials and counts are attributed (name, company, or link) or removed
Verify: Re-scan after deploying; the finding clears when the flagged wording no longer appears on the page (or now sits next to its supporting evidence).
Dev taskAdd a reviews/credentials section to the homepage once the practice supplies verifiable material; remove the unsupported patient count if no source exists.
The homepage title tag is reused verbatim on /services
<title>Marlow Dental | Gentle Modern Dentistry</title> — identical on / and /services. The builder's site-wide default title was never overridden per page.
Why it matters
Duplicate titles make pages compete with each other in search results, and the services page — the one that should rank for treatment searches — never says what it is.
Recommended fix
Give each page a unique, descriptive title. Keep the current one for /, and retitle /services along the lines of "Dental Services — Cleanings, Crowns & Whitening | Marlow Dental".
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "The homepage title tag is reused verbatim on /services"
Verify: Re-scan after deploying; the finding clears when the page's metadata parses with the expected tag in place. View-source (not the browser inspector) shows what crawlers see.
Dev taskSet per-page <title> values for /services and /contact instead of the builder default.
No og:image on any page
No page defines og:image. Shares on Facebook, WhatsApp, and iMessage will render a bare link or a scraped fragment instead of a preview card.
Why it matters
Dental practices get shared exactly this way — a parent forwarding the link to a family group chat. A blank preview card wastes the practice's most personal referral channel.
Recommended fix
Create a 1200×630 branded OG image and set og:image plus og:image:alt sitewide.
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "No og:image on any page"
Verify: Re-scan after deploying; the finding clears when the page's metadata parses with the expected tag in place. View-source (not the browser inspector) shows what crawlers see.
Dev taskAdd og:image, og:image:width, og:image:height, and og:image:alt meta tags to the shared head component.
Smile gallery images have no alt text
<img src="/images/before-after-jane-mercer-crown.jpg"> and <img src="/images/before-after-r-okafor-veneers.jpg"> carry no alt attribute; the homepage hero image (hero-smile-final-v3.png) is also missing one.
Why it matters
Screen reader users hear raw filenames read aloud — which, given the current filenames, would also read out patient names. Alt text is a baseline accessibility requirement and takes minutes to add.
Recommended fix
Write descriptive alt text for the gallery and hero images (without patient names), and use alt="" for purely decorative graphics.
Done when
- The change described in the recommended fix is live on /services
- A fresh scan no longer reports "Smile gallery images have no alt text"
Verify: Re-scan after deploying; the finding clears when the attribute or tag is present in the served HTML. Spot-check with a screen reader or browser accessibility tree.
Dev taskAdd alt attributes to the two gallery images and the homepage hero image.
The hero image is a 4.8 MB uncompressed PNG
/images/hero-smile-final-v3.png transfers 4.8 MB uncompressed — the largest single asset on the site, loaded above the fold on every visit to /.
Why it matters
Patients often find a dentist from a phone on cellular data. A nearly 5 MB hero means the first thing they experience is a blank page — several seconds of it on a slow connection.
Recommended fix
Export the hero as a compressed WebP or AVIF at the actual display size (target under 200 KB) and serve responsive sizes via srcset.
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "The hero image is a 4.8 MB uncompressed PNG"
Verify: Re-scan after deploying; the finding clears when the measured value (bytes, encoding, TTFB, redirects) is back inside the threshold.
Dev taskRe-export hero-smile-final-v3.png as an optimized WebP with srcset variants; replace the reference on /.
§ 10
Low priority & enhancements
Quick wins and small levers. None of these blocks anything.
No practitioner is named anywhere on the site
Across all 3 crawled pages, no dentist or hygienist is named, and there is no team or about section — the practice is anonymous.
Why it matters
Patients are choosing a person, not just a practice. Names, photos, and one line of background each are among the cheapest trust signals a healthcare site can add.
Recommended fix
Add a short team section with each practitioner's name, role, and credentials, linked from the homepage.
Done when
- The change described in the recommended fix is live on the homepage
- A fresh scan no longer reports "No practitioner is named anywhere on the site"
Verify: Re-scan after deploying; the finding clears when the flagged wording no longer appears on the page (or now sits next to its supporting evidence).
Dev taskAdd a practitioners section (names, roles, credentials) to the homepage or a new /team page.
No sitemap.xml
GET /sitemap.xml returns the 404 page, and robots.txt does not reference a sitemap.
Why it matters
Three pages will get crawled eventually without one, but a sitemap makes indexing predictable — and it's a fifteen-minute fix.
Recommended fix
Generate a sitemap.xml at build time and reference it from robots.txt.
Done when
- The change described in the recommended fix is live on /sitemap.xml
- A fresh scan no longer reports "No sitemap.xml"
Verify: Re-scan after deploying; the finding clears when a plain HTTP fetch of the page shows the corrected markup, headers, or robots rules.
Dev taskGenerate /sitemap.xml at build time and add a Sitemap: line to robots.txt.
Appointment form inputs have no programmatic labels
The /contact form fields use placeholder text only — e.g. <input type="text" placeholder="Describe your symptoms"> with no <label> element or aria-label.
Why it matters
Placeholders disappear on focus and are not reliably announced by screen readers, so assistive-technology users get an unlabeled form asking about their health.
Recommended fix
Add a visible <label> for each form field, associated via for/id.
Done when
- The change described in the recommended fix is live on /contact
- A fresh scan no longer reports "Appointment form inputs have no programmatic labels"
Verify: Re-scan after deploying; the finding clears when the attribute or tag is present in the served HTML. Spot-check with a screen reader or browser accessibility tree.
Dev taskAdd associated <label> elements to all six appointment form fields on /contact.
The same paragraph appears verbatim on / and /services
"At Marlow Dental, we combine state-of-the-art technology with a caring touch to deliver exceptional results for every smile." — identical on / and /services.
Why it matters
Verbatim repetition across pages is a tell of generated copy, and it wastes a slot where the services page could say something the homepage doesn't.
Recommended fix
Keep the paragraph in one place and replace the other instance with page-specific copy.
Done when
- The change described in the recommended fix is live on /services
- A fresh scan no longer reports "The same paragraph appears verbatim on / and /services"
Verify: Re-scan after deploying; the finding clears when the flagged copy has been replaced on the page.
Dev taskReplace the duplicated paragraph on /services with copy specific to the services offered.
§ 10b
Launch timeline
Every open finding, sequenced the way a consultant would run the week. Blockers and quick wins land today; nothing in “Next month” blocks anything.
- Before/after photos are published with patient names in the filenamescritical blocker · S
- Homepage headline guarantees a treatment outcomecritical blocker · M
- The "Book an appointment" button goes nowherecritical blocker · M
- Every homepage call to action is "Learn More"high priority · M
- Health-outcome claims that may need review before publicationhigh priority · M
- The appointment form submits nowherehigh priority · M
- Appointment form collects health details with no privacy policyhigh priority · M
- Missing meta description on /serviceshigh priority · M
- No structured data — no Dentist or LocalBusiness schema anywherehigh priority · M
- The site never says where the practice ishigh priority · M
- The homepage welcome copy is the page builder's untouched outputhigh priority · M
- Service descriptions are template text with nothing about this practicehigh priority · M
- The site claims "5,000+ happy patients" but shows no reviews or credentialsmedium priority · M
- The homepage title tag is reused verbatim on /servicesmedium priority · M
- No og:image on any pagemedium priority · M
- Smile gallery images have no alt textmedium priority · M
- The hero image is a 4.8 MB uncompressed PNGmedium priority · M
- No practitioner is named anywhere on the sitelow priority · M
- No sitemap.xmllow priority · M
- Appointment form inputs have no programmatic labelslow priority · M
- The same paragraph appears verbatim on / and /serviceslow priority · M
§ 11
Copy rewrites
Suggested replacements for the riskiest copy — ready to paste, ready to edit.
Homepage headline guarantees a treatment outcome
homepageAP-2026-2952-01Original
“<h1>Pain-free treatment — guaranteed.</h1> — captured from / . No page describes what the guarantee covers, and no terms, methodology, or s…”
Suggested
“Modern techniques focused on comfort — ask us what to expect for your procedure.”
The homepage welcome copy is the page builder's untouched output
homepageAP-2026-2952-08Original
“Welcome to the future of dentistry, where cutting-edge technology meets a seamless experience designed around you.”
Suggested
“Marlow Dental has cared for families at our two neighborhood locations for over a decade. Same-week appointments, clear treatment plans, and a team that explains every step before it happens.”
Health-outcome claims that may need review before publication
homepageAP-2026-2952-12Original
“Pain-free treatment — guaranteed.”
Suggested
“Whitening results you can see, with a plan tailored to your teeth — we'll walk you through realistic expectations at your consultation.”
§ 12
Developer task list
Every fix as a hand-off-ready task, ordered by priority — impact vs. effort, severity as tiebreak. IDs match the findings above.
- AP-2026-2952-03Rename both before/after images to neutral slugs, update references on / and /services, and purge the old URLs from any CDN cache.P5027 · Squick win
- AP-2026-2952-01Replace the hero H1 on / and remove all "guaranteed" language sitewide.P5019 · M
- AP-2026-2952-02Set the nav CTA href to /contact in the shared header; verify on /, /services, and /contact.P5019 · M
- AP-2026-2952-11Replace the three Learn More buttons: two become Request an appointment → /contact, one becomes See our services → /services.P4024 · M
- AP-2026-2952-12Replace both outcome claims with reviewed wording approved by the practice.P4024 · M
- AP-2026-2952-10Point the appointment form at a working handler, add success/error states, and confirm delivery with a real test submission in production.P4022 · M
- AP-2026-2952-04Create /privacy with reviewed policy content and link it in the shared footer and beside the appointment form.P4017 · M
- AP-2026-2952-05Add a unique <meta name="description"> to /services and verify it renders in the page <head>.P4017 · M
- AP-2026-2952-06Embed an application/ld+json script with the Dentist schema (both locations) in the homepage <head>.P4014 · M
- AP-2026-2952-07Add both location addresses (with phone numbers and hours) to the shared footer and the /contact page.P4014 · M
- AP-2026-2952-08Replace the homepage welcome section copy once the practice approves the rewrite.P4004 · M
- AP-2026-2952-09Rewrite the four service blurbs on /services with practice-approved specifics.P4002 · M
- AP-2026-2952-13Add a reviews/credentials section to the homepage once the practice supplies verifiable material; remove the unsupported patient count if no source exists.P3019 · M
- AP-2026-2952-14Set per-page <title> values for /services and /contact instead of the builder default.P3019 · M
- AP-2026-2952-15Add og:image, og:image:width, og:image:height, and og:image:alt meta tags to the shared head component.P3019 · M
- AP-2026-2952-16Add alt attributes to the two gallery images and the homepage hero image.P3012 · M
- AP-2026-2952-17Re-export hero-smile-final-v3.png as an optimized WebP with srcset variants; replace the reference on /.P3009 · M
- AP-2026-2952-18Add a practitioners section (names, roles, credentials) to the homepage or a new /team page.P2019 · M
- AP-2026-2952-19Generate /sitemap.xml at build time and add a Sitemap: line to robots.txt.P2017 · M
- AP-2026-2952-20Add associated <label> elements to all six appointment form fields on /contact.P2012 · M
- AP-2026-2952-21Replace the duplicated paragraph on /services with copy specific to the services offered.P2002 · M
§ 13
Claude / Fable fix prompt
Paste this into Claude or Fable and let it work through the list.
You are improving the launch readiness of https://marlow-dental.example — the website of Marlow Dental, a two-location dental practice. The site was rebuilt with an AI page builder and shipped with the generated copy untouched. An AgencyProof audit scored the site 71/100 (fixes required before launch). Work through the issues below in order, without changing the site's visual design, layout, or routes.
Ground rules:
- This is a healthcare site. Never write outcome guarantees ("pain-free", "instant results", "guaranteed"). Where the audit flags compliance-sensitive wording, rewrite conservatively and leave a TODO for human review — do not provide legal advice.
- Never invent statistics, patient names, testimonials, reviews, or credentials. If a claim needs evidence the practice hasn't supplied, soften the claim instead of manufacturing proof.
- Write plainly and specifically. Banned phrases: "cutting-edge", "seamless", "state-of-the-art", "the future of dentistry", "designed around you", "exceptional results".
ISSUES TO FIX (in priority order):
1. [CRITICAL / trust] The hero H1 is "Pain-free treatment — guaranteed." with nothing behind it.
→ Replace with: "Modern techniques focused on comfort — ask us what to expect for your procedure."
→ Remove all remaining "guaranteed" language sitewide.
2. [CRITICAL / technical] The nav CTA is <a class="nav-cta" href="#">Book an appointment</a> on all 3 pages.
→ Point it at /contact and verify the link on every page.
3. [CRITICAL / privacy] Gallery images are published as before-after-jane-mercer-crown.jpg and before-after-r-okafor-veneers.jpg.
→ Rename both to neutral slugs (smile-gallery-01.jpg, smile-gallery-02.jpg), update references on / and /services, and leave a TODO to confirm written patient consent covers web publication.
4. [HIGH / privacy] The /contact form collects phone numbers and symptom descriptions with no privacy policy anywhere.
→ Create /privacy covering what the form collects, storage, and deletion requests; link it from the shared footer and beside the form.
5. [HIGH / seo] /services has no meta description.
→ Add: <meta name="description" content="Cleanings, crowns, and whitening at Marlow Dental's two locations. Gentle care for the whole family — book online or call.">
6. [HIGH / ai_search] No structured data anywhere.
→ Add Dentist JSON-LD to the homepage <head> with name, url, both location addresses, phone numbers, and openingHoursSpecification.
7. [HIGH / ai_search] No city or address appears in crawlable text on any page.
→ Add both location addresses (with phones and hours) to the shared footer and /contact; mention the cities in the homepage and services copy. Leave a TODO for the practice to supply the exact addresses.
8. [HIGH / content] The homepage welcome copy is generated filler ("Welcome to the future of dentistry, where cutting-edge technology meets a seamless experience designed around you.").
→ Replace with: "Marlow Dental has cared for families at our two neighborhood locations for over a decade. Same-week appointments, clear treatment plans, and a team that explains every step before it happens." Adjust facts the practice corrects.
9. [HIGH / content] /services blurbs are one-line templates with nothing about this practice.
→ Expand each service with practice-specific facts (practitioner, location, typical visit length); leave TODOs where facts are needed from the practice.
10. [HIGH / conversion] The appointment form posts to "#" with no handler.
→ Wire it to a real endpoint with success and error states; leave a TODO to send a live test submission in production.
11. [HIGH / conversion] All three homepage CTAs say "Learn More".
→ Hero and closing banner become "Request an appointment" → /contact; the middle one becomes "See our services" → /services.
12. [HIGH / compliance] "Pain-free treatment — guaranteed." and "Instant results with our whitening treatments." are health-outcome claims.
→ Rewrite both conservatively (see issues 1 and the whitening line below) and mark them for human review. Whitening suggestion: "Whitening results you can see, with a plan tailored to your teeth — we'll walk you through realistic expectations at your consultation."
13. [MEDIUM / trust] "Join 5,000+ happy patients" appears with no reviews, ratings source, or credentials anywhere.
→ Remove the number unless the practice can source it; leave a TODO to add a reviews/credentials section with verifiable material.
14. [MEDIUM / seo] The homepage <title> is duplicated verbatim on /services.
→ Retitle /services: "Dental Services — Cleanings, Crowns & Whitening | Marlow Dental".
15. [MEDIUM / seo] No og:image on any page.
→ Add a 1200×630 branded OG image plus og:image:alt to the shared head.
16. [MEDIUM / accessibility] The gallery images and homepage hero have no alt text.
→ Add descriptive alt text (never patient names); alt="" for decorative graphics.
17. [MEDIUM / performance] hero-smile-final-v3.png is 4.8 MB uncompressed.
→ Re-export as WebP at display size (target under 200 KB) with srcset variants.
18. [LOW / trust] No practitioner is named anywhere on the site.
→ Add a team section scaffold with TODOs for names, roles, and credentials from the practice.
19. [LOW / technical] No sitemap.xml.
→ Generate sitemap.xml at build time and reference it from robots.txt.
20. [LOW / accessibility] The /contact form fields have placeholders but no labels.
→ Add a visible <label> for each field, associated via for/id.
21. [LOW / content] "At Marlow Dental, we combine state-of-the-art technology with a caring touch to deliver exceptional results for every smile." appears verbatim on / and /services.
→ Keep one instance rewritten per the banned-phrase list; replace the other with page-specific copy.
When you are done, list every file you changed and the issue numbers each change resolves.agencyproof — fix prompt
You are improving the launch readiness of https://marlow-dental.example — the website of Marlow Dental, a two-location dental practice. The site was rebuilt with an AI page builder and shipped with the generated copy untouched. An AgencyProof audit scored the site 71/100 (fixes required before launch). Work through the issues below in order, without changing the site's visual design, layout, or routes.
Ground rules:
- This is a healthcare site. Never write outcome guarantees ("pain-free", "instant results", "guaranteed"). Where the audit flags compliance-sensitive wording, rewrite conservatively and leave a TODO for human review — do not provide legal advice.
- Never invent statistics, patient names, testimonials, reviews, or credentials. If a claim needs evidence the practice hasn't supplied, soften the claim instead of manufacturing proof.
- Write plainly and specifically. Banned phrases: "cutting-edge", "seamless", "state-of-the-art", "the future of dentistry", "designed around you", "exceptional results".
ISSUES TO FIX (in priority order):
1. [CRITICAL / trust] The hero H1 is "Pain-free treatment — guaranteed." with nothing behind it.
→ Replace with: "Modern techniques focused on comfort — ask us what to expect for your procedure."
→ Remove all remaining "guaranteed" language sitewide.
2. [CRITICAL / technical] The nav CTA is <a class="nav-cta" href="#">Book an appointment</a> on all 3 pages.
→ Point it at /contact and verify the link on every page.
3. [CRITICAL / privacy] Gallery images are published as before-after-jane-mercer-crown.jpg and before-after-r-okafor-veneers.jpg.
→ Rename both to neutral slugs (smile-gallery-01.jpg, smile-gallery-02.jpg), update references on / and /services, and leave a TODO to confirm written patient consent covers web publication.
4. [HIGH / privacy] The /contact form collects phone numbers and symptom descriptions with no privacy policy anywhere.
→ Create /privacy covering what the form collects, storage, and deletion requests; link it from the shared footer and beside the form.
5. [HIGH / seo] /services has no meta description.
→ Add: <meta name="description" content="Cleanings, crowns, and whitening at Marlow Dental's two locations. Gentle care for the whole family — book online or call.">
6. [HIGH / ai_search] No structured data anywhere.
→ Add Dentist JSON-LD to the homepage <head> with name, url, both location addresses, phone numbers, and openingHoursSpecification.
7. [HIGH / ai_search] No city or address appears in crawlable text on any page.
→ Add both location addresses (with phones and hours) to the shared footer and /contact; mention the cities in the homepage and services copy. Leave a TODO for the practice to supply the exact addresses.
8. [HIGH / content] The homepage welcome copy is generated filler ("Welcome to the future of dentistry, where cutting-edge technology meets a seamless experience designed around you.").
→ Replace with: "Marlow Dental has cared for families at our two neighborhood locations for over a decade. Same-week appointments, clear treatment plans, and a team that explains every step before it happens." Adjust facts the practice corrects.
9. [HIGH / content] /services blurbs are one-line templates with nothing about this practice.
→ Expand each service with practice-specific facts (practitioner, location, typical visit length); leave TODOs where facts are needed from the practice.
10. [HIGH / conversion] The appointment form posts to "#" with no handler.
→ Wire it to a real endpoint with success and error states; leave a TODO to send a live test submission in production.
11. [HIGH / conversion] All three homepage CTAs say "Learn More".
→ Hero and closing banner become "Request an appointment" → /contact; the middle one becomes "See our services" → /services.
12. [HIGH / compliance] "Pain-free treatment — guaranteed." and "Instant results with our whitening treatments." are health-outcome claims.
→ Rewrite both conservatively (see issues 1 and the whitening line below) and mark them for human review. Whitening suggestion: "Whitening results you can see, with a plan tailored to your teeth — we'll walk you through realistic expectations at your consultation."
13. [MEDIUM / trust] "Join 5,000+ happy patients" appears with no reviews, ratings source, or credentials anywhere.
→ Remove the number unless the practice can source it; leave a TODO to add a reviews/credentials section with verifiable material.
14. [MEDIUM / seo] The homepage <title> is duplicated verbatim on /services.
→ Retitle /services: "Dental Services — Cleanings, Crowns & Whitening | Marlow Dental".
15. [MEDIUM / seo] No og:image on any page.
→ Add a 1200×630 branded OG image plus og:image:alt to the shared head.
16. [MEDIUM / accessibility] The gallery images and homepage hero have no alt text.
→ Add descriptive alt text (never patient names); alt="" for decorative graphics.
17. [MEDIUM / performance] hero-smile-final-v3.png is 4.8 MB uncompressed.
→ Re-export as WebP at display size (target under 200 KB) with srcset variants.
18. [LOW / trust] No practitioner is named anywhere on the site.
→ Add a team section scaffold with TODOs for names, roles, and credentials from the practice.
19. [LOW / technical] No sitemap.xml.
→ Generate sitemap.xml at build time and reference it from robots.txt.
20. [LOW / accessibility] The /contact form fields have placeholders but no labels.
→ Add a visible <label> for each field, associated via for/id.
21. [LOW / content] "At Marlow Dental, we combine state-of-the-art technology with a caring touch to deliver exceptional results for every smile." appears verbatim on / and /services.
→ Keep one instance rewritten per the banned-phrase list; replace the other with page-specific copy.
When you are done, list every file you changed and the issue numbers each change resolves.§ 14
For your client
A calm version of the findings, written to be forwarded as-is.
We ran the new Marlow Dental website through a full pre-launch inspection covering trust, findability, privacy, accessibility, and technical quality. Overall the build is solid, and most of what we found is quick to fix — but three items must be resolved before the site goes live. First, the booking button doesn't lead anywhere yet, and the appointment form doesn't deliver requests — we'll wire both up and test them end to end. Second, the before/after gallery photos currently include patient names in the image web addresses, which we'll correct immediately and confirm consent covers web use. Third, the headline promises guaranteed pain-free treatment — we'll adjust the wording so every claim on the site is one the practice can stand behind. We've also lined up improvements to how the practice appears in local search and in link previews. None of this changes the launch plan; we'll confirm each item as it's completed and re-run the inspection.
Prepared by Juniper Lane Studio · hello@juniperlane.example
§ 15
Executive recommendation
Launch decision: hold.
3 launch blockers open. They fail in front of real customers on day one. Clear the blockers first; most are hours of work, not weeks. Projected score if the listed findings are resolved: 98/100, from 71/100 today.
The first 3 changes I would make
- 1Before/after photos are published with patient names in the filenames
- 2Homepage headline guarantees a treatment outcome
- 3The "Book an appointment" button goes nowhere
Generated from the scan verdict and priority data — no language model was used for this section.