Most Sydney businesses think of schema markup the way they think of car insurance — vaguely necessary, easily forgotten, and hopefully someone else's job. That worked for a while. It doesn't work in 2026. Schema markup has quietly become the single most influential technical signal for how AI search platforms discover, summarise, and cite your business — and the gap between Sydney businesses who get this right and the ones who don't is now the gap between being recommended by ChatGPT and being invisible to it.
This guide is not a Schema.org reference manual. There are plenty of those, and they are mostly written by people who have never had to recover a real business from a real schema-induced ranking collapse. This guide is the consolidation of fifteen years of hands-on technical SEO work, including a recent live recovery of a Sydney site whose rankings dropped from page one to page three when its schema went sideways across 27 pages — and what we learned forensically rebuilding it. If you read one resource on structured data this year, this is the one to read.
What you will get below: the seven schema types every Sydney business needs in 2026, the specific structured-data signals that AI Overviews and ChatGPT actually pick up, eleven mistakes that quietly tank rankings (with one anonymous case study), implementation patterns for plain HTML, WordPress and Shopify, a 30-day rollout roadmap, and the exact JSON-LD blocks we use on our own commercial pages. This article is published by SEO Sydney — a Sydney-based technical SEO and AI SEO agency.
What schema markup actually is — and what most explanations miss
Schema markup is structured data: a small block of code, almost always in JSON-LD format, that sits inside the <head> or before </body> on your page and tells search engines what each piece of content on that page is. Not what it says — what it is. The difference is more important than it first seems.
When Googlebot visits a page about a Sydney plumber, it can read the words "24-hour emergency plumbing in Bondi" and reasonably infer the business. That works in 2010. In 2026, Google is competing with Perplexity, ChatGPT, and Claude for the same query, and the platform that can extract a structured business entity — name, location, hours, services, ratings — in 50 milliseconds wins the citation. Schema markup is the difference between an inference and a fact. Search engines treat facts very differently from inferences.
The standardised vocabulary lives at Schema.org, a collaborative project originally founded by Google, Bing, Yahoo and Yandex. The vocabulary defines hundreds of types — Person, Organization, LocalBusiness, Service, Article, Product, Event, FAQPage, Review, and so on — each with prescribed properties. JSON-LD is the recommended format because it sits inertly in your HTML and does not require touching your visible markup.
Here is the simplest possible schema block, for a Sydney accountant:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "AccountingService",
"name": "Smith & Co Accountants",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 George St",
"addressLocality": "Sydney",
"addressRegion": "NSW",
"postalCode": "2000",
"addressCountry": "AU"
}
}
</script>
That single block tells Google, Bing, ChatGPT and AI Overviews, unambiguously, that this is an accounting service in Sydney NSW Australia. Without it, Google has to guess from context — and in 2026, businesses who make Google guess are losing to businesses who tell Google directly.
Why schema matters more in 2026 than it ever has
The rules changed in 2024–2025, and most Sydney businesses have not updated their thinking. Three forces converged.
First, AI Overviews launched. When Google generates an AI Overview, the model needs to assemble factual claims from multiple sources at machine speed, with citations. Pages with rich, accurate structured data are dramatically more likely to be chosen as citation sources than pages without it. Our own monitoring of Sydney service queries since AI Overviews rolled out shows AI Overview citations skewing roughly 4:1 toward pages with proper LocalBusiness, FAQPage and Article schema versus pages with just on-page text. For background on how this changed, see our Google AI Overviews and AI Mode guide.
Second, generative AI search engines built their own retrieval systems. ChatGPT, Perplexity, Claude, and Gemini all run web indexes that ingest structured data. Each platform handles schema slightly differently — Perplexity treats FAQPage schema as canonical Q&A pairs, ChatGPT favours Article and Organization signals for credibility, Claude leans on Person schema for E-E-A-T attribution. The unifying truth: structured data is the lingua franca of AI retrieval. Plain text is a dialect. Our breakdown of how this differs from traditional SEO is in Generative Search vs Traditional SEO.
Third, Google's review snippet eligibility tightened. Throughout 2024–2025, Google quietly tightened the rules around aggregateRating. Pages with multiple, conflicting, or non-canonical review schemas now get all of their rich snippets suppressed — not penalised, just silently invalidated. We have personally watched a business lose every star rating in their SERPs in a single weekend because their schema went from one valid rating to two technically-different-but-semantically-the-same ratings. This is now a regular failure mode in Sydney. We wrote about a related symptom in Fake negative reviews on Google Maps — the cleanup logic is similar.
The cumulative effect: schema markup has gone from a rich-snippet enhancement to a primary discovery mechanism. Sydney businesses still treating it as optional are not just missing rich snippets — they are becoming structurally invisible to the AI tools their customers are now using to find services.
The seven schema types every Sydney business needs in 2026
You do not need to implement every schema type Schema.org defines. You need seven, and you need them done correctly. In rough order of priority for a Sydney services business:
1. Organization (or LocalBusiness)
This is the foundation. It tells search engines who you are as an entity. For a Sydney business with a physical presence — even a serviced office — use LocalBusiness (or one of its more specific subtypes like ProfessionalService, AccountingService, LegalService, MedicalBusiness). For a fully remote consultancy with no physical address, use Organization.
The non-negotiable properties for a Sydney LocalBusiness:
name— exact match to your Google Business Profile and your visible brandingaddress— full PostalAddress with streetAddress, addressLocality, addressRegion (use "NSW"), postalCode, addressCountry: "AU"telephone— in international format with country code, e.g.+61-2-XXXX-XXXXfor Sydney landlines or+61-4XX-XXX-XXXfor mobiles. Match the visible phone on your site exactly. Do not leave placeholder Xs in production schema — we have seen this happen, and Google reads the placeholder as the actual phone numbergeo— latitude and longitude. For Chippendale, Sydney that is roughly{ "latitude": -33.8843, "longitude": 151.1988 }openingHoursSpecification— array of OpeningHoursSpecification objects. Use 24-hour format and ISO day namespriceRange— use$,$$,$$$, or$$$$rather than specific dollar amountsimage— an absolute URL to your logo or premises photourl— your homepage URL@id— a stable identifier such ashttps://yoursite.com.au/#localbusinessthat you can reference from other schema blocks
This block belongs on every page of your site, not just your homepage. Sydney businesses we audit routinely have LocalBusiness schema only on their contact page or footer, which means search engines have to crawl that one page to verify the entity for every service page they encounter. Embed it everywhere.
2. Service
Each commercial service page on your site should have a Service schema describing what is offered on that specific page. This is critical for both search engines and AI search retrieval, because it disambiguates your service pages from your blog content.
A minimum Service schema:
{
"@context": "https://schema.org",
"@type": "Service",
"name": "Local SEO Sydney",
"description": "Local SEO services for Sydney businesses including Google Business Profile optimisation, map pack rankings, and citation building.",
"provider": {"@id": "https://yoursite.com.au/#localbusiness"},
"areaServed": {"@type": "City", "name": "Sydney"},
"url": "https://yoursite.com.au/services/local-seo/"
}
The provider property should reference your LocalBusiness via @id rather than re-declaring the entity. This avoids the duplicate-aggregateRating disaster we will discuss in the mistakes section. For more on local schema specifically, see our Local SEO Sydney service page and Google Business Profile Sydney implementation page.
3. WebPage and BreadcrumbList
WebPage schema should sit on every page and tell search engines what kind of page it is — a service page, an article, a contact page. Pair it with BreadcrumbList schema that mirrors your visible breadcrumb navigation. Both belong inside an @graph array along with your Organization and LocalBusiness, so they cross-reference cleanly.
The most common error we see in Sydney sites: a WebPage schema on the homepage with no dateModified. This signals to Google that nothing has changed on the page since indexing began. Always include dateModified and update it whenever you genuinely modify the page. Faking this with daily timestamps does not work — Google detects the lack of corresponding content change and starts ignoring the field.
4. FAQPage
FAQPage schema is currently the highest-leverage schema for AI Overviews and ChatGPT citations. When ChatGPT is asked "how much does SEO cost in Sydney?", it heavily prefers pages where the answer is structured as a Question/Answer pair in FAQPage schema, because the model can extract the answer with maximum confidence.
The rules for FAQPage in 2026 are stricter than in 2022. Three things matter:
- The questions in your schema must match the questions visible on the page exactly. Not approximately. Not in spirit. Word-for-word
- The answers in your schema must match the answers visible on the page in substance. Schema answers can be slightly shorter, but they cannot contain claims the visible answer does not contain
- You should not have multiple FAQPage blocks on a single page. Consolidate into one
If your FAQ schema does not match your visible FAQs, Google may suppress all rich-snippet eligibility for the page — and we have seen ChatGPT and Perplexity stop citing the page entirely as a result. This was a major issue we recently fixed across 145 pages on a Sydney site, where suburb pages had five visible FAQs in HTML but fourteen to nineteen FAQ entries in schema. The schema had been generated from a generic template years earlier and never resynced.
5. Article (with Person author for E-E-A-T)
For your blog, learning hub, or insights section, every article should have Article schema with a proper author property pointing to a Person, not just an Organization. Person schema lets you signal expertise — qualifications, professional history, areas of knowledge — which is increasingly central to E-E-A-T and to how AI platforms decide whose content to cite.
The Person block should include name, jobTitle, url pointing to an author bio page on your site, knowsAbout (an array of expertise topics), and worksFor referencing your Organization. If you have a LinkedIn profile or industry publication credits, list them in sameAs. This article is a live example: scroll the schema in this page's source and you will see the Person block for our founder, Blake Paterson.
6. AggregateRating (the one you must not duplicate)
If you have legitimate reviews — Google Business Profile, Trustpilot, ProductReview, or first-party customer reviews on your site — you can declare them with AggregateRating. This is what produces the gold star icons in SERP listings and is one of the strongest CTR boosters available.
The non-negotiable rule: one AggregateRating per page, attached to one entity, with a number that exactly matches your visible review count. If your Google Business Profile shows 14 reviews, your schema must say "reviewCount": "14". If your GBP count goes up to 16 next month, your schema must update too. We see Sydney sites with schema saying 38 reviews where the GBP shows 14. Google treats this as a credibility signal — and not in a good way.
The most damaging error we see: businesses declaring AggregateRating on both LocalBusiness and Service.provider.Organization within the same page. Google sees two ratings, declares them a conflict, and suppresses the rich snippet entirely. Always reference the rating-bearing entity by @id from the Service block:
"provider": { "@id": "https://yoursite.com.au/#localbusiness" }
Not:
"provider": { "@type": "Organization", "name": "...", "aggregateRating": {...} }
The first inherits the rating cleanly. The second creates a duplicate.
7. BreadcrumbList (the unsung hero)
Breadcrumb schema is small, simple, and the most often forgotten. It is also the schema that drives the "Home › Services › Local SEO" trail you see beneath the URL in Google's SERPs, instead of the raw URL string. Replacing a raw URL with a breadcrumb in your SERP listing is one of the easiest CTR wins available — usually a 5–9% lift in click-through rate.
Match your visible breadcrumb exactly. Use proper position numbers starting from 1. Make every item URL absolute, including the protocol.
Schema for AI search: the part everyone is missing
The conversation about schema and AI search is dominated by speculation. The actual signal patterns we see, after twelve months of monitoring Sydney service queries across Google AI Overviews, ChatGPT, Perplexity, and Gemini, are more concrete than most articles suggest. Here is what consistently works.
Entity disambiguation through @id
AI retrieval models build internal entity graphs. When you reference your business consistently across many pages with the same @id — "@id": "https://yoursite.com.au/#organization" — the model can collapse all those page references into a single canonical entity. When your @id varies across pages (or you skip @id entirely), the model treats each page as describing a possibly-different entity, and the strength of your brand signal dilutes.
Treat @id as your business's URI. Use it identically on every page. The cumulative effect over hundreds of pages is meaningful.
About and mentions
The about and mentions properties on Article schema let you explicitly tell AI models which entities or concepts your content covers. We add an about array to every learning hub article, listing the primary topics:
"about": [
{"@type": "Thing", "name": "Schema Markup"},
{"@type": "Thing", "name": "Structured Data"},
{"@type": "Thing", "name": "JSON-LD"}
]
This is currently underutilised in Australian SEO content. ChatGPT and Claude both ingest these properties when they index a page, and they help the model decide which queries to surface the page for.
Speakable for voice and audio AI
Speakable schema marks portions of your page as suitable for being read aloud by voice assistants and audio AI. It is supported by Google Assistant and increasingly relevant for ChatGPT's voice mode, where it now influences which content gets read. For service pages and FAQs, mark the most concise summary paragraph as Speakable.
Structured pricing
If you publish prices, even ranges, structure them with Offer and PriceSpecification. Use "priceCurrency": "AUD" for Australian businesses — we see plenty of Sydney sites accidentally declaring USD prices because they copied schema from a US source. AI assistants asking "how much does X cost in Sydney" are increasingly using structured price data to filter results. For more on Sydney pricing dynamics, see our SEO cost guide.
knowsLanguage and areaServed
For services with language specificity (legal services for non-English speakers, migration agents, translators) or geographic specificity (Sydney suburbs, regional NSW), declare knowsLanguage and use areaServed with multiple specific locations. Generative AI is starting to use these heavily for query routing.
Eleven schema mistakes that quietly tank Sydney rankings
This list is not theoretical. Every entry is something we have seen on a real Sydney business site, often on more than one. Some of them came from a real recovery project earlier this year — we have anonymised the business but the patterns are universal.
1. Multiple aggregateRating blocks on the same page
Discussed above. The single most common cause of "my star ratings disappeared from Google" complaints. Audit every page and ensure exactly one aggregateRating per logical entity, referenced via @id from any Service blocks.
2. FAQPage schema that does not match visible FAQs
Equal parts common and damaging. Either the schema has FAQs the page does not display, or the page has FAQs the schema does not include. Both fail Google's structured-data validity check and can trigger spam-signal flags. Audit using Google's Rich Results Test on every important page.
3. Schema for one page being copied to another page unchanged
This is the cross-page contamination disaster we recovered from earlier this year. A Sydney site had its industry guide pages all carrying schema for a single template page — every guide had a WebPage and BreadcrumbList block referencing a totally different industry's URL. Twenty-one pages were affected. Google sees this as conflicting signals and suppresses both pages' rich-snippet eligibility. The fix: regenerate schema per page, never by copy-paste.
4. Placeholder phone numbers in schema
We have seen +61-3-XXXX-XXXX in production schema on multiple Sydney sites. Google reads the literal string. Yes, AI Overviews will cite the phone number as +61-3-XXXX-XXXX. Yes, this is as bad as it sounds. Always populate, never placeholder.
5. Schema phone number that does not match visible phone number
Slightly less obvious version of the previous mistake. Visible phone is 0439 801 764; schema says +61 2 8001 1234. The mismatch damages NAP (Name, Address, Phone) consistency, which is a top-three local SEO signal. Fix the visible/schema mismatch and the local pack ranking often returns within two crawl cycles.
6. Stale dateModified across the site
Many Sydney sites set dateModified once when the page was created and never update it. After two or three years, Google treats the entire site as abandoned and crawl frequency drops. Always update dateModified on genuine content changes, and update sitemap <lastmod> dates in lockstep.
7. JSON-LD with broken syntax
Common cause: & entities inside the JSON, accidentally HTML-escaped during a CMS save. & inside JSON-LD breaks the parser silently — the rich result simply does not appear, with no error visible to the user. Always validate with Google's Rich Results Test, not just visual inspection.
8. Schema declared on robots-noindex pages
If your page is noindex, follow, schema on the page is wasted at best and confusing at worst. Save schema for indexable pages where it can do work.
9. Service schema with aggregateRating on the Service itself
AggregateRating is invalid on schema type Service in Google Review Snippet rules. Only certain types — LocalBusiness, Product, Organization, Movie, Book — are eligible. Putting aggregateRating directly on Service often causes review snippets to fail validation site-wide.
10. Multiple breadcrumb schemas on the same page
Sydney sites with cross-page contamination often end up with two BreadcrumbList blocks per page — one correct, one wrong. Google chooses the wrong one half the time, and the SERP listing shows breadcrumbs from a different page. Always exactly one BreadcrumbList per page.
11. Reusing schema from a US source without localisation
This is depressingly common in Australian sites that hire offshore developers. Schema arrives with "addressCountry": "US", "priceCurrency": "USD", and "telephone": "+1-800-XXX-XXXX". Google does not penalise this directly, but AI search platforms confidently tell users your Sydney business is based in Texas, which converts at very close to zero percent.
Anonymous case study: a Sydney services business, 27 pages of bad schema, and the recovery
This happened earlier in 2026. A Sydney-based professional services agency we will call Agency X, with strong organic rankings for several years and a respected brand, watched their primary commercial keywords drop from positions 5–11 down to positions 25–35 over a four-week window. Google Search Console showed a sudden appearance of "Review snippets — Invalid items" errors, growing from zero to ten in March. Star ratings disappeared from their SERP listings. Click-through rates fell roughly 38%.
The diagnosis took two hours. Across 27 pages, including their highest-converting commercial service pages, the schema had been corrupted. Each affected page carried JSON-LD blocks describing a different page. The architects industry guide had a complete schema set for the dentists guide embedded in it. Six service pages had a duplicate Service block belonging to the enterprise SEO page. Sixteen commercial pages had two AggregateRating blocks, one on LocalBusiness and one on Service.provider.Organization, declaring slightly different numbers.
The cause was a multi-file patching error during an earlier site update. A "template" set of JSON-LD blocks had been injected across pages without per-page customisation. The patches had passed visual QA — every page looked correct in a browser — but the schema validators had not been run.
The recovery was incremental and verified at each step:
- Patch one page (the architects guide) as a test, deploy, verify in production with a cache-busted URL, run Rich Results Test
- Patch the remaining 20 contaminated industry guide pages
- Patch the six service pages, including consolidating the duplicate AggregateRating to a single instance per page via @id reference
- Sweep all 165 instances of stale
reviewCountacross the site to match the current Google Business Profile count - Resync 145 pages where FAQPage schema did not match the visible FAQs
- Bump
dateModifiedacross 324 schema instances to current date and update sitemap<lastmod>on 191 URLs - Restore missing WebPage, BreadcrumbList, and Service schemas on two service pages
- Site-wide cleanup of 71 wrong telephone values, including six instances of an entirely incorrect phone number
The technical recovery took roughly twelve hours of focused work spread across one week. Within fourteen days of the final deploy and a request for re-indexing through Google Search Console, the "Multiple aggregate ratings" error count dropped to zero, review snippets reappeared in the SERP, and primary commercial keywords began returning toward their pre-incident positions. The business had not lost the rankings — they had lost Google's confidence in their structured data signals, which had cascaded into ranking suppression. Schema is not just a rich-snippet feature. It is now part of the trust calculus.
How to audit your existing schema
Before adding new schema, audit what you have. Most Sydney businesses we work with have some schema already, and starting with a clean diagnosis prevents adding errors on top of errors.
Step 1: Run Google's Rich Results Test on every important page
Visit search.google.com/test/rich-results and paste the URL of each commercial page (homepage, every service page, contact, top blog posts). Note every error and warning. Errors must be fixed; warnings should be triaged but are usually optional.
Step 2: Run Schema.org's Markup Validator
Validator at validator.schema.org. This catches structural issues that Google's tool sometimes misses, particularly invalid property combinations and malformed nesting.
Step 3: Check Google Search Console reports
Inside GSC, navigate to Enhancements in the left rail. Each schema type with errors gets its own report — Breadcrumbs, FAQ, Logos, Reviews, Sitelinks Search Box, and so on. Pay special attention to "Invalid" counts that have appeared recently — those are the active fires.
Step 4: Crawl your site for inconsistencies
Use Screaming Frog (free for under 500 URLs) with structured-data extraction enabled, or a custom script that walks your sitemap and parses every JSON-LD block. Look for:
- Multiple aggregateRating per page
- Multiple FAQPage per page
- Multiple BreadcrumbList per page
- Phone numbers, addresses or names that vary across pages
- Pages where schema URLs reference a different page than the page they sit on
Step 5: Verify against your real-world data
Match every claim in your schema against ground truth. Phone matches Google Business Profile. Review count matches GBP. Hours match the door. Address matches the office. Price ranges match what you actually charge. AI search platforms will surface these claims to users, and the cost of being wrong is conversion-affecting.
Implementation: plain HTML, WordPress, Shopify, Squarespace
The right implementation path depends on your CMS. Schema is portable — a JSON-LD block works the same way on every platform — but how you inject it varies.
Plain HTML / static sites
Easiest case. Add <script type="application/ld+json">...</script> blocks directly in the <head> of each HTML file, or just before </body>. Both work. Use a templating system or static site generator (Eleventy, Astro, Hugo) to inject the same Organization and LocalBusiness blocks on every page automatically, with per-page WebPage, BreadcrumbList, Service, and Article blocks customised to the page.
WordPress
WordPress has many SEO plugin options. Our honest comparison is in Best SEO Plugin for WordPress. For schema specifically:
- Rank Math has the most flexible schema builder — supports custom JSON-LD blocks on a per-page basis with an intuitive UI
- Yoast SEO Premium generates a clean default Organization + WebPage + BreadcrumbList graph automatically; schema customisation requires the Premium tier
- Schema Pro is a dedicated schema plugin if you want to keep your SEO and schema concerns separated
Whichever plugin you choose, audit the output. Plugins generate schema based on what you tell them about your business, and they can produce surprising defaults — particularly for sites migrated from another system. We've seen Yoast generate Organization schema for a sole trader because the migration imported the wrong business type.
Shopify
Shopify generates default Product schema automatically, which is usually adequate for product pages. The gap is everywhere else — pages, blog posts, your homepage. Use a third-party schema app (JSON-LD for SEO is a popular choice) or hand-edit your theme's theme.liquid to inject Organization and LocalBusiness blocks.
Shopify's default Product schema is lean. For competitive eCommerce categories, you will want to enhance it with aggregateRating (from your reviews app), brand, availability with proper schema enums, and shippingDetails with Australian shipping zones. Our eCommerce SEO Sydney service page covers Shopify schema specifically.
Squarespace, Wix, and other hosted platforms
These platforms vary widely. Squarespace 7.1 lets you inject custom code into the page header — use this to add JSON-LD. Wix has built-in schema for some elements but limited customisation. Webflow lets you embed code freely.
For platforms with limited code injection, focus on what the platform does generate automatically and clean up obvious issues (set the right LocalBusiness type in business settings, ensure phone and address are populated correctly). For deeper schema, you often need to migrate to a more flexible CMS — see our website builder ranking for SEO for the full comparison.
The 30-day schema implementation roadmap
If your schema is currently a mess and you do not know where to start, here is the sequence we recommend, in priority order.
Days 1–3: Audit and triage
Run Rich Results Test on your top 20 pages. List every error and warning. In Google Search Console, screenshot every Enhancement report. Note the current state — you will want a baseline to measure recovery against.
Days 4–7: Fix the active fires
Anything flagged as "Invalid" in GSC is an active fire. Fix these first. Most commonly that means resolving multiple aggregateRating blocks, fixing FAQPage mismatches, or correcting broken JSON-LD syntax. Each fix should be deployed on its own and verified live before the next.
Days 8–14: Build the foundation graph
Establish a single canonical Organization or LocalBusiness schema with a stable @id. Add it to every page of the site via your CMS or template. Add a corresponding WebPage schema per page, with proper @id, isPartOf reference to your Organization, dateModified, and breadcrumb pointer.
Days 15–21: Page-specific schemas
Add Service schema to every commercial service page, referencing your LocalBusiness via @id. Add Article schema with Person author to every blog post. Add Product schema to every product page (if eCommerce). Add FAQPage schema to every page with visible FAQs — and verify schema/visible match exactly.
Days 22–26: Enhance for AI search
Add about arrays to articles. Add knowsLanguage and knowsAbout to Person schemas. Add areaServed with multiple suburb-specific entries to local services. Mark Speakable portions of FAQ and summary content. These are the optimisations that move you from "indexed by AI" to "preferred by AI."
Days 27–30: Validate, submit, monitor
Re-run Rich Results Test on the same 20 pages. Confirm zero errors. Submit your top URLs through Google Search Console URL Inspection for re-indexing. Resubmit your sitemap with current <lastmod> dates. Set up weekly monitoring on the Enhancements reports — schema regressions tend to creep in via routine site changes if no one is watching.
Schema and Google Business Profile: the local SEO connection
For Sydney businesses with a physical location, your LocalBusiness schema and your Google Business Profile are two halves of the same entity. They must match, and they must reinforce each other.
Three rules govern the GBP-schema relationship:
Name, address, and phone must be byte-identical across schema, GBP, and visible website. Google verifies this match on every crawl. The most common error is the address field — schema has "Suite 32/40 Meagher St" while GBP has "32/40 Meagher Street". Pick one and use it everywhere.
Review counts must align. If GBP shows 14 reviews, schema must show 14. Update schema whenever your GBP count moves. Yes, this is a maintenance burden — building a tiny script that pulls from the Google Business Profile API and updates your schema nightly is worth the effort if you take reviews seriously.
Categories should align with schema type. If your GBP primary category is "SEO Agency", your schema type should be ProfessionalService or Organization, not a misaligned category. We've seen mismatches where GBP says "Marketing Consultant" and schema says "MedicalBusiness" — usually a copy-paste error from another client. The mismatch is interpreted as a credibility issue.
Done correctly, the relationship between schema and GBP is multiplicative. Your map pack rankings, organic local rankings, and AI Overview citations all reinforce each other. Done badly, they cancel each other out.
Schema for industry-specific Sydney businesses
Different business types have different schema needs. Some quick guidance for the industries we work with most often in Sydney.
Trades and home services (plumbers, electricians, builders): use Plumber, Electrician, HomeAndConstructionBusiness as your specific LocalBusiness subtype. Add areaServed for every suburb you cover. Include openingHoursSpecification with 24-hour entries if you offer emergency service. See our SEO for Sydney tradies guide.
Medical and dental: use Dentist, Physician, MedicalBusiness subtypes. Add medicalSpecialty. Be careful with reviews — health practitioners have stricter Google rules around solicitation. AggregateRating must be from a permitted source. Our medical SEO breakdown covers the E-E-A-T side.
Legal services: use LegalService or Attorney. Add knowsAbout with practice areas. Include memberOf referencing law society memberships. Author schemas for articles must include credentials.
eCommerce: combine Organization for the brand entity, Product per SKU, BreadcrumbList per category, Offer with AUD currency and current pricing, aggregateRating per product (not per category), and Article schema for any content marketing. Heavy schema, but it pays back.
Hospitality and food: use Restaurant, Cafe, Hotel, etc. Add servesCuisine, menu URL, acceptsReservations, priceRange. Restaurant schema is exceptionally well-handled by AI search and Google Maps.
Professional services and B2B: ProfessionalService with proper knowsAbout, comprehensive Service schemas per offering, and Person schemas with strong E-E-A-T signals are the foundation. Most of our own SEO Sydney pages use this pattern.
Schema myths to ignore
Five claims you may have read elsewhere that are not true in 2026.
"Schema markup directly improves rankings." No. Schema does not directly improve rankings in the way meta titles or backlinks do. What it does is make your page more visible in rich results, more eligible for AI citations, and more trustworthy to search engines — all of which indirectly improve traffic. The distinction matters because it affects how you measure schema's impact.
"You only need schema on important pages." No. Foundation schema (Organization, LocalBusiness) belongs on every page. The cost is negligible. The benefit is consistent entity reinforcement.
"Microdata or RDFa works just as well as JSON-LD." Technically true; practically false. Google has stated repeatedly that JSON-LD is its preferred format. Microdata clutters HTML and is harder to maintain. Use JSON-LD.
"Schema markup gets you penalised if you over-do it." Not really. Misleading or inaccurate schema can be ignored, and aggressively spammy schema (e.g. fake reviews) can lead to manual actions. But there is no penalty for too much accurate schema. The closest you get is wasted bytes if you mark up content nobody searches for.
"AI Overviews don't use schema, only content." False. Multiple Google representatives have confirmed that AI Overviews use structured data as a primary input for source selection. Our own monitoring confirms a strong correlation between schema completeness and AI Overview citation frequency.
Tools we actually use
If we had to pick the schema tools we genuinely use day-to-day, this is the short list.
- Google Rich Results Test — primary validator for everything Google-eligible
- Schema.org Markup Validator — catches structural issues Google sometimes misses
- Screaming Frog — bulk schema extraction across a whole site
- Schema App Structured Data Tool — paid; useful for very large sites with complex schema needs
- JSON-LD Playground — for testing and visualising graph relationships during schema design
- Browser DevTools — every browser's Sources tab lets you inspect rendered JSON-LD on any page, which is critical for debugging client-rendered schema
The free tools are sufficient for most Sydney businesses. Paid tools become worth it once you're managing schema across 500+ pages or you need automated monitoring for schema regressions.
How to know schema is working
Three measurable signals tell you your schema is doing what it should.
Signal one: SERP feature appearance. Search for your brand and your main service queries. You should see breadcrumbs in your listing instead of raw URLs. You should see star ratings if you have reviews. You should see FAQ rich snippets if you have FAQ pages. If any of these are missing despite valid schema, debug further — usually it is a recent error or a stale rich-result eligibility flag.
Signal two: AI Overview citations. Search your service queries with AI Overviews enabled. Are you cited as a source? Look at the citation card — are the facts accurate? Does it pull your phone number, address, hours correctly? If yes, schema is doing its job. If no, the model is probably falling back to inferred content.
Signal three: ChatGPT and Perplexity citations. Ask "best [your service] in Sydney" in ChatGPT (with web browsing on) and Perplexity. Are you mentioned? Is the description Pulled from your structured data accurate? This is the newest measurement — most Sydney businesses are not yet checking this regularly, which means the businesses that are have an early advantage.
The bottom line for Sydney businesses in 2026
Schema markup has crossed the threshold from "nice to have" to "infrastructure". The Sydney businesses that will dominate organic search and AI search over the next three years are not the ones writing more content — content production has been commoditised by generative AI. They are the ones whose technical signals are clean, consistent, and machine-readable. Schema is the cleanest signal you control.
If you take one action from this article, it is this: open Google's Rich Results Test in another tab right now, paste your homepage URL, and read what comes back. Whatever errors are flagged, fix them this week. The longer broken schema sits on your site, the longer Google's confidence in your signals erodes, and the longer it takes to recover the rankings you lost.
For Sydney businesses who want a structured audit and implementation rather than figuring it out from scratch, our team specialises in exactly this work — including the kind of large-scale schema recovery described in the case study above. Get in touch through our contact page, or read more about our approach in our AI SEO Sydney and technical SEO Sydney service pages.
Need a complete schema audit and implementation?
We diagnose, fix, and continuously monitor schema markup for Sydney businesses competing in AI search and Google rich results. Real recoveries, real ranking improvements, no template-driven shortcuts.
Talk to a specialist