3 February 2026 · How-to
Service-area schema markup: what it is and why your site probably needs it
A quiet but real ranking signal most Melbourne small business sites don't have. Here's what service-area schema is, what it does, and how to add it.
- schema markup
- local SEO
- technical SEO
- small business websites
Most small business websites I audit have one specific gap in their technical SEO that’s costing them measurable local search rankings. It isn’t anything dramatic — the site loads, the content is fine, the meta tags are there. It’s a small block of structured data called service-area schema, which tells Google specifically which suburbs your business serves.
It takes about an hour to add. It does real work for local rankings. Most Melbourne small business sites don’t have it.
This post is the practical read on what it is, why it matters, and how to add it. (For the wider picture of how schema markup sits alongside the rest of a working local SEO setup, the complete guide to local SEO for Melbourne is the broader reference.)
What schema markup actually is
A quick step back, because “schema markup” is one of those phrases that gets thrown around in SEO without ever being explained properly.
Schema markup is a small block of code that lives in your page’s HTML (usually as a JSON-LD script tag in the page head) and tells search engines what your page is about, in a structured, machine-readable way.
The way humans read a page is by looking at it. The way Google reads a page is by parsing the HTML and trying to figure out what the page means. Schema markup makes that easier by labelling things explicitly: “this is a business, this is its name, this is its phone number, this is its address, these are the suburbs it serves.”
You can think of it as the page providing Google a structured “about” card alongside the human-readable content, in a format Google’s been trained to read precisely.
Schema isn’t visible on the page. Users never see it. But Google measurably ranks pages with proper schema higher than pages without, particularly for local searches.
What service-area schema does specifically
There are dozens of schema types — for organisations, articles, products, FAQs, recipes, events, and so on. The one most relevant to a Melbourne service business is LocalBusiness schema with the areaServed property populated correctly.
The areaServed property tells Google which geographic areas your business serves. For a service business that travels to customers (a tradie, a mobile clinic, a home-service of any kind), this is critical. Google can’t otherwise know whether you serve a specific suburb just by looking at the page content.
Without service-area schema:
- Google guesses your service area from the address on your contact page, with maybe a kilometre or two of inferred coverage.
- If you write “servicing Melbourne and surrounds” in your copy, Google sees this as vague — it might rank you for some suburb queries but probably not consistently.
- Searches for “plumber Brunswick” show businesses with Brunswick in their schema or address before showing businesses without.
With service-area schema:
- You’ve explicitly told Google which suburbs you serve, in machine-readable form.
- Searches for “[your service] [suburb you serve]” are much more likely to surface your business.
- Combined with on-page suburb mentions and suburb landing pages, this becomes a strong “I genuinely serve this suburb” signal.
The lift on suburb-specific search rankings tends to show up within 8 to 12 weeks of adding proper schema, alongside other on-page suburb work.
What it actually looks like
Here’s roughly what service-area schema looks like in practice (simplified — your real one will have more fields):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Example Plumbing",
"url": "https://exampleplumbing.com.au",
"telephone": "+61-3-XXXX-XXXX",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Example St",
"addressLocality": "Coburg",
"addressRegion": "VIC",
"postalCode": "3058",
"addressCountry": "AU"
},
"areaServed": [
{"@type": "City", "name": "Brunswick"},
{"@type": "City", "name": "Coburg"},
{"@type": "City", "name": "Pascoe Vale"},
{"@type": "City", "name": "Reservoir"},
{"@type": "City", "name": "Thornbury"},
{"@type": "City", "name": "Northcote"},
{"@type": "City", "name": "Fairfield"},
{"@type": "City", "name": "Preston"}
]
}
</script>
The @type should match your business category — Plumber, Electrician, Dentist, HVACBusiness, Restaurant, and so on. Schema.org has a long list. Pick the most specific one that fits.
The areaServed array lists each suburb you genuinely service. Each entry is a City type with the suburb name. Use the suburb names exactly as locals write them — “Brunswick”, not “Brunswick area”.
Where it lives on the site
The schema script goes in the <head> of your HTML, ideally on every page (though the LocalBusiness schema in particular only needs to be on pages where it makes sense — the home page, the about page, the contact page, the location landing pages).
You don’t need to repeat the entire schema on every page. The home page is the most important place for it.
For a service business with suburb landing pages, you can also add more specific schema to each suburb page — referencing the City within areaServed and including a Service block for the specific service that suburb page is about. This is what serious local SEO setups look like.
What categories you can pick from
Schema.org maintains a list of business types you can use as the @type. The relevant ones for most Melbourne small businesses include:
- Trades: Plumber, Electrician, RoofingContractor, HousePainter, GeneralContractor, HVACBusiness, MovingCompany, PestControl
- Health: Dentist, MedicalBusiness, Physician, Physiotherapist, Psychologist, Optician, ChildCare
- Beauty + lifestyle: BeautySalon, HairSalon, HealthClub, DaySpa
- Hospitality: Restaurant, Cafe, Bakery, BarOrPub, Hotel
- Professional services: AccountingService, LegalService, FinancialService, RealEstateAgent, AutoRepair, ChildCare
- Catch-all: LocalBusiness (use this if nothing more specific fits)
Pick the most specific type that fits. “Plumber” is better than “LocalBusiness”. “DaySpa” is better than “HealthAndBeautyBusiness”.
How to add it
Three options, depending on your setup.
Option 1: Ask your developer. If you’ve got a designer or developer who built your site, this is an hour of their time. Send them this post, the list of suburbs you actually serve, and the business category you’ve picked. They’ll know what to do.
Option 2: Use a plugin (if you’re on WordPress). Several SEO plugins for WordPress handle schema markup, including service-area schema. The free version of most of them will do this fine. Look for “Local SEO” or “Schema” in the plugin description.
Option 3: Do it yourself. If your site has a way to add HTML to the head section (most platforms do, even Squarespace via their code injection feature), you can paste a properly-built schema block in yourself. Use Google’s Schema Markup Validator to check your schema before publishing — broken schema is sometimes worse than no schema.
The Schema Markup Validator is genuinely useful regardless of approach. It parses your schema and tells you if anything’s malformed.
What to put in it
The minimum useful schema for a Melbourne service business includes:
- Business name (exact match to your Google Business Profile)
- URL (your home page)
- Phone (in international format:
+61-3-XXXX-XXXX) - Address (street address, suburb, state, postcode)
- Business type (the specific
@typefrom the schema.org list) - Service area (the
areaServedarray with your real core suburbs) - Geo coordinates (latitude and longitude of your business — gettable from Google Maps)
For a more complete schema, you can also add:
- Opening hours
- Image (a logo or business photo)
- Reviews aggregate (if you want to display star ratings in some search results)
- Services offered (list of services with descriptions)
- Price range ($ to $$$$)
The more you add, the more Google understands about your business. But the minimum list above is the highest-impact stuff.
How long until you see results
Schema markup is one of those changes where you do the work and then wait. Google has to re-crawl the page, read the schema, re-evaluate your relevance for the searches it now thinks you’re relevant for.
Typical timeline:
- Week 1. Google re-crawls within a few days for most sites. The schema is now in Google’s understanding of your business.
- Weeks 2–6. Subtle position changes for suburb-specific searches. Often only a few positions of improvement, but consistent.
- Weeks 6–16. Bigger changes for suburbs you weren’t ranking for at all. Pages start showing up for searches they were invisible on.
- Months 4+. Compounding. The schema becomes part of why your site outperforms competitors who don’t have it.
Schema by itself doesn’t perform miracles. Combined with suburb landing pages, suburb mentions in your visible copy, and a maintained Google Business Profile, it’s one of the four or five things that distinguish a properly-optimised small business site from a generic one.
The honest version
Schema markup is one of the most under-implemented quick wins in Melbourne small business SEO. About 80% of the small business sites I audit don’t have it. The ones that do measurably outperform comparable competitors.
It takes about an hour of developer time to add. It costs essentially nothing if it’s part of an existing maintenance retainer. And it sits there quietly working for years, no further effort required.
If you don’t have it, this is one of the highest-leverage things to add this month.
If you want me to look at your current site and tell you what schema you have, what you’re missing, and what’s broken — run the free audit. It checks schema as part of the technical-SEO scan. Or for the bigger picture of how schema fits into the wider local SEO strategy, see the complete guide to local SEO for Melbourne.
The full picture
The complete guide to local SEO for Melbourne small businesses
This post covers one specific angle. The complete guide on local SEO is the long-form reference if you want the whole picture.
Read the guide
Written by Elliot Stenson. If you spot something off in this post — outdated fact, wrong assumption, or a counter-argument I should have addressed — email me and I'll update it.
Keep reading
26 May 2026 · Opinion
The real reason your Melbourne web designer ghosted you after launch
Most Melbourne web designers go quiet a month after launch. It's not flakiness — it's structural. Here's what to ask before you hire next time.
23 May 2026 · How-to
How much does a small business website actually cost in Melbourne in 2026?
An honest breakdown of what a small business website costs in Melbourne — what you get at A$3,200, what pushes it higher, and what to ignore. No 'from A$X' tease.
19 May 2026 · Opinion
Three things missing from almost every Melbourne tradie's website
I've looked at over a hundred Melbourne tradie websites this year. The same three things keep showing up missing — and they're the three quietly costing you callouts.
If this landed
Want to talk through your own site?
Fifteen minutes, no pressure, no sales pitch. I'll walk through what's working on your current site, what isn't, and what to do about it.