Skip to main content
(714) 823-3164
Online Website Marketing, experts in local website marketing strategies, Chino California

Technical SEO

Technical SEO for Local Service Businesses

Focuses on city pages, location pages, and local schema

Timeline
Architecture and schema work ships in 5 to 7 weeks

Call (714) 823-3164 or ask a question. Clear recommendations, even if we never work together.

Technical SEO for local businesses applies crawl, speed, and structured data work to the patterns local sites use. Those patterns are city pages, service area pages, location pages, and click to call flows. The work prevents duplicate city page penalties. It also makes your location data machine readable for Maps and AI answers.

Written by Terry Sr., FounderLast updated

The problem

Local sites break in ways generic technical SEO checklists never mention. A company builds 30 city pages by swapping the city name in the same paragraph, and Google indexes four of them and ignores the rest as duplicates. A multi location business puts the same LocalBusiness schema block on every page, so all three offices claim the same address. The phone number in the footer is an image, so no crawler can read it. The address in the schema says Suite 200 while the Google Business Profile says Ste 200 and the Yelp listing says nothing at all. Each of these is invisible to the owner and expensive in aggregate.

What it is

This is technical SEO shaped around how local search works. We build a page structure that keeps city and service pages genuinely different from each other. Those pages get linked in a sensible order instead of sitting in a flat pile. We add location aware structured data, so each location page carries its own LocalBusiness entity with the right geo coordinates and hours. Service pages carry Service markup with a properly defined areaServed. We make sure the name, address, and phone in the site code match your Google Business Profile character for character. When the source markup does not match, it undermines the citation work. And we treat the mobile call path as a technical job. That means tracked tel links and sticky call bars that do not break the layout. It also means page speed on the exact pages your Google Business Profile links to.

Signs you need this

  • You built city pages by swapping the city name and most are not indexed
  • Multiple locations share one address in your site code
  • Your phone number appears as an image or inside a script
  • The address on your site does not exactly match your Google Business Profile
  • Your Google Business Profile links to a slow page or the wrong page

What is included

  • City and service page architecture plan with internal linking rules
  • Duplicate and near duplicate content detection across location pages
  • Per location LocalBusiness schema with correct geo and hours
  • Service schema with areaServed matching your real service area
  • NAP consistency check between site code, Google Business Profile, and citations
  • Crawlable text phone numbers with tracked tel links
  • Speed work prioritized on Google Business Profile landing pages
  • Location page indexing verification in Search Console
  • Breadcrumb structure reflecting the city and service hierarchy

Our process

  1. Local architecture review

    Week 1 to 2

    We map every city, service, and location page and check how they link to each other. Flat structures where 40 city pages hang off the homepage with no hierarchy get restructured into service and city groupings.

  2. Duplication analysis

    Week 2 to 3

    Every location page gets compared against its siblings for text similarity. Pages above roughly 80 percent similarity get flagged for rewriting or consolidation, since Google is unlikely to index all of them anyway.

  3. Local schema build

    Week 3 to 5

    Each location gets its own entity with a distinct address, phone, geo coordinate, and hours. Service pages get areaServed defined by the cities you genuinely serve, not a fifty mile radius nobody drives.

  4. NAP and call path fixes

    Week 4 to 6

    Name, address, and phone get standardized in the site code to exactly match the Google Business Profile. Phone numbers become crawlable text with tracked tel links, and mobile call buttons get tested on real devices.

  5. Index and verify

    Week 5 to 12

    Location pages get submitted and checked individually in Search Console. We track how many of them Google actually indexes over the following six weeks, which is the honest scoreboard for this work.

Realistic timeline: Architecture and schema work ships in 5 to 7 weeks. Indexation of rebuilt location pages typically improves within 3 to 8 weeks of recrawling. Ranking movement for city terms usually trails by another 2 to 4 months.

The path from a Maps tap to a tracked call

Local technical work is easiest to follow as one chain. Someone taps your listing and either reaches a call or drops off. Every link in the chain is a setting somebody chose.

1Profile tapFrom Maps on a phone2Landing pageLoads in under 2.5s3Right cityMatches what they typed4Call buttonSeen without scrolling5Tracked calltel link, call recorded

A break at any step ends the call, and four of the five steps live in your website code, not your listing.

City page rules that decide whether Google keeps the page

Nearly every local site we open has too many city pages with too little in each one. These are the rules we hold to when we rebuild them.

Do this

  • Write each city page from jobs your crew really did in that city
  • Link a city page from its matching service page, not only the footer
  • Give every city page its own title, heading, photos, and questions
  • Name the neighborhoods, roads, and permit desks you deal with there
  • Publish a city page only when a van can get there this month

Not this

  • Do not swap one city name into the same paragraph thirty times
  • Do not hang forty city links off the footer and call it structure
  • Do not repeat one address in the schema on every location page
  • Do not hide the city list in a dropdown with no crawlable links
  • Do not build a service by city grid until three plain city pages work

How many city pages a three van plumber needs

Take a plumbing company in Chino with three vans. Drive time sets the real service area, not hope. If a van will not cross the 60 at four in the afternoon for a service call, the city on the far side has not earned a page yet.

That usually leaves eight to twelve cities worth writing about. We start with three, the ones already sending you work. Each one gets real detail: the neighborhoods you cover, the age of the homes, the repair you get called for most there, and the questions those customers ask on the phone.

Then we watch what Google does with them. If all three get indexed and hold, we add three more. If two land in the crawled but not indexed bucket, the pages are too thin, and adding more makes it worse. Track indexed city pages, not published ones.

Google decides how many city pages you have. You only decide how many you publish.
Online Website Marketing

Local setup questions that come up mid build

I work from home and hide my address. What goes on the site?

Keep the site and the listing telling the same story. If your address is hidden on Google because you serve customers at their location, do not print a full street address on the site either. List the city you work from, the cities you serve, and the phone number. Your structured data should describe the service area instead of a storefront you are hiding.

Do call tracking numbers hurt my local SEO?

They do not have to. The rule we follow is simple. The number in your page code and footer should be the same number listed on your Google Business Profile. If you use dynamic number swapping for ad traffic, set it to replace the shown number only for those visitors, and leave your main number in the code for everyone else, crawlers included.

Should the city name go in the URL, the title, or both?

Both, and use the same pattern on every city page. A path like /plumbing/chino/ reads clearly to people and to crawlers, and it lets breadcrumbs show the service and the city in results. Settle the pattern before you build ten pages. Changing URL structure later means redirects you did not need.

Frequently asked questions

How many city pages should a local business have?

Only as many as you can make genuinely different and genuinely serve. Ten well written city pages with real local detail outperform sixty templated ones every time. If you cannot say something true and specific about working in that city, do not build the page. Google indexes fewer of them than owners expect anyway.

Why are my city pages not getting indexed?

Almost always because they are too similar to each other. When Google sees fifteen pages that differ only by a city name, it picks one and treats the rest as duplicates. The fix is content, not code: different local detail, different project examples, different questions, and internal links from genuinely related pages.

Does my website need to match my Google Business Profile exactly?

The name, address, and phone should match character for character, including whether you write Suite or Ste. Inconsistency creates ambiguity about whether these are the same business entity. It is a small effort with real payoff, and it is one of the few local signals fully under your control.

Should each location have its own page or its own website?

Own page on one site, almost always. Separate sites split your authority, multiply maintenance, and often end up as thin near duplicates of each other. One strong domain with well built location pages, each with its own schema and its own local content, is easier to rank and cheaper to run.

What page should my Google Business Profile link to?

The page most relevant to the searcher, which is usually a specific location page for multi location businesses, or the homepage for a single location. Whatever you choose, make sure it loads fast on mobile and has a visible call button, because a large share of your profile clicks land there on a phone.

Do I need different schema for each location?

Yes. Each location needs its own LocalBusiness entity with its own address, phone, geo coordinates, and hours. Copying one schema block across every page tells search engines all your locations are the same place, which undermines the whole point of having location pages.