GBP Audit

Audit your Google Business Profile in 60 seconds — free

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

or

How the score is built

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.

25 pts

Profile completeness

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.

15 pts

Photos

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'.

20 pts

Reviews

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.

15 pts

Categories

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.

10 pts

Posts & Q&A

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.

15 pts

NAP consistency

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.

Free audit vs ongoing GBP monitoring (paid)

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.

FeatureFree auditrank.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

What you get with the paid tier

Three product surfaces the one-shot audit can’t give you. All three update daily without you running anything.

GBP change alerts

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.

Review sentiment dashboard

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.

Citation consistency monitor

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.

Want a sample PDF report?

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.

Frequently asked.

What does the audit check?
Six weighted categories, each scored 0–100 and weight-averaged into your overall grade. Profile completeness (25%) covers name, address, phone, website, primary category, hours, description, and primary photo. Photos (15%) ramps from 0 to full credit at 10+ photos. Reviews (20%) blends average rating, count, and recency. Categories (15%) scores primary plus up to 3 secondary categories. Posts and Q&A (10%) checks for a recent post in the last 30 days and at least one answered question. NAP consistency (15%) confirms name + address + phone are all present today — the full cross-directory citations check is a paid-tier feature (see /citations).
Is my data stored?
The grade is cached for 1 hour in our shared Redis cache so you can re-open the link or share the result. After that hour the grade and the upstream DataForSEO response are deleted. The prompt (your GBP URL or business name + city) is normalised and used as a cache key — popular queries warm the cache for everyone — but we don't sell or share inputs. If you provide an email we'll send you the report and only follow up if there's something genuinely useful for you.
How accurate is the score?
The score is derived from public Google data via DataForSEO — the same source most local-SEO tools use. Each sub-signal in the rubric is documented in backend/app/core/gbp_grader/scoring.py with the exact thresholds (4.5 stars for full review-rating credit, 50 reviews for full count credit, 30-day recency window for both reviews and posts, 10 photos for full photo credit). When DataForSEO doesn't return a category's underlying data — for example, the maps SERP shape sometimes omits photo counts — we mark that category 'ungraded' and re-weight the others rather than penalise you for our data source's gaps. Two checks run on the same profile within an hour will return the exact same grade because the response is cached.
Can I monitor changes over time?
Yes — that's the paid tier (the Falcon Guard equivalent). We snapshot your GBP every 24 hours and emit a change event when something material moves: critical alerts on name / category / phone / website edits, warnings on address and hours, and info events on photo additions, review-count jumps, or rating drifts of 0.1+. Events surface in the dashboard and via the change-events API. The free audit on this page is a one-shot snapshot; for actual drift detection you need the paid tier.
Do you check citation consistency across other directories?
Yes — that's the citations module (paid). We cross-check your NAP against eight major directories — Yelp, Apple Maps, Bing Places, Yellow Pages, Foursquare, Better Business Bureau, Citysearch, and Hotfrog — using a phone normaliser that strips the US +1 and an address case-fold so 'Suite 200' and 'STE 200' match. NAP-drift events emit automatically when one directory disagrees with your GBP. The free audit's NAP category only checks that the GBP itself has a name, address, and phone — not whether they match anywhere else.
What's the difference between this and 'GBP optimization' services?
We audit, we don't perform manual edits. The audit tells you exactly which sub-signals are dragging your grade down — 'add a description', 'earn 12 more reviews', 'set a primary category' — but we don't log into your GBP and do the work for you. If you need an agency to actually execute the fixes, we don't replace them; we make their work measurable. Many agencies use rank.ai's paid tier to track grade-over-time across their client portfolio so they can prove the work moved the metric.
Can I get a white-label version of this audit?
White-label PDF audit reports are an agency-tier feature that's in our roadmap (P-20 in the work queue) — once the report template ships, agencies on agency tiers can drop their own logo and brand colours into the PDF and deliver it to their clients. In the meantime, the audit grade itself is shareable via the embed widget (P-15) — a one-time share token gives you a public iframeable URL, optionally password-protected, that you can drop into any client deliverable today.
How do I run audits at scale?
The paid tier exposes the audit through both REST and a native MCP server, so you can pull grades for hundreds of locations programmatically and feed them into your own dashboards or let your AI agents query them directly. Bulk auditing — paste 200 GBP URLs, get 200 grades back, exportable as CSV — is a paid-tier feature. The free check on this page is rate-limited per IP because it's meant for one-off diagnostic use, not bulk runs.

Ready to grade another profile?

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.

Ready to Improve

Your Rankings?

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