Appearance
Geogrid Scan Workflow
FreshSource: ROADMAP.md (6.1 Geogrid scanner), BIBLE.md (Phase 12 Phase 6)
Map pack rank scanning across lat/lng grid points (neighborhoods or zip codes). Heatmap visualization on dashboard.
Steps
1. Pick a center and radius
The grid is anchored on a lat/lng with a radius in miles.
Example: Dallas at (32.7767, -96.7970) with 15-mile radius.
2. Pick a grid size
A 7x7 grid covering 15 miles produces 49 sample points spaced ~3.75 miles apart.
A 9x9 grid for the same area: 81 points, ~3.3 miles apart.
3. Run the scan
bash
curl -X POST http://localhost:4700/geogrid/scan \
-H "Content-Type: application/json" \
-H "x-api-key: ghost-engine-key" \
-d '{
"keyword": "junk removal",
"domain": "journeyjunkremoval.com",
"center": { "lat": 32.7767, "lng": -96.7970 },
"radiusMiles": 15,
"gridSize": 7
}'At each grid point, the scanner:
- Sets the browser geo to that lat/lng
- Searches Google Maps for the keyword
- Records the position of the target domain in the map pack
- Records null if not in top 20
4. View the heatmap
bash
curl http://localhost:4700/geogrid/scans/geo-abc123Response includes a 2D matrix of ranks. The dashboard renders this as a heatmap with color-coded cells.
5. Compare to a previous scan
bash
curl "http://localhost:4700/geogrid/compare?from=geo-abc123&to=geo-def456"Returns per-point delta and a "moved up/down/same" summary.
6. Schedule recurring scans
bash
curl -X POST http://localhost:4700/geogrid/schedule \
-H "Content-Type: application/json" \
-d '{
"keyword": "junk removal",
"domain": "journeyjunkremoval.com",
"center": { "lat": 32.7767, "lng": -96.7970 },
"radiusMiles": 15,
"gridSize": 7,
"frequency": "weekly"
}'What the scan reveals
- Where you are strong (high-rank quadrants)
- Where you are weak (unranked quadrants)
- Geographic edges of your authority
- Drift over time (compare scans)
Cost considerations
A 7x7 = 49 SERP scrapes per scan. A 9x9 = 81 scrapes. Weekly cadence is normal; daily on high-value keywords only.