Revenue (7D)
—
—
Completed Bookings (7D)
—
—
Impressions (7D)
—
—
Organic Clicks (7D)
—
—
Average Position (7D)
—
—
LLM Visibility
—
/100
—
Ghost Keywords
—
Hallucinations
—
Posts Published
Last scan: —
View details →
Performance Trends
Cumulative revenue — This Period vs Prior Period
This Period
Prior Period
click legend to isolate
📊 Performance Summary — All Periods
| Metric | 7D | 28D | 90D | 6M | 12M | YTD |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Technical Vitals
Loading…
Desktop
—
Mobile
—
SEO Health
Loading…
Desktop
—
Mobile
—
Lead Competitor Threat
No competitors loaded
Competitor Intel
Auto-generated recon · runs every Monday
HOW GOOGLE & LLMs SEE YOU
Forbidden Well — forbiddenwell.com
Self-brief generates automatically when Reaper runs — shows how AI models perceive Forbidden Well based on its digital footprint and keyword signals.
PENDING
No competitors discovered yet
Add competitors to the ☠️ Competitors sheet tab or let Reaper auto-discover them. Intel Briefs generate automatically every Monday.
Site Health
Technical vitals, SEO health, speed — refreshes every Monday
⚡ Page Speed
🤖 AI Visibility
🔧 SEO Audit Issues
🎯 GSC Opportunities
— HIGH
— MED
— Quick Wins
| Keyword | Position | Impressions | Est. Click Uplift | Effort | Primary Action |
|---|---|---|---|---|---|
| Loading opportunity data — runs Monday 9:30 AM… | |||||
📈 Keyword Rankings (Top 50)
| Keyword | Position |
|
Change | URL |
|---|---|---|---|---|
| Loading keyword data… | ||||
Speed & Core Web Vitals
Select a pillar page — Real World (CrUX) vs Lab Score (PSI)
Lab score tells you what to fix. Real World Speed is what Google actually ranks you on.
🌍 Real World Speed
CrUX · Real Chrome users · 28-day rolling average
—
Loading CrUX data…
LCP—
—
—% Good—% NI—% Poor
INP—
—
—% Good—% NI—% Poor
CLS—
—
—% Good—% NI—% Poor
🔬 Lab Score
PageSpeed Insights · Lighthouse · Simulated throttled device
Performance Score
Local Map Pack Heat Map
Google Maps 3-pack position across NYC · 11×11 grid · 0.5mi spacing · refreshes every Monday
📍 Local Pack Position — NYC Grid
—SoLV
—ARP
—ATRP
#1
#2–3
#4–6
#7–10
#11–15
#16–20
20+
Not Found
SoLV = % top-3 · ARP = avg rank (ranked only) · ATRP = avg rank (all, not-found = 21)
🔮 Ritual Mode
Self-optimization — runs every Monday 8 AM UTC · 0 selected
Coming Soon
Last Output
Most recent Ritual Mode results
Run Ritual Mode to generate output — results appear here
☠️ Reaper Mode
11-tier competitor intelligence · runs every Monday 8 AM UTC
0 competitors loaded
Add competitors to the ☠️ Competitors tab in Google Sheets. Each row needs: name, domain, location.
No competitors loaded
Add competitor names and domains to the
☠️ Competitors sheet tab to activate Reaper Mode.
Format: name | domain | location
😈 Demon Time
22-attack competitive warfare · runs every Monday 9 AM UTC · 0 selected
DO THIS WEEK
Top 5 attacks by priority score — from 😈 Demon — DO THIS WEEK tab
No competitor data yet — add competitors to the sheet and run Reaper first
Threat Board
Live competitor threat scores + CTS delta — refreshes every Monday
No data yet — populates after first Reaper run.
Intel Briefs
Auto-generated recon · runs every Monday
Loading intel briefs…
Loading pricing data…
Loading LLM visibility data…
Signal Watch
Mention rate % per keyword × engine — full LLM footprint at a glance
What is this view?
Every row is a keyword patients search. Every column is an AI engine. The cell shows how often that engine mentioned Forbidden Well across all query variants tested this week.
How to read the colors
Red = 0% — never mentioned. Orange = under 25% — rarely. Yellow = under 60% — inconsistent. Green = 60%+ — reliably recommended. You want every cell green.
What to do with this
Red cells are content gaps. The blog engine auto-targets them every Monday. Focus on the top-revenue keywords first — IV therapy, EBOO, GLP-1. Those rows going green = more patients finding you via AI.
Engine Avg Mention Rate — Which to prioritize
Visibility Score
0–100 composite score weighted by engine share of AI search traffic
This Week
—
/100
—
—
ChatGPT —
Gemini —
Perplexity —
Claude —
Grok —
12-Week Score Trend
One line per engine — your north star
Ghost Keywords
Keywords where AI engines never mention Forbidden Well — ranked by impact
What is a ghost keyword?
A ghost keyword is a search term patients use where AI engines consistently respond without mentioning Forbidden Well — even once. You are invisible for that topic. Someone asking AI about it books your competitor.
Why it matters
AI search is replacing Google for "where should I go" queries. If ChatGPT doesn't know you offer EBOO therapy in NYC, it recommends whoever does have content. Ghost keywords are direct revenue leaks.
How we fix them
The blog engine writes and publishes a dedicated E-E-A-T post for each ghost keyword automatically. Once indexed, AI engines begin citing that content in responses. This list shrinks every Monday.
Competitor Dominance
Who's winning your invisible keywords
Loading…
Citation Feed
Every AI mention of Forbidden Well — quotes, engines, and context
What counts as a citation?
A citation is any AI response that mentions Forbidden Well by name with an accompanying quote. It means the AI engine included your business in its recommendation — the patient saw your name.
Why citations compound
AI engines learn citation patterns from web content. The more your pages get crawled and cited in responses, the higher your baseline mention rate becomes. Early citations increase the probability of future ones.
What to look for
Check sentiment (positive vs neutral), position (are you mentioned first?), and which engines are citing you. A citation from Perplexity is especially valuable — it pulls directly from live web content and drives high-intent traffic.
Top Keywords Getting Citations
Loading…
Hallucination Log
AI mentions with missing location signals or incorrect details
What is a hallucination?
A hallucination occurs when an AI mentions Forbidden Well but gets the details wrong — missing your address, wrong neighborhood, incorrect services, or fabricated information. The AI "knows" you exist but doesn't have accurate data.
Why this is dangerous
A patient told by AI that you're in "Midtown" or that you offer services you don't will show up confused or not at all. Hallucinations erode trust. They're worse than not being mentioned because they create a false expectation.
How we detect them
Every AI response that mentions Forbidden Well is scanned for location signals (52 E 11th, Union Square, 10003). If your name appears but none of those signals do, the response is flagged here for review. Currently 0 active hallucinations is the goal.
Published Posts
Every E-E-A-T post auto-published by the blog engine
Performance
Posts published by the engine and their GSC traffic
Posts Published Over Time
Content by Intent
Top Posts by Keyword Volume
Search volume of the keyword each post targets
Gap Queue
Invisible keywords flagged by the LLM monitor — content pipeline in motion
Pipeline Status
Loading…
E-E-A-T Audit
Quality signal checklist across every auto-published post — flag anything below 3/5
Scanning…
AI Brand Hijack
When someone searches your brand name in an AI engine and a competitor appears instead of you. Happens when AI has no authoritative content about you to cite.
Paid Brand Bidding
Competitors buying "Forbidden Well" as a Google Ads keyword. When your patients search you by name, competitor ads appear above your listing. Measurable and actionable.
Competitor Mentions
Competitor websites that name "Forbidden Well" in their content — comparison pages, "alternatives to" posts, or review-bait designed to intercept your branded searches.
SERP Displacement
Third-party sites ranking on page 1 when someone Googles "Forbidden Well" — review sites, competitor profiles, or negative content that intercepts your brand traffic.
Brand Authority Score
—
/100
Loading…
—
Updates every Monday
with the pipeline
with the pipeline
Signal Breakdown
Loading…
How Brand Authority Score is calculated
LLM Visibility 25%
How often AI engines recommend Forbidden Well. Weighted by engine traffic share.
How often AI engines recommend Forbidden Well. Weighted by engine traffic share.
Branded Search 20%
People searching "Forbidden Well" directly — the purest signal of real awareness.
People searching "Forbidden Well" directly — the purest signal of real awareness.
Reviews 15%
Star rating quality × review volume. For a medspa, trust is the purchase trigger.
Star rating quality × review volume. For a medspa, trust is the purchase trigger.
Backlinks 15%
Referring domains from authoritative sites — earned press, directories, mentions.
Referring domains from authoritative sites — earned press, directories, mentions.
12-Week BAS Trend
Brand authority over time — your north star metric
What is branded search?
Queries that include "Forbidden Well" by name. Someone branded searching means they heard about you from somewhere — a friend, social post, or AI mention — and came looking. It's the purest measure of real-world brand awareness.
Why it matters
Branded clicks convert at 3–5× the rate of non-branded clicks. Growth in branded search volume means your other marketing (AI mentions, GBP, press, social) is working. Flat or declining branded search means low brand recall.
How to grow it
Every AI mention, GBP post, press feature, and social tag that names "Forbidden Well" directly drives branded search. As LLM Visibility grows, expect branded search to follow within 4–8 weeks.
Branded Search Volume — 12 Weeks
Queries containing "forbidden well" from Google Search Console
Top Branded Queries
Loading…
90-Day Mentions
—
vs prior 90 days
High-Authority (DR 40+)
—
editorial & press
Referring Domains
—
unique linking sites
Avg Rating
—
out of 5.0
Total Reviews
—
all platforms
Review Score
—
/100 (BAS component)
5-Star Rate
—
of all reviews
Rating Trend — 12 Weeks
Average rating and review volume over time
What Moves Review Score
Rating (60% weight)
Each star above 1.0 adds to the score. 5.0★ = 100 on the rating component. Getting from 4.5 to 4.8 moves the needle more than most tactics.
Each star above 1.0 adds to the score. 5.0★ = 100 on the rating component. Getting from 4.5 to 4.8 moves the needle more than most tactics.
Volume (40% weight)
200+ reviews = full volume score. You need ~5 new reviews/week to maintain momentum and signal freshness to Google and AI engines.
200+ reviews = full volume score. You need ~5 new reviews/week to maintain momentum and signal freshness to Google and AI engines.
Response Rate
Responding to every review (especially negative ones) is a trust signal for both patients and AI engines that cite your GBP profile.
Responding to every review (especially negative ones) is a trust signal for both patients and AI engines that cite your GBP profile.
GBP Performance
Google Business Profile insights — views, searches, calls, direction requests
Profile Views
—
—
Search Queries
—
—
Call Clicks
—
—
Direction Requests
—
—
GBP Actions Over Time
Weekly profile interactions — views, searches, calls, directions
⚙️ Setup Required
GBP Performance requires
GOOGLE_MY_BUSINESS_TOKEN, GBP_ACCOUNT_ID, and GBP_LOCATION_ID set as GitHub secrets. Once set, the Monday pipeline will pull weekly GBP metrics automatically.Local Pack Heat Map
7×7 geo-grid across Manhattan — your local pack rank at 49 points per keyword
Loading keywords…
Rank Grid — select a keyword above
#1–3
#4–10
#11–20
#21+
Not ranked
★ = your location
Loading grid data…
—
Top 3 cells
—
Top 10 cells
—
Avg rank
—
Not ranked
Review Intelligence
Star rating trend, review velocity, sentiment, and response rate
Google Rating
—
—
Yelp Rating
—
—
New This Month
—
—
Response Rate
—
—
Review Volume Over Time
Sentiment Breakdown
GBP Post Log
Every post pushed to Google Business Profile by distribute.py — feeds Gemini and AI Overviews
How this works
Every time distribute.py publishes a blog post targeting an invisible keyword, it simultaneously pushes a GBP post linking to it. GBP posts are indexed by Google within hours and are a direct signal to Gemini and Google AI Overviews. More posts = more citation surface.
SERP Battleground
Keyword overlap, rank gaps, and SERP feature ownership vs competitors
Coming soon — keyword rank gap data from Reaper Mode
Site Signals
Competitor technical health, speed, backlink velocity — refreshes every Monday
Coming soon — technical intel from Reaper Mode tiers T7 + T8
✅ Execution Tracker
Closed-loop accountability — every action item from Ritual + Demon outputs
0 Pending
0 Done
| Action | Source | Effort | Status | Date Added | Outcome |
|---|---|---|---|---|---|
| No action items yet — they'll appear here as Ritual Mode + Demon Time run | |||||
⚙️ Monday Pipeline
All jobs run on GitHub Actions every Monday — no laptop required
| Time (UTC) | Job | Status | Last Result |
|---|---|---|---|
| 1:00 AM | Zenoti IV Nurse Reminder | Complete | Schedule clear ✓ |
| 6:00 AM | JS Error Monitor | Complete | Playwright crawl · 11 pages |
| 7:00 AM | Microsoft Clarity | Complete | Sessions, scroll depth, rage clicks |
| 8:00 AM | ☠️ Reaper Mode | Dormant | Waiting for competitor list |
| 9:00 AM | 😈 Demon Time | Dormant | Fires from Reaper data |
| 9:00 AM | Google Search Console | Complete | 500 keywords · 74 pages · device split |
| 9:00 AM | AI Visibility Tracker | Complete | 44 keywords × 5 engines |
| 10:00 AM | GA4 | Complete | Sessions, users, conversions, sources |
| 10:00 AM | Technical SEO Audit | Complete | Sitemap crawl · per-page issues |
| 11:00 AM | Page Speed + CrUX | Complete | PSI mobile + desktop · 10 pillar pages |
| 12:00 PM | Keyword Rankings | Complete | DataForSEO · NYC · top 100 tracked |
🔴 Dormant — Needs Action
☠️ Reaper + 😈 Demon Time — Add competitors to the ☠️ Competitors sheet tab or competitors.json to activate
WordPress credentials — Add WP_USER + WP_APP_PASSWORD secrets for Demon Time to auto-publish content