Chains keep copy-pasting one LocalBusiness block across every branch page, and Google can't tell the locations apart. The fix is per-location identity, done deliberately. Build it like this:
— Give each location page its OWN LocalBusiness node with a unique @id per URL
— Use the precise address and geo coordinates per branch — never the HQ for all
— Match name, address, and phone to the matching Google Business Profile exactly (NAP consistency)
— Add openingHoursSpecification per location, not a shared block
— Cross-link branches with a parent Organization via parentOrganization/department
What it means for you: identical markup across locations reads as one entity in many places, diluting all of them. Watch this — NAP mismatch between markup and Business Profile is a top local-pack suppressor, and AI map answers inherit the same data.
Schema Wire
@SchemaWire
The multi-location LocalBusiness setup that doesn't cannibalize itself
This post was published in the Telegram channel Schema Wire. Subscribe here: @SchemaWire.