Local & Industries · 7 min read · September 25, 2026 · Hafsa Tariq, gaash.ai
Found regionally: how a cleaning company states the area it covers
A cleaning company whose crews travel to the client states its area in four places that have to agree: one service-area Business Profile with the address hidden, one page on the site naming the towns and neighborhoods served, areaServed in the markup, and a sentence on what changes at the edge. A separate page for each town is not one of them.
Where a company is when its work happens at the client's building
A buyer's question names a place: a town, a neighborhood, a business park, or near me. For a shop, the answer to where is an address. For a cleaning company, the address is where the vans start, and the honest answer to where is the list of places the crews go. An answer can place you in a town only where some page names that town.
Across all 40 trades in our audit of 9,483 small business websites, with no cleaning-only cut, 34.1% had no postal address a machine could parse on the homepage, contact page or about page, and 43.1% were inconsistent about who and where they are across those three pages. Hiding the street address is allowed, and on a service-area profile it is expected. Leaving the area unstated is what gives a question about a town nothing of yours to repeat.
What the rest of a cleaning company's site states, service by service, is on the cleaning companies overview. This page covers the area alone.
One service-area profile, and when a branch gets its own
Google's Business Profile guidelines are specific about a business that travels to its customers. With no storefront, it is allowed one service-area profile, and it hides its address from customers; a business run from a residential address clears the address from its profile, which is the guidelines' own example, given for a plumber. The overall service area should not extend farther than about two hours of driving from where the business is based.
A second profile is for a second location, not a second area. The guidelines allow a profile per location only where the locations have separate service areas and separate staff, and they rule out listing a virtual office unless it is staffed during business hours. A desk rented in the next city so that a profile can sit there is not a branch.
| Your situation | Profiles | Why |
|---|---|---|
| One office, with crews traveling within about two hours of it | One service-area profile, with the address hidden | The guidelines' rule for a business that travels to its customers |
| A second office with its own staff and its own area | A profile for each location, under the same name | Separate staff and separate service areas are the guidelines' condition |
| A rented desk or mailbox in another city, with no staff | None there | A virtual office cannot be listed unless it is staffed during business hours |
| Contracts farther than about two hours out | The profile's area stays inside the guideline | The distant work, and its terms, are stated on the site |
| Customers also bring rugs or curtains to your premises | One profile that shows the address and a service area | A hybrid business, allowed where the premises are staffed and receive customers during the stated hours |
Use the same name on every profile and page, so that all of them describe one entity, and pick the category that completes the guidelines' sentence "This business IS a": the kind of cleaning company you are, not a list of what you clean.
One page that names every town and neighborhood you serve
On the site, the area is one page, linked from every service page and from the footer. It names the town you work from and then every place you cover, in the words people use when they ask: the neighborhoods, the districts and the business parks as well as the municipalities. Group the list by what applies in each part, so the page also answers the next question, the one about cost.
| Group | What the page names | What it says applies |
|---|---|---|
| Core area | [base town], [town], [town]; the neighborhoods [name] and [name]; the [name] business park | Every service, with no travel charge |
| Extended area | [town], [town], [town] | Office contracts and move-out cleans, with a travel charge of [price] per visit |
| By arrangement | [region] and beyond | Contracts of at least [frequency or value], and post-construction projects quoted per job |
One page rather than one per town, for a reason Google writes down. Its spam policies list "pages targeted at specific regions or cities that funnel users to one page" among their examples of doorway abuse, and twenty pages that differ only in the town's name are that example. Its guide to generative AI search adds that separate content for every variation of a search, made to manipulate rankings or AI responses, counts as scaled content abuse.
A second office with its own staff is a location, and a page for it, with its own area, phone number and team, is not a town page. What separates the two is that the location page states something no other page on the site does.
areaServed: the same list, written for a parser
The structured data repeats the areas page in a form a parser reads. schema.org's areaServed takes a place as plain text or as a typed place such as a City, which schema.org defines as "A city or town". Put it on the company's node for the whole area, and on each Service node where that service covers less: residential visits in the core towns only, for example, and office contracts across the extended area.
Write the address the way the page shows it. If the site names the town you work from but no street, the address in the JSON-LD carries the town, region and country and nothing more. A street in the markup that the page keeps hidden would describe something a visitor cannot see, which Google's introduction to structured data asks sites not to mark up.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "LocalBusiness",
"@id": "https://www.example.com/#business",
"name": "[Company name]",
"url": "https://www.example.com/",
"telephone": "[phone number]",
"address": {
"@type": "PostalAddress",
"addressLocality": "[base town]",
"addressRegion": "[state, province or emirate]",
"addressCountry": "[country code]"
},
"areaServed": [
{ "@type": "City", "name": "[base town]" },
{ "@type": "City", "name": "[town]" },
{ "@type": "City", "name": "[town]" },
{ "@type": "Place", "name": "[neighborhood or business park]" }
]
},
{
"@type": "Service",
"serviceType": "Residential cleaning",
"provider": { "@id": "https://www.example.com/#business" },
"areaServed": [
{ "@type": "City", "name": "[base town]" },
{ "@type": "City", "name": "[town]" }
]
},
{
"@type": "Service",
"serviceType": "Office cleaning",
"provider": { "@id": "https://www.example.com/#business" },
"areaServed": [
{ "@type": "City", "name": "[base town]" },
{ "@type": "City", "name": "[town]" },
{ "@type": "City", "name": "[extended-area town]" }
]
}
]
}The markup should say no more than the page: the same towns, spelled the same way, in the same groups. LocalBusiness schema that lists a town the areas page leaves out makes two claims about your area where there should be one.
What changes at the edge of the area
The edge is where questions turn specific: will you come out to [town], and does it cost more? Answer on the areas page, in sentences, as your own terms, so an answer about you has something exact to repeat.
- A travel charge: "Beyond [town], we add [price] per visit for travel."
- A minimum: "Outside the core area, home visits are at least [n] hours", or "office contracts start at [frequency] a week."
- A service limit: "In [town] we take commercial contracts only."
- Notice: "Post-construction work beyond [town] needs [n] days' notice."
- Farther out: "We take contracts in [region] by arrangement, quoted per site."
Keep the edge the same everywhere it appears. If the profile's area stops at about two hours of driving and the site takes contracts beyond it, say so on the areas page, so the profile and the page read as one policy.
Then check how answers place you. Add a question for a core town, one for an extended town and one for a town beyond your edge to the afternoon's check, and keep them as lines in the monthly panel described in AI visibility for cleaning companies. An answer that sends you to a town you do not serve is as much a fix as one that leaves you out of a town you do. For a first look without the legwork, the free check puts buyer questions for your trade and town to Claude and reports whether you are named.
Common questions
Our office is in one town, but most of our contracts are in the next city. Which is our base?
The base is where the business works from: the office your crews start from and where your staff are. The profile is set there, and its service area is drawn around it, within the guidelines' two hours or so of driving. The areas page can still lead with the city where most of your contracts are, as long as it names both.
We take a contract three hours away. Can the profile cover it?
The profile's overall service area should not extend farther than about two hours of driving from your base, under Google's guidelines, so leave that town off the profile. Say on the site that you take contracts farther out, and on what terms. If you open an office there with its own staff and area, that location can have a profile of its own.
Do we need separate profiles for commercial and residential cleaning?
Not for one office. The guidelines allow one profile per location, with separate profiles only for departments that operate as distinct entities, and they ask for the fewest categories that describe the core business. Pick the category that completes "This business IS a" for what you mainly are, and let the service pages carry the split between office contracts and home cleaning.
How many neighborhoods should the areas page list?
The ones people name when they ask, grouped under their towns: the districts, business parks and neighborhoods your crews go to. A neighborhood you never clean in does not belong there, however close it is. If a buyer can read the list and know within a line whether you come to them, it is long enough.
Sources
The address and consistency figures are this site's own, across all 40 trades in the audit named below. The profile rules and the spam policy example are Google's, read on September 25, 2026 and linked where they are used.
Sources: our audit of 9,483 small-business sites, with its method · Google Business Profile guidelines · Google Search Central, spam policies · Google Search Central, optimizing for generative AI search · schema.org, areaServed · schema.org, Service · Google, introduction to structured data
Read on