Follow-up to the May SEO audit that scored eatcookjoy.com/sf at 30/100. Since then the technical and content foundation has been built out in full. This review answers the five process questions a stakeholder asks at review time: (1) initiatives in progress, (2) the metrics we track, (3) tools & platforms, (4) documentation, reports & dashboards, and (5) how progress is communicated.
The May audit found the basics absent — no robots, no sitemap, schema gaps, thin content. Those are now shipped. We have ~165 indexable pages (SF + all 77 neighborhoods, plus East Bay, Peninsula & South Bay cities), the full JSON-LD suite, and AI-engine fact sheets. The work now is operational and measurement, not construction.
| Dimension | May 2026 (audit) | June 2026 (this review) | Phase |
|---|---|---|---|
| Foundation — robots / sitemap / canonical | Missing | Shipped | Done |
| Structured data coverage | Org only | Full suite | Done |
| Content depth — area / service pages | 8 pages | ~165 pages | Done |
| Indexing — GSC / Bing live | Not submitted | In progress | Active |
| Local pack — Google Business Profile | None | Claiming | Active |
| Rankings / traffic / citations | Baseline | Measuring | Tracking |
Live results (rankings, organic traffic, LLM citations) are still early by design — indexing only just began, so those numbers start at baseline and are tracked weekly (§E, §F).
Each item follows the same loop — Audit → Fix → Verify — and is tracked in the repo so status is auditable, not tribal knowledge.
Progress is measured, not estimated. The glide path below is the scorecard the founder reviews; live values are pulled from GSC + GBP each cycle and logged (§E).
| KPI | 30-day | 60-day | 90-day |
|---|---|---|---|
| Pages indexed | 80+ | 130+ | 150+ |
| GSC impressions / mo | 2,500 | 8,000 | 20,000 |
| GSC clicks / mo | 80 | 300 | 900 |
| Top-10 ranking neighborhoods | 5+ | 15+ | 30+ |
| Google Business Profile reviews | 8+ | 25+ | 60+ |
| Organic-attributed bookings / mo | 3+ | 12+ | 40+ |
| Authority backlinks | 3+ | 10+ | 25+ |
| Tool | Role | Access |
|---|---|---|
| Google Search Console | Impressions, clicks, position, CTR, indexing/coverage, Core Web Vitals | Confirm |
| Bing Webmaster Tools | Bing indexing + sitemap submission | Confirm |
| Google Business Profile | Local pack, reviews, calls/direction requests | Claiming |
| Rich Results Test / Schema validator | Validate JSON-LD (FAQ, LocalBusiness, Service…) | Public |
| PageSpeed Insights | Core Web Vitals & performance | Public |
| Brevo | Neighborhood lead-form capture & tagging | Attrs |
| Manual LLM checks | GEO — prompt ChatGPT / Perplexity / Gemini monthly | Manual |
| Git repo (source of truth) | Site, schema, llms*.txt, robots, and all SEO docs — every change a reviewable commit | Live |
Because docs and reports sit in the repo, the full history is a git log — every process change and every weekly report is timestamped and attributable.
| Artifact | Location | Purpose |
|---|---|---|
| SEO Playbook | docs/SEO-PLAYBOOK.md | Operational playbook — what's built, the day-by-day checklist, the edit-here map, follow-up triggers, templates |
| Executive Overview | docs/SEO-OVERVIEW.md | One-page stakeholder summary mapping to these five questions |
| Metrics Log | docs/SEO-METRICS-LOG.md | The running weekly log — a dated block appended every Monday for trend history |
| This review | /seo/audit-2026-06-12/ | June progress & process snapshot (companion to the May audit) |
| Live dashboards | GSC + GBP Insights | Real-time raw numbers behind the weekly log |
| Frequency | What happens | Output |
|---|---|---|
| Daily (Mon–Fri, ~5 min) | Glance at GSC Performance/Coverage + GBP Insights/Reviews; reply to every review within 24h | Health check |
| Weekly (Monday) | Pull last-7-days GSC + GBP numbers, compare to prior week, flag top climbing/falling queries | Block appended to the Metrics Log |
| Monthly | Trend roll-up vs. the 30/60/90 targets + LLM citation check | Stakeholder summary |
| Per change | Each fix is a commit | Reviewable diff |
Channel: committed to the repo and shared with stakeholders. Optional upgrade: a single live Looker Studio dashboard wired to GSC + GBP can replace the written weekly pull if an always-on view is preferred — it needs the analytics access in §G.
These are flagged rather than guessed. The reporting structure is in place; a few fields wait on access and assets.