Local search

Local search, and what the audit can actually see

For a business people can visit or ring, the Google listing often decides more than the website does. This part of the report checks the signals on your site that tie the two together, and says plainly which parts it could not verify.

What this category is for

Someone a mile away searches for what you sell. What they get back is a map with a few listings on it, and a tap on one of those is a phone call or a set of directions. Your website's part in that moment is to be tied clearly to your listing. This category checks the ties: what your pages say about where you are, when you are open, and how to ring you.

The premise the module is built on is that for a business people can walk into, the Maps listing often matters more than the website, and that almost no audit tool looks at it. Everything here reads the page a browser already receives. The live listing is a separate matter, and is only checked when a Google Places key is configured.

The checks that need no key

The first check reads the JSON-LD in your page source and looks for a LocalBusiness block; Store, Restaurant, ClothingStore and Organization are accepted as the same thing. Nothing there is the heaviest finding in the category, and it is raised as critical, because that block is how Google ties a website to a Maps listing. Where one exists, three parts of it are read separately: a missing postal address is a warning, a missing openingHoursSpecification is informational, and coordinates count when present but are never held against you when absent.

Then two things a visitor uses directly. A phone number must pass a validator shared with the trust checks: a tel: link is trusted outright, and a number written in the copy needs between 7 and 15 digits, 15 being the ceiling set in ITU-T E.164, and is rejected if it is a date, a decimal, a bare identifier or a run of identical digits. The pattern this replaced matched 9,726 phone numbers on one real shop, which meant the genuine finding never fired and the listing comparison had junk to compare against. An embedded Google map is looked for too, and recorded as informational when absent.

Whether it applies to you at all

Before anything is scored, the analyser decides whether you are a local business. It looks for LocalBusiness schema, a postal address inside it, an embedded map, wording such as visit us, store locator, opening hours, directions or walk-in, and street-address vocabulary: street, road, avenue, plaza, market, block, sector, shop no. If none of that is present, the category is not scored. The comment in the code gives the reason plainly — scoring a SaaS or a remote agency on its Google Maps listing is meaningless, and would unfairly drag its overall score down.

The result in that case is not zero and not low. It is absent. The category is dropped out of the overall average entirely and listed under what could not be measured, with the reason written out. Where it does apply, Local SEO carries a weight of 0.9 in that average, against 1.4 for Performance, SEO and Security.

The listing itself, and the part we may not be able to check

Verifying the listing needs a Google Places API key. With one set, the business is looked up by name and domain, and the answer is read for rating, review count, phone number, website link, opening hours and trading status. The listing's phone is compared with the one on your site on the last nine digits, so formatting and a country code cannot cause a false mismatch. A mismatch is a warning. So is a listing whose website link points somewhere other than your site, and that finding names the address it currently points at.

With no key, the check does not run, and that is recorded as not checked with the reason, never as a fault on your site. It used to be scored as a finding, which took points off every local business we looked at and pinned this category at exactly 64 on every site it applied to: the same four findings every time, one of them ours rather than theirs. A lookup that returns an error or times out is handled the same way, with the status code or the error type written down.

Two thresholds here are ours, not Google's

Fewer than 20 reviews is a warning, and a rating below 4.0 is a warning. Those are lines in our code rather than published Google figures, and the report says so. What to do first is less debatable: put a LocalBusiness block in your page source with name, address, phone and hours, then make the phone number on your site the same number as the one on your listing, and put your opening hours in both places. The embedded map is last. It is informational, and a visitor can manage without it.

What the engine checks here

Each of these is a rule in the code, not a category heading.

Questions

We work remotely and have no premises. Will this count against us?

No. The analyser decides whether you look like a local business before it scores anything, using schema, an embedded map, visit-us wording and street-address vocabulary. With none of those present the category is not scored, is dropped out of the overall average, and appears in the report under what was not measured with the reason. It is not recorded as a low score.

Do you check my actual Google Business Profile?

Only when a Google Places API key is configured for the run. When one is, the report says it was scored on website signals plus the live Business Profile. When there is no key, it says website signals only, and the listing check appears as not checked with the reason and a manual-check line. That gap is ours, not a defect on your site, and it is never scored as one.

Our details are slightly different on Google than on the site. Does that matter?

The phone number does, and it is checked directly: the listing number and the site number are compared on the last nine digits, so different spacing or a country code will not trigger a false alarm, but a genuinely different number is a warning. The website link on the listing is checked as well. Inconsistent details across the web weaken local ranking, so the fix is to make them identical everywhere.

Sources

Public and checkable. Nothing here rests on a number we cannot point at.

This is one of fifteen categories. You can read a real report this engine produced on this very site — including the findings it raised against us — or ask for an audit of yours.