1,000+ citation sites ranked across 50+ countries & 50+ industries Explore the directory →

On-Page Local SEO: What Your Website Must Say and Show

On-page local SEO for small business sites: NAP on the page, service and location pages, local schema, titles and links that match your listings.

On this page
  1. Why on-page and off-page local SEO have to agree
  2. NAP on the page: where it belongs and how exact it has to be
  3. Service and location pages
  4. LocalBusiness schema: the machine-readable copy of your NAP
  5. Titles, headings and location-aware copy
  6. Internal links: connecting the pages that should reinforce each other
  7. Embedding a map
  8. Reviews on site
  9. Common on-page mistakes that quietly break local SEO
  10. The on page local SEO checklist

On page local SEO is the set of things a business controls directly on its own website to prove it operates at a specific place: NAP text that matches every listing, dedicated service and location pages, LocalBusiness schema, location-aware titles, internal links tying related pages together, an embedded map, and real reviews shown on the page. On page local SEO succeeds or fails on one test: does every local fact on the page match the same fact on your Google Business Profile and your citations, because search engines resolve disagreement by trusting the page less, not by picking a winner. A strong local SEO citation builder foundation off-site is wasted if the website itself contradicts it, so this guide walks through each on-page element in the order it matters, ending with a checklist you can run against your own site today.

Why on-page and off-page local SEO have to agree

Citations and your Google Business Profile establish a record of your name, address and phone across independent, trusted sources. Your website is a separate source, and usually the one visitors and competitors scrutinize hardest, but search engines treat it the same way: as one more claim to check against everything else. See NAP consistency for the underlying concept. The practical implication for on-page work is that nothing here is optional polish; it is the on-site half of the same consistency requirement your citations satisfy off-site.

NAP on the page: where it belongs and how exact it has to be

Put visible, selectable text NAP (not just an image or a contact form) somewhere on every page a visitor is likely to land on, typically the footer, plus a dedicated contact page and each location page. Match it to your Business Profile and citations at the level of:

  • Suite and unit formatting. “Suite 4B” and “Ste 4B” read the same to a person; keep them identical anyway.
  • Phone format. Pick one format ((212) 555-0100 or 212-555-0100) and use it everywhere on the site, matching what your listings show.
  • Business name. No shortened version on the site and a full legal name on your profile, or the reverse.

Run the free NAP checker against your own site periodically; it parses the page text and any schema for name, address and phone and flags where they drift from what your open directories publish.

Service and location pages

A homepage that lists every service and city you cover cannot rank as precisely as pages built around real combinations of the two. If you serve multiple areas, each needs its own page describing that area specifically, not a template with the city name swapped; see location pages SEO for the full page structure, the doorway-page trap to avoid, and the service-area version for businesses that hide their address. If you offer genuinely distinct services, a dedicated page per service (with the areas it’s offered in referenced, not duplicated) usually outperforms one page trying to cover everything.

LocalBusiness schema: the machine-readable copy of your NAP

Every page representing a location should carry LocalBusiness schema (or the closest matching subtype, such as Dentist, Plumber or Restaurant) as a JSON-LD block, stating the same name, address, phone, hours and category as the visible page and your citations. Two mistakes undo the value of this:

  • Two different LocalBusiness blocks on one page, usually from a theme and a plugin both adding schema independently. Validate with Google’s Rich Results Test and Schema.org’s own validator to catch this.
  • Schema that states different facts than the page text. Schema is meant to remove ambiguity, not create a second, contradicting version of the same business.

Titles, headings and location-aware copy

Your page title and H1 should state the service and the place plainly (“Emergency Plumbing in Riverside, CA,” not “Welcome to Our Company”), matching the target phrase a real searcher types; see local SEO keywords for finding that phrase before you write the title. Beyond the H1, work the place name into body copy naturally, in a way that reads like it was written by someone who actually works there: a neighborhood name, a landmark, a service radius, not a mechanically repeated city name in every sentence.

Local pages rarely help each other by accident; they need to be linked deliberately. Link every service and location page from a central hub (a locations or services index), link nearby location pages to each other, and link from blog or resource content back to the relevant service page. This is a smaller version of the same idea behind local link building: links, internal or external, are how search engines understand which pages belong together and which one is authoritative for a given place or service.

Embedding a map

For a storefront, embed an actual map centered on your real coordinates, matching the address in your NAP text, schema and citations. It gives visitors a familiar visual confirmation and gives search engines one more consistent geographic data point tied to the same location. For a service-area business without a public-facing address, skip the pin and state the service radius or list the neighborhoods covered instead; a map centered on an address you don’t show elsewhere creates the exact contradiction on-page local SEO is meant to prevent.

Reviews on site

Displaying reviews on the page (pulled from Google, from a widget, or collected directly) builds trust for visitors and gives search engines and AI assistants more content tied to the business. If you mark those reviews up with review schema, know the limits going in: Google’s structured-data guidelines state that when “the entity that’s being reviewed controls the reviews about itself,” pages using LocalBusiness or Organization markup “are ineligible for star review feature,” regardless of how correctly the schema is written. The markup is still worth adding for AI assistants and Knowledge Panels; just don’t expect stars to appear next to your listing in organic results because of it.

Common on-page mistakes that quietly break local SEO

A few patterns show up repeatedly in audits, and each one undoes work done elsewhere:

  • A contact page with NAP baked into an image. A phone number rendered as a graphic looks fine to a visitor and is invisible to a crawler and to the free NAP checker alike. Keep it as real, selectable text.
  • A “Locations” page that lists every city with no individual page behind any of them. This gives search engines a single thin page trying to rank for a dozen places at once, instead of a dozen pages each with a real shot at its own city.
  • Schema copy-pasted across every page with only the visible text updated. If a JSON-LD block still lists the flagship store’s address on a different location’s page, that page is actively contradicting itself in a way a human visitor would never notice but a crawler will.
  • A title tag that never changes, using the same generic “Home” or brand-only title across every location and service page. Titles are one of the strongest on-page relevance signals available, and a duplicate title across pages wastes it entirely.
  • A phone number that differs from the citations “for tracking purposes.” Call tracking numbers are a legitimate tool, but if you deploy one, it needs a documented approach so your primary NAP number stays the one that’s consistent everywhere else; treating a tracking number as your public NAP breaks consistency for no real gain.

None of these are exotic problems. They are small enough to survive for months on a working, otherwise-healthy site, which is exactly why they are worth checking for on purpose rather than assuming the page is fine because it looks fine.

The on page local SEO checklist

ElementWhat to checkWhere the source of truth lives
Visible NAPExact match to citations and Google profile, on footer and contact pageGoogle Business Profile, NAP checker
Service and location pagesOne page per real combination, unique content, no doorway patternLocation pages guide
LocalBusiness schemaOne block per page, matches visible NAP, no duplicate blocksSchema guide
Title and H1States service and place, matches real search phrasingKeyword research
Internal linksHub links to every local page, related pages link to each otherLocal link building
Embedded mapMatches real, public coordinates (storefronts only)Google Business Profile
On-site reviewsDisplayed accurately; schema present but stars not expectedReview schema guide

Every row in that table is a fact that also has to hold true somewhere else, your Google profile, a directory listing, a schema block, which is why on page local SEO cannot be finished in isolation from the rest of a citation program. Treat the page as the visible half of one record, not a separate project, and the off-site work (from a citation building service to manual outreach) has something consistent to reinforce.

Frequently asked questions

What is on page local SEO?

On page local SEO is everything you control directly on your own website that ties it to a specific place: NAP text that matches your listings, dedicated service and location pages, LocalBusiness schema, location-aware titles and headings, internal links between related local pages, an embedded map, and genuine reviews shown on the page. It is the counterpart to off-site work like citations and Google Business Profile, and the two have to agree with each other to work.

Does my website's NAP need to match my Google Business Profile exactly?

Yes, down to formatting. The suite abbreviation, the phone number format, even whether you write Street or St, should match across your homepage or contact page, your Google Business Profile, and your directory citations. Search engines and AI assistants cross-check these sources, and a mismatch, even a minor one, is a signal to trust none of them fully rather than trust the newest one.

Do I need a separate page for every service and every location?

Generally yes, if you offer distinct services in distinct places. A plumber offering drain cleaning and water heater installation across three service areas benefits from pages built around real combinations of service and place, each with unique content, not one page trying to rank for everything. A single-service, single-location business does not need to force this structure.

Where should LocalBusiness schema go on the page?

On the page that represents the location: the homepage or contact page for a single-location business, and each location page for a multi-location one. It should be the same entity data, with the same name, address and phone as the visible page text and your citations. Full property-by-property guidance is in our LocalBusiness schema guide.

Should I embed a Google Maps map on my site?

For a storefront, yes. An embedded map reinforces the address visually for visitors and gives search engines another consistent geographic signal tied to the same coordinates as your Business Profile and citations. For a service-area business without a public address, a stated service radius or a list of neighborhoods covered does the same job without a misleading pin.

Why don't my on-site reviews show star ratings in Google search results?

Because of Google's self-serving reviews rule: a business is not eligible for the star rich result on marked-up reviews of itself, no matter how the schema is written. You can still display reviews on the page and mark them up accurately for AI assistants and Knowledge Panels; the stars in classic search results are a separate eligibility question covered in our review schema guide.

Get these citations built for you

Citation Builder ranks the best citation sites for your country and industry, and builds your optimized citations.

Start free

Found this useful? Pin us in Google and our pages carry a preferred badge in your own Top Stories and AI results.

Add us as a preferred source on Google

Citation sites for your market

Every directory below is ranked from our live catalog, with the free ones marked.

Start free