SEO & GEO · By Arav Sahni · FutureSource
Schema Markup for Service Pages: How to Win AI Overviews
TL;DR : In 2026, structured data is no longer optional for AI search visibility. This guide covers Service, FAQPage, LocalBusiness, and HowTo schema in JSON-LD, bilingual schema for Montreal, common mistakes, and how to validate everything with Google's Rich Results Test.
Structured data — schema markup — has been a best practice in SEO for years. In 2026, it has crossed from best practice to table stakes for any business that wants visibility in AI-powered search. Google AI Overviews, Bing Copilot, and ChatGPT Search all preferentially cite content that is semantically unambiguous: pages where the machine does not have to infer what a business does, where it operates, what it charges, or how its process works — because the page tells it explicitly in a structured format the machine can parse without guessing.
For Montreal service businesses, this means that a competitors page with complete schema markup will be cited in an AI Overview for a relevant query before your page, even if your content is longer or your domain authority is higher — because the AI can extract a clean, quotable answer from their structured data and cannot do the same from your unstructured prose. This guide covers the schema types that matter most for service pages, how to implement them correctly in JSON-LD, the bilingual considerations specific to Montreal, and the validation workflow that confirms Google has successfully read your markup.
Why Schema Matters More in 2026
Google AI Overviews (the AI-generated answer blocks that appear at the top of search results for many queries) draw from two sources: the Knowledge Graph (Google's internal database of verified entity data) and content that is sufficiently structured and authoritative for the system to extract a confident, direct answer. Pages with complete schema markup signal both things simultaneously: that the content represents a real, verifiable entity (your business) and that specific facts about that entity (services, location, hours, process, FAQ answers) are machine-readable without ambiguity.
The practical result: BrightEdge research in 2025 found that pages with complete structured data were significantly more likely to be cited in AI Overviews than equivalent pages without markup. For local service businesses, the FAQPage schema is particularly powerful — AI systems extract FAQ answers as direct quotes when the answers are written as complete, self-contained sentences that answer a specific question without requiring surrounding context.
JSON-LD vs Microdata: Always Choose JSON-LD
There are two primary methods for embedding schema markup in a web page: JSON-LD (JavaScript Object Notation for Linked Data) and Microdata (HTML attribute-based markup). Google supports both, but recommends JSON-LD, and for good reason. JSON-LD lives in a script tag in the page head or body — it is completely separate from the visible HTML, which means you can add, update, or debug schema without touching the page design or content. Microdata requires embedding schema attributes directly into the HTML elements that display the content, which creates tight coupling between the data structure and the presentation layer that makes both harder to maintain.
All examples in this guide use JSON-LD. If your site currently uses Microdata, migrating to JSON-LD is a worthwhile investment that simplifies future schema maintenance and reduces the risk of validation errors caused by HTML restructuring.
Service Schema: The Foundation for Service Pages
The Service schema type (schema.org/Service) should be implemented on every service page of your website. It tells Google and AI systems unambiguously what the page is about, who provides it, where it is available, and what it costs. The minimum viable Service schema for a Montreal business includes name, description, provider (linked to your LocalBusiness entity), areaServed (the geographic area where you deliver the service), and offers (pricing information).
- name: the exact name of the service as you want it to appear in search results — "Commercial HVAC Installation" not just "HVAC."
- description: a 150–300 character description of the service, written as a complete sentence that could stand alone as an AI Overview citation.
- provider: link to your LocalBusiness schema using the @id property to create an entity connection. This tells Google the service is provided by a verified local business entity.
- areaServed: use an array of GeoShape or City objects listing the specific Montreal boroughs or municipalities you serve — "Montréal," "Laval," "Longueuil," "Brossard."
- offers: include a Offer object with price (or priceRange), priceCurrency ("CAD"), and availability. Even a price range ("$500–$2,000") is better than omitting price entirely.
- serviceType: a short categorical label for the service type that helps AI systems classify your offering — "Residential Plumbing," "Corporate Tax Services," "Brand Identity Design."
FAQPage Schema: Your Direct Path to AI Overview Citations
FAQPage schema (schema.org/FAQPage) is the single highest-impact schema type for AI Overview citation eligibility. When Google's AI system encounters a query that matches a question in your FAQPage schema, it can extract your answer as a direct quote — attributed to your page — and surface it in the AI Overview. The mechanism that makes this work is that FAQ answers in schema markup are treated as standalone, citable statements rather than contextual prose that requires surrounding paragraphs to be understood.
The critical principle for writing FAQ answers that get cited: every answer must be a complete, self-contained sentence that fully answers the question without requiring the reader to know anything else about the page. "We serve the Greater Montreal Area" is not a complete answer to "What areas do you serve?" — "We serve residential and commercial clients across Montreal, Laval, Longueuil, and the South Shore, with same-day service available in most Montreal boroughs" is a complete answer. Write every FAQ answer as if it will be read in isolation, extracted from all context, because in AI Overviews it will be.
- Quantity: implement 4–8 FAQ items per page. More than 10 begins to dilute the signal; fewer than 4 limits your citation surface area.
- Question format: write questions exactly as a prospect would ask them in a search or voice query — "How much does kitchen renovation cost in Montreal?" not "Kitchen renovation cost."
- Answer length: 40–120 words per answer is the optimal range for AI citation. Shorter answers lack the context for the system to assess confidence; longer answers are truncated in AI Overviews.
- Avoid answer overlap: each FAQ should address a genuinely distinct question. Duplicate or near-duplicate Q&A pairs in schema are treated as low-quality signals.
LocalBusiness Schema: NAP, Hours, and Coordinates
LocalBusiness schema (schema.org/LocalBusiness) is the entity-level schema that establishes your business as a verifiable real-world entity with a specific physical presence. For Montreal service businesses, this is the schema type that feeds your Knowledge Panel in Google Search and aligns your website's entity signals with your Google Business Profile. Consistent NAP (Name, Address, Phone) between your LocalBusiness schema, your GBP, and your citations is one of the key local ranking signals.
- @type: use the most specific subtype available — "Plumber," "LegalService," "AccountingService," "HomeAndConstructionBusiness" — rather than the generic "LocalBusiness."
- name: your exact business name as registered and as it appears on your GBP.
- address: use PostalAddress with streetAddress, addressLocality ("Montréal"), addressRegion ("QC"), postalCode, and addressCountry ("CA").
- telephone: your local Montreal number in +1-514-xxx-xxxx format.
- openingHoursSpecification: use OpeningHoursSpecification objects for each day-of-week group — more precise than the shorthand openingHours string and better supported by AI systems.
- geo: include GeoCoordinates with latitude and longitude. For service-area businesses without a public address, use the coordinates of your service territory centroid.
- sameAs: an array of URLs to your authoritative profiles — Google Business Profile, LinkedIn, Yelp, Facebook. This entity verification signal is critical for AI systems to connect your schema entity to your real-world business.
HowTo Schema for Process Pages
HowTo schema (schema.org/HowTo) is underused by service businesses and represents a genuine opportunity for AI Overview citation on process-oriented queries. Any page that describes how a service works — "How our home inspection process works," "What happens during a brand identity project," "Steps in a commercial lease negotiation" — can be marked up with HowTo schema to make the process machine-readable as an ordered list of steps.
Each step in a HowTo schema includes a name (a short label), text (a detailed description), and optionally an image. When an AI system encounters a query like "what happens during a home inspection in Montreal," a page with properly marked-up HowTo schema for a "Our Home Inspection Process" page will be a stronger citation candidate than a page describing the same process in unstructured prose paragraphs. The step-level structure allows the AI to extract individual steps as standalone facts.
Bilingual Schema for Montreal Businesses
Montreal businesses serving both French and English markets have a unique schema opportunity that most competitors do not use: language-specific schema properties that signal multilingual capability to AI systems. Implementing these correctly increases citation eligibility in both French and English AI Overview results.
- knowsLanguage: add a knowsLanguage property to your LocalBusiness schema listing both languages — "en" and "fr." This explicitly signals bilingual capability to Google's entity graph.
- inLanguage: on French-language pages, add inLanguage: "fr-CA" to the page's main schema entity. On English pages, inLanguage: "en-CA." This tells AI systems which language audience the page serves.
- Separate FAQ schema by language: your French service pages should have French FAQ schema with questions written in Quebec French — not translated from English schema. French-language AI Overviews cite French-language structured data.
- alternateName: if your business operates under both an English and French name, include both in the alternateName array of your LocalBusiness schema.
- areaServed with multilingual geographic names: in your French schema, use French borough names (Plateau-Mont-Royal, Rosemont–La Petite-Patrie). In English schema, use English names. This improves matching to French-language local queries.
Common Schema Mistakes That Kill Visibility
Schema mistakes do not just fail to help — some of them actively trigger manual or algorithmic penalties from Google. The most common and damaging mistakes on Montreal service websites:
- Using the wrong @type. Using LocalBusiness instead of a specific subtype like "Plumber" or "LegalService" is a missed opportunity, but using FAQPage on a page that does not actually contain visible FAQ content is a policy violation — Google requires that all schema markup reflect content actually present on the page.
- Missing @id. The @id property is how schema entities reference each other. Without an @id on your LocalBusiness and Service entities, you cannot create the entity graph connections (provider links, etc.) that make your schema semantically meaningful to AI systems.
- Forgetting sameAs for entity verification. Without sameAs links to your GBP and other authoritative profiles, your LocalBusiness schema is an isolated assertion — Google cannot verify it against external signals. Unverified entities are treated with lower confidence by AI systems.
- FAQ answers that are incomplete or contextual. An FAQ answer of "Yes, we do" or "It depends on the project" provides zero citation value. Every answer must be independently comprehensible.
- Duplicate schema types on the same page. Multiple competing FAQPage or Service schema blocks on one page confuse crawlers and typically result in one being ignored. Consolidate all FAQ items into a single FAQPage block.
- Not updating schema after content changes. If you change your service area, hours, or pricing and update the page content but forget the schema, your structured data becomes factually inaccurate — which Google treats as a quality signal failure.
How to Validate with Google Rich Results Test
The Google Rich Results Test (search.google.com/test/rich-results) is the official validation tool for structured data. Paste your page URL or the raw JSON-LD code directly and the tool will confirm whether the schema is syntactically valid, identify any missing required properties, and show a preview of how the rich result will appear in search. Run this test every time you add or modify schema on a production page.
The Schema.org Validator (validator.schema.org) is a complementary tool that checks schema against the schema.org specification rather than Google's implementation. Use both: Google Rich Results Test confirms Google-readability; Schema.org Validator confirms specification compliance and catches type errors that the Google tool sometimes misses. Google Search Console also surfaces structured data errors in the "Enhancements" section — subscribe to the daily digest emails so errors are flagged within 24 hours of deployment.
A Practical JSON-LD Example for a Montreal Service Business
Below is the structure of a complete JSON-LD implementation for a Montreal HVAC company's furnace installation service page. This covers the four schema types discussed in this guide in a single integrated script block: LocalBusiness (the entity), Service (the specific service), FAQPage (the Q&A), and the entity graph connections between them via @id references.
- @context: always "https://schema.org".
- @graph: use the @graph array to combine multiple schema types in a single script block — cleaner than multiple script tags and allows shared @id references between entities.
- LocalBusiness @id: set to your canonical website URL + "#business" (e.g., "https://yourdomain.com/#business"). All Service and other entity schemas reference this @id in their provider property.
- Service @id: set to the canonical URL of the service page + "#service" (e.g., "https://yourdomain.com/services/furnace-installation/#service").
- FAQPage: include the mainEntity array with Question and acceptedAnswer objects. Each Question @type is "Question," each answer @type is "Answer" with text property.
- Validate the complete block in Google Rich Results Test before deploying to production. A single JSON syntax error (misplaced comma, unclosed bracket) silently invalidates the entire block.
Frequently Asked Questions
- What schema types are most important for a Montreal service business in 2026?
- The four essential schema types for a Montreal service business are LocalBusiness (or a specific subtype like Plumber or LegalService), Service (one per service page), FAQPage (on every page with FAQ content), and HowTo (on process or methodology pages). LocalBusiness establishes your entity; Service describes what you offer; FAQPage is the highest-impact schema for AI Overview citations; HowTo marks up step-by-step processes that AI systems can cite for procedural queries.
- Do I need separate schema markup for my French and English pages?
- Yes. Your French service pages should have French-language schema with questions written in Quebec French, French geographic names in areaServed, and inLanguage: "fr-CA" on the main entity. Your English pages should have English-language schema with inLanguage: "en-CA." Add knowsLanguage: ["en", "fr"] to your LocalBusiness schema to explicitly signal bilingual capability to Google's entity graph, which improves citation eligibility in both French and English AI Overviews.
- How do I know if Google has successfully read my schema markup?
- Use the Google Rich Results Test (search.google.com/test/rich-results) — paste your page URL or raw JSON-LD and the tool shows whether the markup is valid, identifies missing required properties, and previews how rich results will appear. Also check Google Search Console under Enhancements, where Google reports any structured data errors or warnings it finds during crawling within a few days of deployment.
Sources & References
- Schema.org Documentation — Schema.org
- Introduction to Structured Data — Google
- How Google Search Works: AI Overviews — Google
Related reading
- Bilingual SEO in Montreal: Ranking in Both Languages
- Core Web Vitals: The Technical SEO That Moves Rankings
- Generative Engine Optimization: Getting Cited by AI
Related service: SEO & GEO.
Written by Arav Sahni, FutureSource — Montreal. Book a strategy call.