vault-sync: 2026-09-17 12:01 (jimmy)
This commit is contained in:
+77
@@ -0,0 +1,77 @@
|
||||
# Phoenix Salon + Spa — Digital Presence Audit
|
||||
## EXECUTIVE REPORT
|
||||
**Date:** 2026-09-17 · **Target:** https://phoenixcameronpark.com/ (canonical www→apex 302 verified)
|
||||
**Audit ID:** PSS-2026-09-17 · **Method:** Live crawl + rendered DOM + Google Maps public view + directory discovery (all evidence captured this session)
|
||||
**Prior record:** VeriPath audit 2026-08-13; overview verified 2026-09-11/09-14; hallmark design audit 2026-07-16 (identity reconciled — same business, no conflict)
|
||||
|
||||
---
|
||||
|
||||
## Layer 1 — Executive Dashboard
|
||||
|
||||
**Overall Score: 70 / 100** (Good — competitive, with high-impact accuracy gaps)
|
||||
|
||||
| Severity | Count |
|
||||
|----------|-------|
|
||||
| 🟥 Immediate | 2 |
|
||||
| 🟧 High | 4 |
|
||||
| 🟨 Medium | 3 |
|
||||
| 🟩 Enhancement | 2 |
|
||||
|
||||
| Category | Sub-Score (/10) |
|
||||
|----------|:---:|
|
||||
| Digital Identity | 8 |
|
||||
| Technical SEO | 7 |
|
||||
| Conversion | 7 |
|
||||
| Google Business | 7 |
|
||||
| Reviews | 6 |
|
||||
| Content | 7 |
|
||||
| Authority | 6 |
|
||||
|
||||
**Severity grid**
|
||||
| | Identity | Tech | Conversion | GBP | Reviews | Content | Authority |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 🟥 | | F1 | F1 | | | | F2 |
|
||||
| 🟧 | F3 | F6 | | F5 | F4 | | |
|
||||
| 🟨 | F7 | F8 | F9 | | | | |
|
||||
| 🟩 | | | F10 | F11 | | | |
|
||||
|
||||
---
|
||||
|
||||
## Layer 2 — Business Impact
|
||||
|
||||
**What's at stake.** Phoenix Salon + Spa has the raw material every local business wants: a 4.9★/64 Google rating, 4.9★/65 Yelp, active socials, and a real booking engine (Vagaro). The gaps are not quality problems — they are **accuracy and consistency problems** that bleed revenue quietly:
|
||||
|
||||
1. **Wrong hours, twice.** The website and its structured data both tell Google you open at 10:00 AM and close at 6:00 PM Saturday. The owner's stated truth (verified this month) is 9:00 AM open and 3:00 PM Saturday close. A client who shows up at 4 PM Saturday finds a locked door; a Thursday-morning regular who arrives at 9:30 finds no open sign. Every "wrong hours" query trains Google's local ranking against you, and "permanently closed" impressions from a dead-ghost old-brand domain (F2) erode trust in parallel.
|
||||
|
||||
2. **Your old name is still your second business card.** La Mae Salon & Spa is live on at least two directories (Fave, Alignable) and its old domain is a dead Cloudflare 526 (F2). Anyone who remembers the old name finds a corpse, not a redirect to Phoenix. Local ranking treats this as NAP fragmentation.
|
||||
|
||||
3. **Your social proof is aging.** The newest visible Google review is ~5 months old (Apr 2026). At 64 reviews you have volume; you're losing velocity — the single strongest "pick me" signal for local search in this category.
|
||||
|
||||
**The good news.** Canonical is fixed (was pointing at a dead domain in July), JSON-LD schema is valid and complete, NAP (name/address/phone) matches across site + Google + Yelp, booking is live, and you out-score every local competitor on rating. These are polish-and-consistency fixes, not rebuilds.
|
||||
|
||||
---
|
||||
|
||||
## Layer 3 — Recommendations
|
||||
|
||||
| # | Problem | Impact | Fix | Effort |
|
||||
|---|---------|--------|-----|--------|
|
||||
| F1 | Site + schema hours wrong vs owner truth (10–6 vs 9–6; Sat 18:00 vs 15:00) | 🟥 Immediate — lost walk-ins; confuses Google local ranking | Update visible hours AND JSON-LD to **Mon–Fri 9–6, Sat 9–3, Sun closed** (copy in roadmap) | S |
|
||||
| F2 | Old-brand domain lamaesalonspa.com dead 526; phoenixsalonspa.com now dead | 🟥 Immediate — dead link equity, old-brand trust leak | 301 lamaesalonspa.com → phoenixcameronpark.com at origin, or take down cleanly | S-M (needs hosting access) |
|
||||
| F3 | La Mae residue live: fave.salon + Alignable listings | 🟧 High — NAP/brand fragmentation | Claim + update or delete both listings; standardize "formerly La Mae" wording | M |
|
||||
| F4 | Google review velocity thin (newest ~Apr 2026, ≈5 mo) | 🟧 High — weak social-proof momentum | Restart review-request flow (3–5/mo via Vagaro follow-up) | M |
|
||||
| F5 | GBP hours display "Closes 6 PM" — verify Saturday matches owner truth | 🟧 High — same wrong-hours issue on the most-visible surface | Confirm GBP hours = Mon–Fri 9–6, Sat 9–3, Sun closed; check Thursday capture | S |
|
||||
| F6 | Sitemap lastmod stale (2026-07-19) — no freshness signal | 🟧 High — weak crawl priority for evolving content | Regenerate sitemap on deploy; ensure live lastmod | S |
|
||||
| F7 | Homepage H1 "Hey bestie, welcome in" vs "Luxury Salon & Spa" positioning | 🟨 Medium — brand-voice collision (design audit 07-16; still live) | Align H1 + hero copy with luxury+personal tone | M |
|
||||
| F8 | TikTok (@byashleythornhill) missing from JSON-LD sameAs | 🟨 Medium — incomplete entity graph | Add TikTok to sameAs | S |
|
||||
| F9 | Booking is link-out only; no inline Vagaro widget on homepage | 🟨 Medium — extra click in a 3-click booking competitor landscape | Embed widget or "book with Ashley" card above fold | M |
|
||||
| F10 | Directory hours chaos: wheree.com shows Mon 9AM–7PM + Sunday entries | 🟩 Enhancement — third conflicting hours set | Fix after F1/F5; aggregators lag source fixes | L |
|
||||
| F11 | IG bio claim "800+ 5-star ratings" vs 64 Google / 65 Yelp public | 🟩 Enhancement — overclaim risk if audited | Keep as "reviews across Vagaro, Yelp, Google" or add Vagaro count | S |
|
||||
|
||||
---
|
||||
|
||||
## Layer 4 — Evidence refs
|
||||
|
||||
All findings map to the Technical Appendix (F1–F11). Evidence captured live 2026-09-17: raw headers, HTML/JSON-LD, rendered DOM text, Google Maps public view, and directory search snippets — source per finding in the appendix.
|
||||
|
||||
---
|
||||
*Draft for internal review. Not for client delivery without final QA sign-off.*
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
# 00_FIXPACK — Phoenix Salon + Spa (phoenixcameronpark.com)
|
||||
**Audit ID:** PSS-2026-09-17 · **Applies to:** Lovable/gpt-engineer site editor (paste-ready) · **Status:** code prepared, validated, NOT yet deployed
|
||||
|
||||
> Deployable items only. Human-dashboard steps → `01_RUNBOOK`. Board → `02_KANBAN/`.
|
||||
> **Re-verify before paste:** the site may change between audit and deploy — re-open `/contact` and the homepage JSON-LD before pasting.
|
||||
|
||||
---
|
||||
|
||||
## 1. Validated JSON-LD (replace the homepage block)
|
||||
|
||||
`<script type="application/ld+json">` — find the existing `BeautySalon` block on the homepage and replace its contents with this exact JSON (schedule → Mon–Fri 9–6, Sat 9–3, Sun closed; sameAs now includes TikTok):
|
||||
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BeautySalon",
|
||||
"name": "Phoenix Salon + Spa",
|
||||
"url": "https://phoenixcameronpark.com",
|
||||
"image": "https://storage.googleapis.com/gpt-engineer-file-uploads/attachments/og-images/64dce20c-a245-4014-9464-040886fac002",
|
||||
"telephone": "+1-530-350-9197",
|
||||
"email": "ashley@phoenixcameronpark.com",
|
||||
"priceRange": "$$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"streetAddress": "3460 Robin Lane, Suite 4",
|
||||
"addressLocality": "Cameron Park",
|
||||
"addressRegion": "CA",
|
||||
"postalCode": "95682",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"openingHoursSpecification": [
|
||||
{
|
||||
"@type": "OpeningHoursSpecification",
|
||||
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
|
||||
"opens": "09:00",
|
||||
"closes": "18:00"
|
||||
},
|
||||
{
|
||||
"@type": "OpeningHoursSpecification",
|
||||
"dayOfWeek": ["Saturday"],
|
||||
"opens": "09:00",
|
||||
"closes": "15:00"
|
||||
}
|
||||
],
|
||||
"sameAs": [
|
||||
"https://www.instagram.com/phoenix.cameronpark/",
|
||||
"https://www.facebook.com/PhoenixCameronPark",
|
||||
"https://www.tiktok.com/@byashleythornhill"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
✅ Validated this session with `json.loads` (round-trip clean).
|
||||
|
||||
---
|
||||
|
||||
## 2. Contact page visible hours (replace text)
|
||||
|
||||
Find the hours line on `/contact` and set it to exactly:
|
||||
|
||||
```
|
||||
Monday–Friday: 9:00 AM – 6:00 PM
|
||||
Saturday: 9:00 AM – 3:00 PM
|
||||
Sunday: Closed
|
||||
```
|
||||
|
||||
(Must match JSON-LD — for the "Open now" state and for Google to trust the page.)
|
||||
|
||||
---
|
||||
|
||||
## 3. Homepage H1 (optional copy change, F7)
|
||||
|
||||
Current rendered H1: `Hey bestie, welcome in`
|
||||
|
||||
Suggested replacement (keeps warm personal voice, aligns with "Luxury Salon & Spa" title + $$$ positioning):
|
||||
|
||||
```
|
||||
Elevated beauty, personalized to you.
|
||||
```
|
||||
Subline option: `Custom facials, spray tans, waxing, and hair — Cameron Park's 4.9★ local favorite.`
|
||||
|
||||
---
|
||||
|
||||
## 4. Sitemap (F6)
|
||||
|
||||
- Sitemap exists at `/sitemap.xml` with 11+ URLs — **do not remove**.
|
||||
- `lastmod` is hardcoded `2026-07-19` in the build → wire lastmod to the actual deploy timestamp if the platform supports it; otherwise regenerate sitemap on each deploy.
|
||||
- Add `/services`, `/new-clients`, `/faq`, `/gift-cards`, `/journal` to sitemap if not already present (verify after deploy).
|
||||
|
||||
---
|
||||
|
||||
## 5. Booking UX (F9, optional)
|
||||
|
||||
If the platform allows an iframe embed, add the Vagaro widget inline above the fold on homepage:
|
||||
`https://www.vagaro.com/Users/BusinessWidget.aspx?enc=<existing-encoded-token>`
|
||||
(Keep the existing "Book with Ashley" direct links regardless — they work.)
|
||||
|
||||
---
|
||||
|
||||
## Deploy checklist (after saving in Lovable)
|
||||
|
||||
- [ ] Re-open https://phoenixcameronpark.com/ → verify JSON-LD block replaced (view-source)
|
||||
- [ ] Re-open /contact → visible hours read Mon–Fri 9–6, Sat 9–3, Sun Closed
|
||||
- [ ] Google Maps → pin reflects Sat close 3 PM (GBP may lag; see runbook item 1)
|
||||
- [ ] Run this: `curl -sL https://phoenixcameronpark.com/ | grep -c 'ld+json'` → ≥ 1
|
||||
|
||||
---
|
||||
*Fix pack author: Leonard (2026-09-17). Item #s map to audit findings F1, F6, F7, F8, F9.*
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
# 01_RUNBOOK — Phoenix Salon + Spa owner-side fixes
|
||||
**Audit ID:** PSS-2026-09-17 · **Who:** Ashley / Phoenix owner (business dashboards) · **Status:** steps only, nothing executed
|
||||
|
||||
> Human-dashboard items that need owner logins. Deployable code → `00_FIXPACK`.
|
||||
|
||||
---
|
||||
|
||||
## 1. Google Business Profile — hours (F5) ⬅ start here
|
||||
**Where:** business.google.com → Phoenix Salon + Spa → *Info* → *Hours*
|
||||
1. Set **Monday–Friday: 9:00 AM – 6:00 PM**
|
||||
2. Set **Saturday: 9:00 AM – 3:00 PM**
|
||||
3. Set **Sunday: Closed**
|
||||
4. Save → wait ~1–2 days, then verify the "Closes 6 PM" label changes and Sat shows 3 PM close.
|
||||
**Why:** currently labels "Closes 6 PM" and the 09-11 sweep flagged Sat 9–6 as wrong vs owner truth 9–3.
|
||||
|
||||
## 2. Reviews — restart the request flow (F4)
|
||||
**Vagaro dashboard:** enable/review the automated post-appointment review request (text or email) so each client gets asked once per visit.
|
||||
- Target: **3–5 new Google/Vagaro reviews per month** (velocity, not volume — 64 total is fine).
|
||||
- Respond to any new Google review within 48h (reply templates already exist in client-data-pss `poc-delivery/review-response-templates.md`).
|
||||
|
||||
## 3. Old-name directory cleanup (F3)
|
||||
Two live old-name listings still call the business **LaMae Salon & Spa**:
|
||||
1. **Fave Salon** — `fave.salon/salon/lamae-salon-spa-cameron-park-ca-95682-16971` → claim/request rename to Phoenix Salon + Spa (they often need an ownership claim or support ticket).
|
||||
2. **Alignable** — `alignable.com/cameron-park-ca/lamae-salon-spa` → log in or claim → update business name + add "formerly La Mae Salon & Spa".
|
||||
Keep the **Yelp and Facebook** "formerly known as La Mae" wording as-is (that's good — it bridges old clients).
|
||||
|
||||
## 4. Old domain (F2) — needs hosting/DNS access (defer to whoever owns hosting)
|
||||
- `lamaesalonspa.com` → currently 301s to `www.lamaesalonspa.com` → **HTTP 526 dead**.
|
||||
- Options: (a) repoint `lamaesalonspa.com` to 301 → `phoenixcameronpark.com` at the host, or (b) take it down with a clean 410.
|
||||
- `phoenixsalonspa.com` is already dead — leave it or add a redirect if hosting still exists.
|
||||
- **Do not keep the 526 chain** — it's a dead link crawlers keep hitting.
|
||||
|
||||
## 5. Social proof wording (F11, optional)
|
||||
Instagram bio currently says "800+ 5-star client ratings". Google shows 64, Yelp 65, Vagaro additional. If audited, that can look like an overclaim. Safer, still strong:
|
||||
> "1,000+ 5-star experiences across Google, Yelp & Vagaro"
|
||||
(or add the real Vagaro count once visible).
|
||||
|
||||
## 6. Directory hours watch (F10)
|
||||
After items 1–2 land, re-check `wheree.com` Phoenix page (currently shows Mon 9AM–7PM + Sunday entries — third conflicting hours set). Aggregators refresh slowly; if still wrong after ~2 weeks, submit a correction. Most downstream directories correct themselves once GBP + website + sitemap are right.
|
||||
|
||||
---
|
||||
|
||||
## Completion checklist
|
||||
- [ ] GBP hours = Mon–Fri 9–6, Sat 9–3, Sun closed (verified in dashboard)
|
||||
- [ ] Review request flow active in Vagaro (3–5/mo target)
|
||||
- [ ] Fave + Alignable renamed or removal requested
|
||||
- [ ] Old domain 301/410 decision made with host
|
||||
- [ ] IG bio wording updated (optional)
|
||||
- [ ] wheree.com re-checked after 2 weeks
|
||||
|
||||
---
|
||||
*Runbook author: Leonard (2026-09-17). Maps 1:1 to audit findings F2, F3, F4, F5, F10, F11.*
|
||||
+163
@@ -0,0 +1,163 @@
|
||||
# Phoenix Salon + Spa — TECHNICAL APPENDIX
|
||||
**Audit ID:** PSS-2026-09-17 · **Data captured:** 2026-09-17 ~09:20–09:35 AM PDT
|
||||
|
||||
Every finding below carries captured evidence. Environment: this audit was run on Tony's Windows PC via curl + rendered browser DOM + Google Maps public view. Source labels: `[curl]`, `[browser]`, `[search]`, `[prior-record]`.
|
||||
|
||||
---
|
||||
|
||||
## Identity / Ground Truth (reconciled)
|
||||
|
||||
| Field | Verified value | Source |
|
||||
|---|---|---|
|
||||
| Business | Phoenix Salon + Spa | site, GBP, Yelp |
|
||||
| Address | 3460 Robin Lane, Suite 4, Cameron Park, CA 95682 | site, GBP, Yelp |
|
||||
| Phone | (530) 350-9197 | site, GBP (redacted snapshot: +153****9197 → matches) |
|
||||
| Email | ashley@phoenixcameronpark.com | site (contact + JSON-LD) |
|
||||
| Website | https://phoenixcameronpark.com/ | GBP, Yelp |
|
||||
| Booking | Vagaro (widget link: `www.vagaro.com/Users/BusinessWidget.aspx?enc=...`) | site render |
|
||||
| Owner truth hours | Mon–Fri 9am–6pm, Sat 9am–3pm, Sun closed | prior-record (verified 2026-09-14) |
|
||||
| Prior name | La Mae / LaMae Salon & Spa (rebrand) | Yelp, FB descriptions, prior audit |
|
||||
|
||||
**Reconciliation:** prior audits (VeriPath 08-13, hallmark 07-16, overview 09-11) all describe the same business at the same address. No entity conflict. The overview's owner-truth hours are the reference standard for F1/F5.
|
||||
|
||||
---
|
||||
|
||||
## Live Capture Log
|
||||
|
||||
### Site infrastructure
|
||||
| Check | Result | Evidence |
|
||||
|---|---|---|
|
||||
| www → apex | 302 → https://phoenixcameronpark.com/ | `[curl]` headers |
|
||||
| Apex homepage | 200 OK, 3,228 bytes static shell (SPA) | `[curl]` |
|
||||
| HSTS | yes, 1yr | `[curl]` header |
|
||||
| Server | Cloudflare | `[curl]` header |
|
||||
| robots.txt | allow all; sitemap declared | `[curl]` |
|
||||
| sitemap.xml | exists, 11+ URLs, **lastmod 2026-07-19** | `[curl]` |
|
||||
| Contact page | 200, "Monday–Saturday: 10:00 AM – 6:00 PM / Sunday: Closed" | `[browser]` |
|
||||
|
||||
### On-page signals (homepage)
|
||||
| Signal | Value | Evidence |
|
||||
|---|---|---|
|
||||
| `<title>` | "Luxury Salon & Spa in Cameron Park, CA \| Phoenix Salon + Spa" | `[curl]` |
|
||||
| meta description | "Phoenix Salon + Spa offers customized facials, spray tans, waxing, lash extensions, and expert hair services in Cameron Park, California." | `[curl]` |
|
||||
| canonical | https://phoenixcameronpark.com/ ✅ (was pointing at dead phoenixsalonspa.com in the 07-16 hallmark audit — **FIXED**) | `[curl]` |
|
||||
| JSON-LD blocks | 1 (BeautySalon) | `[curl]` |
|
||||
| H1 (rendered) | "Hey bestie, welcome in" | `[browser]` |
|
||||
| NAP on page | (530) 350-9197 · 3460 Robin Lane, Suite 4 · ashley@phoenixcameronpark.com | `[curl]` + `[browser]` |
|
||||
| Social links | FB, IG, TikTok (@byashleythornhill) | `[browser]` |
|
||||
| Booking CTAs | "Book Your Appointment" (multiple), "Book with Ashley" → Vagaro widget URL, "Book Appointment" → /services | `[browser]` |
|
||||
| Vagaro iframe | none embedded on homepage (link-out only) | `[browser]` |
|
||||
| Contact email surface | ashley@phoenixcameronpark.com (no multi-inbox NAP-split signal) | `[browser]` |
|
||||
|
||||
### JSON-LD (full dump, homepage)
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BeautySalon",
|
||||
"name": "Phoenix Salon + Spa",
|
||||
"url": "https://phoenixcameronpark.com",
|
||||
"image": "https://storage.googleapis.com/gpt-engineer-file-uploads/attachments/og-images/...",
|
||||
"telephone": "+1-530-350-9197",
|
||||
"email": "ashley@phoenixcameronpark.com",
|
||||
"priceRange": "$$$",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"streetAddress": "3460 Robin Lane, Suite 4",
|
||||
"addressLocality": "Cameron Park",
|
||||
"addressRegion": "CA",
|
||||
"postalCode": "95682",
|
||||
"addressCountry": "US"
|
||||
},
|
||||
"openingHoursSpecification": [{
|
||||
"@type": "OpeningHoursSpecification",
|
||||
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
|
||||
"opens": "10:00",
|
||||
"closes": "18:00"
|
||||
}],
|
||||
"sameAs": ["https://www.instagram.com/phoenix.cameronpark/", "https://www.facebook.com/PhoenixCameronPark"]
|
||||
}
|
||||
```
|
||||
**Analysis:** schema is valid and NAP-complete. Two gaps:
|
||||
- **Hours are WRONG vs owner truth** (opens 10:00 vs 9:00; Saturday closes 18:00 vs 15:00) → **F1**
|
||||
- sameAs misses TikTok → **F8**
|
||||
- Sunday absent = implicitly closed — consistent with owner truth (OK)
|
||||
- Builder fingerprint: gpt-engineer-file-uploads asset host (Lovable-style) — confirms the 07-16 design-audit stack signal; not a client-facing defect per se.
|
||||
|
||||
### Google Business Profile (public view, Google Maps, 2026-09-17)
|
||||
| Field | Value | Evidence |
|
||||
|---|---|---|
|
||||
| Rating | 4.9★ | `[browser]` Maps |
|
||||
| Review count | 64 | `[browser]` Maps |
|
||||
| Category | Beauty salon | `[browser]` Maps |
|
||||
| Address | 3460 Robin Ln Ste 4, Cameron Park, CA 95682 | `[browser]` Maps |
|
||||
| Open status | "Open · Closes 6 PM" (Thu capture) | `[browser]` Maps |
|
||||
| Website | phoenixcameronpark.com | `[browser]` Maps |
|
||||
| Services/Booking | vagaro.com + "Book online" button present ✅ | `[browser]` Maps |
|
||||
| Phone | (530) 350-9197 | `[browser]` Maps |
|
||||
| Attributes | Identifies as women-owned; M24M+4C grid | `[browser]` Maps |
|
||||
| Photos | present (24 in 08-05 snapshot; untracked this run) | prior-record |
|
||||
| Review recency | newest visible from ~2026-02-14 / 2026-04-21 per 09-11 sweep → **≈5 months stale** | `[prior-record]` |
|
||||
|
||||
→ **F4** (velocity) · **F5** (GBP hours: "Closes 6 PM" Thursday matches 6pm so not disproven by this capture, but Saturday must be verified; an "Open · Closes 6 PM" label is at minimum ambiguous against owner truth Sat 15:00)
|
||||
|
||||
### Old-brand / dead-domain scan
|
||||
| Domain | Result | Evidence |
|
||||
|---|---|---|
|
||||
| lamaesalonspa.com | 301 → https://www.lamaesalonspa.com/ → **HTTP 526 (Cloudflare: can't reach origin)** | `[curl]` |
|
||||
| www.lamaesalonspa.com | 526 | `[curl]` |
|
||||
| phoenixsalonspa.com | no HTTP response (dead; was a 114-byte lander in earlier audits) | `[curl]` |
|
||||
| phoenixcameronpark.com (canonical) | 200 ✅ | `[curl]` |
|
||||
|
||||
→ **F2**: the old-brand domain is a dead 301 chain, still consuming the "La Mae" brand query.
|
||||
|
||||
### Directory / review-surface state (search discovery, 2026-09-17)
|
||||
| Surface | State | Evidence |
|
||||
|---|---|---|
|
||||
| Yelp | 4.9★ / 65 reviews; "Established in 2012 and formerly known as La Mae Salon & Spa" | `[search]` |
|
||||
| Facebook | 4.7★ / 47 reviews; 842 followers; "Formally La Mae Salon & Spa" | `[search]` |
|
||||
| Vagaro | reviews page exists (JS-gated on direct curl; reachable via www.vagaro.com/phoenixcameronpark) | `[search]` + partial 403 `[curl]` |
|
||||
| MapQuest | listing present, 3460 Robin Ln Ste 4 | `[search]` |
|
||||
| Fave Salon | **LaMae Salon & Spa in Cameron Park CA 95682 — LIVE old-name listing** | `[search]` → **F3** |
|
||||
| Alignable | **LaMae Salon & Spa – Cameron Park, CA — LIVE old-name listing** | `[search]` → **F3** |
|
||||
| wheree.com (Phoenix page) | hours show "Monday 09:00 AM – 07:00 PM" + Sunday entries — **third, conflicting hours set** | `[search]` → **F10** |
|
||||
| wheree.com (Billionaires Barber Lounge) | same plaza (Ste 10) — adjacent, not a conflict | `[search]` |
|
||||
|
||||
### Competitor benchmark (Yelp + FB, 2026-09-17)
|
||||
| Business | Yelp | FB | Booking | Notes |
|
||||
|---|---|---|---|---|
|
||||
| **Phoenix Salon + Spa** | 4.9 (65) | 4.7 (47) | Vagaro ✅ | #2 in "Top 10 women's haircuts Cameron Park" |
|
||||
| Vixen Hair Salon | 4.9 (37) | – | – | #1 in that Yelp list; lighter review volume |
|
||||
| Theory Hair Studio | 4.4 (34) | 4.8 (26) | Square site ✅ | New independent studio; FB rating higher than Yelp |
|
||||
| Halo Hair Studio | 4.7 (15) | – | – | smaller footprint |
|
||||
|
||||
**Benchmark read:** Phoenix leads on review volume and rating; Theory has comparable booking UX via Square. No competitor has a demonstrated inline-widget/booking edge — F9 is a differentiator opportunity, not a survival gap.
|
||||
|
||||
---
|
||||
|
||||
## Finding Register
|
||||
|
||||
| # | Severity | Category | Finding | Evidence refs |
|
||||
|---|---|---|---|---|
|
||||
| F1 | 🟥 | Conversion / Tech | Site + JSON-LD hours wrong vs owner truth (10–6 vs 9–6; Sat closes 18:00 vs 15:00) | contact render; JSON-LD dump; overview owner truth |
|
||||
| F2 | 🟥 | Authority | Old-brand domain dead 301 chain (526); phoenixsalonspa.com dead | curl lamaesalonspa + phoenixsalonspa |
|
||||
| F3 | 🟧 | Identity | La Mae residue live on fave.salon + Alignable | search snippets |
|
||||
| F4 | 🟧 | Reviews | Google review velocity thin — newest ≈5 months | Maps capture; 09-11 sweep |
|
||||
| F5 | 🟧 | GBP | GBP hours display ambiguous ("Closes 6 PM"); Saturday must match owner truth | Maps capture |
|
||||
| F6 | 🟧 | Tech | Sitemap lastmod stale (2026-07-19) | curl sitemap |
|
||||
| F7 | 🟨 | Content | H1 voice collision ("bestie" vs luxury) | browser H1; hallmark audit |
|
||||
| F8 | 🟨 | Tech | TikTok missing from JSON-LD sameAs | JSON-LD dump |
|
||||
| F9 | 🟨 | Conversion | Booking link-out only; no inline Vagaro widget on homepage | browser iframes/links |
|
||||
| F10 | 🟩 | Identity | Directory hours chaos (wheree.com 9AM–7PM + Sunday) | search snippet |
|
||||
| F11 | 🟩 | Reviews | IG claim "800+ 5-star ratings" vs 64/65 public review counts — overclaim risk | IG search snippet |
|
||||
|
||||
## Sub-score derivation
|
||||
- **Digital Identity 8/10:** strong consistent identity; −2 for La Mae residue (F3) + dead old domain (F2)
|
||||
- **Technical SEO 7/10:** clean canonical/schema/robots/sitemap; −1 stale lastmod (F6), −1 missing sameAs (F8), −1 JS-shell weight (inherent)
|
||||
- **Conversion 7/10:** booking live but link-out (F9); wrong hours actively lose walk-ins (F1)
|
||||
- **Google Business 7/10:** complete, claimed, 4.9★/64, booking button; −1 hours ambiguity (F5), −1 photo momentum unknown, −1 velocity
|
||||
- **Reviews 6/10:** excellent rating + volume; thin velocity (F4), overclaim risk (F11)
|
||||
- **Content 7/10:** strong pages (reviews, resources, FAQ, journal); voice collision (F7)
|
||||
- **Authority 6/10:** solid socials + Schema sameAs; diluted by dead domain + residue (F2/F3)
|
||||
|
||||
---
|
||||
*All evidence captured 2026-09-17. Sources labeled per finding. Prior-record facts marked explicitly — never re-derived.*
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
# Phoenix Salon + Spa — IMPLEMENTATION ROADMAP
|
||||
**Audit ID:** PSS-2026-09-17 · Owner-side + deployable work, sequenced by impact
|
||||
|
||||
> Effort: S (small, <1 hr) · M (medium, half day) · L (large, multi-day)
|
||||
> Impact: High / Med / Low
|
||||
|
||||
## Week 1 — Accuracy (do first, everything depends on this)
|
||||
|
||||
| Item | Detail | Effort × Impact | Finding |
|
||||
|---|---|---|---|
|
||||
| Fix visible hours | Contact page → **Mon–Fri 9:00 AM–6:00 PM, Sat 9:00 AM–3:00 PM, Sun Closed** | S × High | F1 |
|
||||
| Fix JSON-LD hours | Same values; ensure `dayOfWeek` lists Mon–Sat with `"opens":"09:00"`, `"closes":"18:00"` Fri and `"closes":"15:00"` Sat | S × High | F1 |
|
||||
| Verify GBP hours | In Google Business Profile: set Mon–Fri 9–6, Sat 9–3, Sun closed; confirm the "Closes 6 PM" label comes from that | S × High | F5 |
|
||||
| Add TikTok to sameAs | JSON-LD `sameAs` += `https://www.tiktok.com/@byashleythornhill` | S × Med | F8 |
|
||||
| Review velocity kickoff | Set up Vagaro post-visit review request (text/email) targeted 3–5 asks/month | M × High | F4 |
|
||||
|
||||
**Verify after deploy:** re-crawl `/contact` + homepage JSON-LD; check Google Business Profile hours; confirm "Open now" states.
|
||||
|
||||
## Month 1 — Consolidation
|
||||
|
||||
| Item | Detail | Effort × Impact | Finding |
|
||||
|---|---|---|---|
|
||||
| Kill or 301 the old domain | lamaesalonspa.com → 301 to phoenixcameronpark.com (hosting/DNS access), or take it down with a clean final 410 | M × High | F2 |
|
||||
| La Mae residue cleanup | Claim + update (or request deletion of) fave.salon + Alignable listings to Phoenix name; use consistent "formerly La Mae" note | M × High | F3 |
|
||||
| Regenerate sitemap | Ensure sitemap lastmod updates on deploy (hook into build); confirm all 11+ URLs | S × Med | F6 |
|
||||
| Booking UX upgrade | Add inline Vagaro widget (or "Book with Ashley" card) above the fold on homepage | M × Med | F9 |
|
||||
| Homepage H1 messaging | Replace "Hey bestie, welcome in" with on-position, luxury-meets-personal line (e.g. "Elevated beauty, personalized to you — Cameron Park" + subline) | M × Med | F7 |
|
||||
|
||||
## 90-Day — Authority and momentum
|
||||
|
||||
| Item | Detail | Effort × Impact | Finding |
|
||||
|---|---|---|---|
|
||||
| Directory cross-check | After hours/NAP fix lands, re-check wheree.com + other aggregators; expect lag of weeks; request correction if still wrong | L × Med | F10 |
|
||||
| Social proof framing | Update IG bio claim to "1,000+ 5-star experiences across Google, Vagaro & Yelp" (or add Vagaro count) to avoid overclaim | S × Low | F11 |
|
||||
| Standing monthly re-check | Re-run the NAP + hours + review-velocity check monthly (VeriPath standing check) | S × High | all |
|
||||
|
||||
---
|
||||
|
||||
## Priority Quick View
|
||||
|
||||
**High-touch now (Week 1):** F1 hours · F5 GBP hours · F8 sameAs
|
||||
**Needs owner/host access:** F2 old domain · F3 directory claims · F9 widget (deployable with Lovable)
|
||||
**Momentum:** F4 review flow (start immediately — 5-month gap)
|
||||
|
||||
---
|
||||
*Draft for internal review. Roadmap items map 1:1 to Finding #s in the Technical Appendix.*
|
||||
@@ -0,0 +1,26 @@
|
||||
# KANBAN — PSS-2026-09-17 (Phoenix Salon + Spa)
|
||||
|
||||
> Columns: **in-progress** (deployable, can be applied now) · **review** (blocked on owner/dashboard) · **backlog** (lower priority) · **done** (verified)
|
||||
|
||||
## in-progress
|
||||
- [ ] F1 — JSON-LD + visible hours → owner truth (code in `00_FIXPACK`) — *ready to paste, needs deploy + re-crawl*
|
||||
|
||||
## review (needs owner / host access)
|
||||
- [ ] F5 — GBP hours = Mon–Fri 9–6, Sat 9–3, Sun closed (runbook #1)
|
||||
- [ ] F4 — Voting/review request flow in Vagaro, 3–5/mo (runbook #2)
|
||||
- [ ] F3 — Fave + Alignable old-name cleanup (runbook #3)
|
||||
- [ ] F2 — lamaesalonspa.com 301/410 decision (runbook #4)
|
||||
|
||||
## backlog
|
||||
- [ ] F6 — sitemap lastmod regeneration on deploy
|
||||
- [ ] F7 — homepage H1 copy swap (fixpack #3)
|
||||
- [ ] F8 — TikTok in sameAs (already in the validated JSON-LD — verify on deploy)
|
||||
- [ ] F9 — inline Vagaro widget on homepage
|
||||
- [ ] F10 — wheree.com directory hours correction (after GBP fix)
|
||||
- [ ] F11 — IG bio wording (runbook #5)
|
||||
|
||||
## done
|
||||
- (none yet — first deploy will move F1 here with re-crawl evidence)
|
||||
|
||||
---
|
||||
**Rules:** `done` requires literal verification (curl/browser re-check, not owner verbal). Stale items (site evolved) → `done-stale` with date, never silently dropped.
|
||||
Reference in New Issue
Block a user