GBP Audit
Paste your Google Maps URL — or just type your business name and city — and we'll score your profile across 6 weighted categories: completeness (25), photos (15), reviews (20), categories (15), posts + Q&A (10), NAP (15). You'll get a 0–100 grade and a list of fixes ranked by impact.
Try it now — no signup
The 6 categories below sum to 100 weight points. Every threshold maps to a constant in backend/app/core/gbp_grader/scoring.py — no marketing fluff layered on top.
Eight equally-weighted sub-checks (12.5% each): name, address, phone, website, primary category, hours, description (≥10 chars), and a primary photo. Missing phone, address, or website are flagged 'high' severity in the recommendations; the rest are 'medium'. The category never goes ungraded — every profile is checkable on at least one signal.
Linear ramp from 0 photos to full credit at 10+ photos (the _PHOTO_FULL_CREDIT constant). Google's GBP knowledge panel surfaces 8–10 photos before the 'more' link, so 10 is the 'looks active' threshold. Profiles under 3 photos get a 'high' severity recommendation; 3–9 get 'medium'.
Composite of three sub-signals: rating (linear from 3.0 → 4.5+), count (linear ramp to 50 reviews), and recency (full credit if last review was <30 days, half if 30–90, zero if 90+). When recency timestamps aren't available the recency signal drops out and the average is re-normalised over the two remaining signals.
Primary category is worth 50% of this category's score. The other 50% comes from secondary categories on a linear ramp to 3 secondaries. Beyond 3 gives no extra credit — Google's own docs warn that over-categorisation can dilute ranking, so the curve flattens at 3.
Half-and-half: a Google Post in the last 30 days, plus at least one answered Q&A on the profile. If neither field is present in the upstream response (typical for the maps SERP shape) the category is marked ungraded and dropped from the weighted average — we don't penalise the profile for our data source's gaps.
On the free check this is a coarse 'is name + address + phone all present' signal — a placeholder for the full feature. The cross-directory NAP cross-check (Yelp, Apple Maps, Bing Places, and 5 more) lives in the paid citations module — see /citations and the P-18 entry in the roadmap.
Why “ungraded” instead of 50% credit? When the upstream response genuinely omits a category’s data — for example DataForSEO’s public maps SERP doesn’t always include a photo count — we drop that category from the weighted average and re-scale the rest, instead of giving 50% credit. That way you don’t get docked for our data source’s gaps; you only get docked for actual GBP problems. See the _NORMALIZE_ON_MISSING constant in the scoring module for the exact behaviour.
The free audit is a one-shot snapshot. The paid tier turns the same rubric into a daily-monitored surface with change alerts, citation consistency, review sentiment, and multi-location rollups.
| Feature | Free audit | rank.ai paid |
|---|---|---|
One-time grade across 6 categories Profile completeness, photos, reviews, categories, posts + Q&A, and NAP — the same rubric on both tiers. Source of truth: backend/app/core/gbp_grader/scoring.py. | ||
Daily change alerts (Falcon Guard equivalent) GBP snapshot + diff every 24h. Critical alerts on name/category/phone/website edits, warnings on hours/address, info on photo + review velocity. See P-9 in the work queue. | — | |
Cross-directory citation consistency NAP cross-checked against Yelp, Apple Maps, Bing Places, Yellow Pages, Foursquare, and 3 more directories. NAP-drift events emitted automatically. See /citations. | — | |
Review sentiment + topic analysis Each review classified as positive / neutral / negative with a controlled 10-topic vocabulary and pain-point summarisation on negatives. 30-day rollups + per-topic trends. | — | |
Multi-location dashboard Group GBP listings by client, region, or franchise. Roll the grade up across hundreds of locations and drill into the worst-performing ones first. | — | |
Historical trend charts Per-category score history so you can see whether your last optimisation push actually moved the grade — not just guess from one snapshot. | — | |
Embed-on-your-site widget Public iframeable scan widget via a one-time share token. Optional bcrypt password gate. See P-15 — the same primitive powers the geo-grid + AI-visibility embeds. | — | |
White-label PDF reports Branded PDF audit reports for client deliverables. Available on agency tiers. In roadmap (P-20) — wired up once the report template ships. | — | Agency tier |
Three product surfaces the one-shot audit can’t give you. All three update daily without you running anything.
Daily snapshot + diff of every tracked profile. Critical alerts on name / category / phone / website edits, warnings on hours and address, info events on photo additions, review-count jumps of 5+, and rating drift of 0.1+. When a competitor (or a rogue Google merchant edit) changes your listing, you know the same day.
Every review classified as positive, neutral, or negative with a controlled 10-topic vocabulary (service speed, staff, pricing, quality, parking, etc.). Negative reviews get an auto-generated pain-point summary. 30-day rollups + per-topic trends so you can see which operational issues keep surfacing in the wild.
NAP cross-checked weekly against Yelp, Apple Maps, Bing Places, Yellow Pages, Foursquare, BBB, Citysearch, and Hotfrog. Phone normaliser handles the US +1 and an address case-fold handles ‘STE 200’ vs ‘Suite 200’. NAP-drift events fire automatically when one directory disagrees with your GBP — fix the drift before it tanks your local pack ranking.
We’ll send you a sample audit so you can see what the full report looks like — every category broken down, every recommendation ranked by impact, the kind of artifact you’d hand a client. One email, one PDF, no follow-up spam.
Prefer to skip the sample? The free audit above runs on your real profile in 60 seconds.
Run the free audit again on a different listing — or set up the paid tier so the rubric is graded daily across every location you manage, with change alerts when something material moves.

Use our free tools to get instant insights into your SEO performance and discover opportunities to rank higher