Local SEO
SEO for Service Area Businesses
How a plumber, HVAC company, or mobile shop should handle local SEO without a fake office, a page per town, or a Google profile that hides a real counter.
//CodeHunterz

SEO for a service-area business is the work of being found for jobs you will actually drive to, without inventing a storefront. The website, the Google Business Profile, and the way you answer the phone have to describe one map. The service is local SEO. The wider map is the local SEO guide. This article is the case where customers meet you at their kitchen, their roof, or the shoulder of the road, and sometimes also at a real shop.
Google's Business Profile policies are the constraint. They say service-area businesses, meaning businesses that serve customers at the customer's location, should have one profile for the central office or location with a designated service area. They say those businesses cannot list a virtual office unless that office is staffed during business hours. They also say the boundaries of the profile's overall service area should not extend farther than about two hours of driving time from where the business is based, and that some businesses may justify a larger area. Read the current page before you draw the map. Policies change. The instinct should not: do not rent a mailbox and call it a shop.
Storefront, service area, or both
Sort the business before you sort keywords.
Customers visit you. A repair shop with a bay, a salon with chairs, a clinic with a door. Show the address. The hours are the hours someone is there to receive a person. If you also travel, you may be a hybrid. Google uses an auto repair shop that fixes cars at the garage and offers roadside service as the example: show the storefront and set a service area. The auto repair website should tell the same story. If the site hides the shop and the profile shows it, or the reverse, fix the false one.
Customers never visit you. A plumber, a mobile detailer, a locksmith who only goes to the house. You may hide the address and publish the area. The address you verify still has to be a real place you are allowed to use, not a virtual office dressed up as a counter. CodeHunterz will not publish a fake street address for you or for ourselves. City pages such as Las Vegas and Phoenix describe markets. They are not offices, and they are not a reason for your profile to claim a suite in each.
You have two real bases. Two shops, or a shop and a staffed yard, with different people. Google says that if you have different locations with separate service areas and separate staff, you may have one profile for each. Two profiles for one truck and a borrowed desk are not that. They are how listings get suspended.
The profile checklist is the pass to run after you choose. Name, category, phone, hours, and the website URL still have to match. Hiding the address does not excuse a keyword stuffed into the business name.
The area is a promise you can drive
Draw the area from the jobs you accepted in the last season, not from the zip codes an agency pasted into a spreadsheet. If you will not cross a river, a county line, or a toll road after 3 p.m., the map should show that. A two-hour radius that includes a city you have never worked in is a way to collect calls you will decline. Those declines teach the profile, and the caller, that the listing was hopeful.
Google's two-hour note is a boundary on the profile, not a goal. A smaller area that you can staff is better than a larger one you will apologize for. If a job outside the line is worth taking, you can still take it. You do not need the profile to pretend you live there.
Write the same area on the website in sentences. "We serve Fort Worth and the near west side. We do not take jobs in Dallas." That kind of sentence is useful. A footer that lists forty towns in eight-point type is not. Fort Worth is its own market from Dallas on this site for the same reason: the buyers and the drives are different. Your site should be at least that honest about your own trucks.
What a town page is for
A town page is justified when the facts change. A second staffed location, a different phone, a different set of services, or a permit that only applies inside one city. It is not justified when the only change is the H1. The map pack guide says the same thing from the searcher's side: Google is trying to answer who is relevant and near. A cloned page does not make you nearer.
If you already published a grid of town pages, do not add more while you decide. Pick the URLs that have a real location or real, unique work, redirect the rest to the true service page, and make the remaining page say the area in one place. The migration checklist is the mechanical version: one old URL, one new URL, a permanent redirect, no pile of towns dumped on the homepage.
Pages that match the jobs
Service-area SEO still needs pages, just not geographic clones. A plumber who does emergencies and water heaters needs those as different explanations. The plumber playbook and the plumber SEO page go into that trade. HVAC is the same split between no-cool, no-heat, and maintenance, which is why HVAC SEO is its own page. A general contractor who also cleans drains should not inherit the plumber's page structure unless the trucks really do that work.
On each service page, include:
- The job, in the words a customer uses, and what you will not do.
- How the visit works: a call, a window, a dispatch fee if you charge one and will say so.
- The area, once, in sentences. Not a zip-code dump.
- A phone number a person answers, and the hours that answer is true.
- Proof you can stand behind: photos of your work, licenses you hold, a description of what the customer approves before you start.
Photos of the customer's house need permission. A street number readable in the background is something to crop. Do not buy a stock photo of a van and call it the fleet.
The profile, the citations, and the phone
The profile is the map. Citations, the other directories that repeat your name, address, and phone, matter because contradictions confuse both people and Google. For a hidden-address business, do not "fix" citations by publishing a home address you did not mean to make public. Use the service-area pattern consistently: business name, phone, website, and the area description. Where a directory forces a street address you cannot hide, skip that directory rather than invent a suite.
The phone number should be the number on the site and the number a person, or a script you approved, will answer. An AI receptionist can take the overflow if it knows the jobs and the area and does not invent an arrival. A tracking number is fine when it forwards to the real number and you know which reports depend on it. A tracking number that becomes the only number, while the site and the truck still show the old one, is a new contradiction.
Reviews should mention the job, not a script you handed the customer. Ask after a finished job. Do not filter the ask so only the happy ones are invited, and do not buy them. Reply like a person. A review that names a town you do not serve is a clue that the profile area is wider than the trucks.
What SEO will not do
It will not put a single truck in the map pack of every city inside a two-hour ring. Distance still matters, and Google does not promise a rank in exchange for a completed profile. The guide to how long SEO takes quotes Google's own range: some changes show in hours, others take months, and you generally wait a few weeks before judging. Indexing is not a call. A call is not a booked job if nobody answers.
It will not repair a category that is wrong. A roofer categorized as a general contractor will hear the wrong calls. Set the primary category to the job you most want, and secondary categories only for work you will accept this month.
It will not justify a virtual office in a downtown you like the zip code of. If a suspension already happened for that, do not repeat it with a new suite number. The schema article covers the matching mistake on the website: do not mark up an address you are not willing to publish, and do not invent a star rating in structured data.
A practical sequence
- Write the area you will drive, and the jobs you will take, on one page.
- Make the profile match: one location, the right category, the address shown or hidden for a real reason, hours, phone, and URL.
- Remove or redirect town pages that only swap a name.
- Align the directories you actually use. Leave the ones that demand a fake counter.
- Answer the phone for a month and write down the calls that were outside the area or outside the jobs. Tighten the page that caused them.
Then look at Search Console and the profile insights. Queries for a town you will not serve are a reason to edit, not a reason to publish that town. Queries for a job you do want, with no page, are a reason to write the page. The technical checklist still applies: HTTPS, titles, a self-referencing canonical, and a sitemap. Those are table stakes. They do not replace the map.
Price and the thing you should not buy
Local SEO services cost and the SEO pricing guide describe how retainers are usually discussed. Content and a pile of doorway pages are not the same line item. A vendor who prices "fifty city pages" as the strategy is selling you a cleanup. The CodeHunterz Growth plan starts at $2,400 per month after a 20% launch offer (regular starting price $3,000 per month). Ad spend, when ads are part of the work, is separate. Limited-time launch offer, final quote after free strategy call.
Ads can cover a job you need this week while the profile is still being corrected. They should send people to the same true area. Google Ads for plumbers shows the split between emergency and scheduled work. A service-area business that buys clicks in a city it will not drive to is paying for the apology.
The result you can ask for is modest and checkable. One profile that matches the trucks. A site that states the area without a zip-code footer. Calls that are for jobs you do, from places you will go. Anything sold as a guaranteed map-pack position in every town on the list is a forecast. You do not have to buy it.
What else do people ask?
Q01Should a service business hide its address?
Hide it when customers do not visit you there. Google says service-area businesses should not list a virtual office unless that office is staffed during business hours. If customers come to a real counter, show that address.
Q02Can one company have a profile for every city it serves?
No. Google says a service-area business should have one profile for the central office or location, with a designated service area. A second profile is for a different location with its own staff, not for a town you drive through.
Q03How far can the service area go?
Google says the boundaries of a profile's service area should not extend farther than about two hours of driving from where the business is based, and that some businesses may justify a larger area. Set the area you will actually drive, not the area you wish you covered.
Q04Do town pages help a service-area business rank?
A page that only swaps the town name does not describe a different business. Say the real area in sentences on the service pages. A second location with its own staff and phone can have its own page because the facts are different.
Q05What does local SEO cost?
Public retainers are discussed in the SEO pricing guide. They are not a quote and not a ranking promise. The CodeHunterz Growth plan starts at $2,400 per month after a 20% launch offer (regular starting price $3,000). Limited-time launch offer, final quote after free strategy call.
Written for US small business owners by the CodeHunterz team. This is general information, not a promise of rankings, leads, or savings. The service behind this guide: continue to the service page.
