Back to Journal
8 min readDigital Horizon

Schema for Local SEO: How to Tie Your Site to a Specific Geography

Schema markup is the cleanest way to tell Google exactly where you operate, who you are, and what you do — but most service-business sites either skip it or wire it up wrong. Here's the structured-data setup that actually moves rankings, and the location-correlation trap to avoid.

A topographic map showing contour lines and elevation across mountainous terrain — a visual stand-in for the geographic precision that schema markup brings to local SEO.

When Google decides whether to put your business in the "near me" results, it's making a confidence call: is this site actually about a service in this city, run by a real business at a knowable address? Schema markup is the cleanest way to give Google the answer in a structured format that doesn't depend on parsing prose. Most service-business sites either skip it entirely or wire it up wrong. Here's the structured-data setup that actually moves rankings — and the location-correlation trap to avoid.

Why schema matters more than people think

Schema is metadata about your site that Google reads as facts, not interpretation. When your homepage says "we serve Reno, Sparks, and Carson City," Google has to guess what that means. When your homepage emits an Organization schema with sameAs pointing at your verified Google Business Profile, plus Service nodes naming each city as areaServed, Google doesn't have to guess — you've handed it the entity graph in a format it indexes directly.

The compounding part: schema also feeds AI Overviews, Knowledge Panels, and the citations LLMs use to answer questions. The same markup that helps you rank in Google search now is what gets you cited by ChatGPT, Perplexity, and Gemini next year.

The four schemas you actually need

Most service-business sites need exactly these four schema types. Adding more rarely helps. Getting these four right is what matters.

  1. Organization (sitewide). One per site, in your root layout. Identifies who you are: name, url, logo, contact info, and most importantly sameAs — a list of authoritative URLs for your business across the web (your Google Business Profile, your LinkedIn, your industry directory profiles).
  2. LocalBusiness (one page only). On the page that represents your actual physical location. Adds your street address, telephone, opening hours, and a hasMap link to your GBP. Critical caveat: only one page should emit LocalBusiness, and only if you actually have a physical office at that address. More on this below.
  3. Service (per service or per service-area). Describes what you do, optionally for a specific city. Use it on each service detail page (web design, SEO, etc.) and on each non-headquartered location page — so /locations/sacramento says "Service: web design in Sacramento, areaServed: City Sacramento, provider: us."
  4. BreadcrumbList (most pages). Shows the navigation path from the homepage to the current page. Helps Google build sitelinks and gives users the breadcrumb display in search results.

NAP, sameAs, and the entity handshake

Schema only works if your business identity is consistent everywhere. Three things to verify:

  • NAP consistency: Name, address, phone — exactly the same on your site, your Google Business Profile, your Yelp page, your Facebook business page, your chamber listing. Different formatting (St. vs Street, abbreviations) trips Google's matching.
  • sameAs handshake: Your Organization schema's sameAs array should include your Google Business Profile URL, your social profiles, and any directory listings you control. Your GBP should link back to your website. This bidirectional link is how Google connects the website-entity to the GBP-entity.
  • One canonical address: If you have multiple physical locations, that's a Multi-Location Business and a different setup. If you have one office and serve other cities remotely, you have one location and a service area — handle it that way (see next section).

The location-correlation trap

The most common mistake on service-business sites is emitting LocalBusiness schema on every city page — turning each /locations/<city> URL into a claim that you have a physical office in that city. Google's LocalBusiness documentation is explicit: it requires a real physical address. Falsely attaching one to a city you don't have an office in is the kind of thing that gets flagged as deceptive markup, and it doesn't help you rank in those cities anyway because Google can detect that the address doesn't match the URL geography.

The right pattern: one LocalBusiness page (your real office), and Service schema on every other location page declaring areaServed: City. We made exactly this fix on our own site recently — Carson City is our actual office, so it gets LocalBusiness. Reno, Sparks, Las Vegas, and the rest get Service schema with areaServed naming the city, provider pointing back at our Carson City office.

The functional difference: LocalBusiness says "there is a business at this address"; Service says "there is a business that serves this area, based at this other address." Google can rank both for local queries, but only the second one is true if you don't have an office there.

Validating your schema

Two tools to keep in your back pocket:

  • Google Rich Results Test (search.google.com/test/rich-results) — paste your URL, see what schema Google detects and which (if any) rich-result features qualify. Run it on every page type (homepage, service detail, location detail, blog post) after any schema change.
  • Schema.org Validator (validator.schema.org) — strictest validation, catches structural errors that Google's tool sometimes ignores. Use this if Google's tool says "valid" but rich results still aren't appearing.

If both tools are clean and you're still not getting rich results, the issue is usually elsewhere: low overall site authority, conflicting schema (FAQPage emitted twice on the same page is a common one), or pages Google hasn't recrawled since the schema went in. Use Search Console's URL Inspection tool to request a re-crawl after structural changes.

One-time setup, compounding returns

Schema is one of the highest-leverage SEO investments because it's mostly a one-time job. Once your Organization, LocalBusiness, Service, and BreadcrumbList schemas are wired up correctly and validated, they keep paying back every time Google crawls your site, every time an AI engine answers a question that matches your services, every time a directory or aggregator scrapes you.

The work isn't glamorous. It's writing JSON-LD blocks that nobody outside of Google ever reads. But for a service business that wants to be found in "near me" searches and cited by the AI engines that are now eating the top of the SERP, it's the difference between Google guessing what you do and Google knowing.