Schema markup is one of those things that most business owners have heard of, a few understand, and very few have implemented correctly. It's also one of the highest-leverage technical SEO tools available to a local service business — because so few competitors are doing it well. In Tucson, a dentist or contractor with properly implemented structured data appears differently in search results than the same business without it, regardless of whether their content is stronger.

This guide will explain what schema markup is, which types matter most for local service businesses, how to implement it correctly, and how to verify it's working. We've implemented structured data for dozens of Tucson businesses — dental practices, HVAC companies, law firms, med spas — and the patterns in this guide reflect what actually moves the needle in local search, not what shows up in a generic SEO checklist.

Key takeaways

Schema markup is code you add to your website that tells Google what your pages mean in a structured, machine-readable format. It doesn't directly change rankings for most types, but it enables rich results (star ratings, FAQ dropdowns, business details) in search results — which increases click-through rate, which does affect rankings. For local businesses, LocalBusiness schema is the most important type to get right.

01What schema markup is and how it works.

1.1What is schema markup, in plain terms?

Schema markup is a vocabulary of structured code — using a standardized format called JSON-LD — that you add to your website's HTML to tell Google what your content means, not just what it says. A webpage about a dental practice says the same words whether it's a dentist's website or a dental school's informational article. Schema markup lets you explicitly tell Google: "This is a DentalClinic, located at this specific address in Tucson, with these hours, this phone number, and this aggregate review rating." Google uses that structured information to populate rich results in search and to build a more accurate understanding of your business.

1.2What are "rich results" and how does schema enable them?

Rich results are enhanced search listings that display more than just a blue link and meta description. They include: star ratings and review counts below a listing; FAQ dropdowns that expand directly in search results; breadcrumb navigation instead of URL; sitelinks that show sub-pages beneath the main listing; and knowledge panel information (hours, phone, address) appearing alongside or instead of a standard listing. Each type of rich result requires specific schema markup to be eligible. Without the schema, Google won't show the enhancement even if your content qualifies. With the schema implemented correctly and validated, you're eligible — though not guaranteed.

1.3Does schema markup directly affect my Google ranking position?

Mostly indirectly. Google has confirmed that for most schema types, structured data doesn't directly boost ranking position. What it does is: enable rich results that increase click-through rate (CTR); help Google understand your pages more accurately for topic matching; and strengthen local signals that contribute to Local Pack prominence. Higher CTR from rich results is a feedback signal that can improve rankings over time. More accurate topical understanding helps you rank for the right searches. For local businesses, the most direct impact is from LocalBusiness schema contributing to the Google Business Profile completeness signal.

1.4What format should schema markup be in?

JSON-LD is Google's recommended format and the easiest to implement correctly. JSON-LD is a JavaScript script block placed in the page's <head> or <body> — it doesn't affect the visible page at all, only the machine-readable layer. The alternative formats — Microdata and RDFa, which embed schema attributes directly in HTML tags — work but are harder to maintain because they're woven into the page's structure. JSON-LD keeps schema code separate from display code, making it easier to update, validate, and carry through a redesign. Every schema implementation we do uses JSON-LD.

1.5How do I check if my site already has schema markup?

Three ways: (1) Google's Rich Results Test (search.google.com/test/rich-results) — enter your URL and it shows which schema types are detected and whether they're valid. (2) Schema Markup Validator (validator.schema.org) — more permissive, tests for any schema.org markup not just Google's supported types. (3) View source on your page and search for "@context" or "application/ld+json" — if neither appears, there's no JSON-LD schema on the page. Most page-builder sites either have no schema or have inaccurate schema from a generic SEO plugin that doesn't understand your specific business type.

02Which schema types matter for Tucson service businesses.

2.1What are the most important schema types for a local Tucson service business?

In priority order: (1) LocalBusiness (or a specific subtype — DentalClinic, HomeAndConstructionBusiness, LegalService, etc.) on the homepage and contact page — the most important for local search signals. (2) Service on each service page — helps Google understand what specific services you offer and their descriptions. (3) FAQPage on any page with FAQ content — enables FAQ rich results in search (expandable Q&A dropdowns) and improves zero-click visibility. (4) Review / AggregateRating on service pages where you display testimonials — enables star ratings in search results. (5) BreadcrumbList on all pages — replaces URL display with a cleaner navigation path in search results.

2.2Are there schema types that are commonly over-implemented for no real benefit?

Yes. WebPage schema on every page type without specific properties adds markup overhead without enabling any rich results — it's noise. Article schema on service pages (they're not articles) is inaccurate and may mislead Google. SpeakableSpecification schema — intended for voice search — has limited practical impact for local service businesses and is rarely implemented correctly. HowTo schema works for genuinely instructional content but doesn't belong on service description pages. Before adding any schema type, ask: does this type enable a specific rich result in Google's supported list, and does my content actually match this type? If no to either, skip it.

2.3Should every page on my site have schema, or just the most important ones?

Schema should be on every page where it's accurate and meaningful — not on every page by default. The homepage and contact page need LocalBusiness schema. Every service page needs Service schema. Every page with FAQ content needs FAQPage schema. Every page with visible review content needs Review or AggregateRating schema. Blog posts and informational articles can use BlogPosting or Article schema if they have author and publication date information. Pages that are purely navigational (category archives, tag pages) don't need schema beyond BreadcrumbList. Quality and accuracy of schema matters more than coverage.

Builder warning

Generic SEO plugins (Yoast, RankMath) add basic schema automatically — but "automatic" doesn't mean "accurate." A plugin that adds LocalBusiness schema to your site without knowing your specific business type, service area, or hours is adding generic markup that may be less useful than no markup at all. Always audit what your plugin is outputting with Google's Rich Results Test. Inaccurate schema can be flagged as spam.

2.4Does schema help with voice search results?

Schema makes it easier for Google to surface your business in voice search results because structured data provides explicit, machine-readable answers. A Tucson HVAC company with properly implemented LocalBusiness schema (including phone, hours, and service area) is more likely to be surfaced when someone asks a voice assistant "find an HVAC repair company near me open right now" than a competitor whose hours and service area aren't structured. FAQPage schema is particularly relevant — voice assistants often pull directly from FAQ structured data to answer questions. It's not a guarantee, but it's the most you can do to be eligible.

2.5How often should schema markup be updated?

Schema should be updated whenever the data it describes changes: business hours, service offerings, phone number, service area, pricing information. Beyond reactive updates, audit your schema every six months — the schema.org vocabulary updates periodically, and Google's supported types evolve. FAQPage content should reflect your current most-common questions (which change as your business and your customers' questions change). AggregateRating schema should reflect current review counts and scores — not year-old numbers that no longer match visible review data. Stale or inaccurate schema is worse than no schema.

03LocalBusiness schema in depth.

3.1What properties should LocalBusiness schema include?

A complete LocalBusiness schema for a Tucson service business should include: @type (the specific business type — DentalClinic, Plumber, LegalService, etc., not just "LocalBusiness"); name; url; telephone; address (with streetAddress, addressLocality "Tucson", addressRegion "AZ", postalCode, addressCountry "US"); geo (latitude and longitude — adds precision to location signals); openingHoursSpecification (structured hours for each day); priceRange ($, $$, $$$); image; and sameAs (URLs of your Google Business Profile, Yelp listing, and other authoritative citations). Each additional accurate property strengthens the signal — missing properties are missed opportunities.

3.2Does my LocalBusiness schema need to match my Google Business Profile exactly?

Yes — consistency matters. The NAP (Name, Address, Phone) in your LocalBusiness schema should match your Google Business Profile exactly — same formatting, same phone number, same business name. Inconsistencies between the two create a trust signal conflict that can weaken local search signals. If your business name on the website is "Tucson Plumbing Co." but your GBP listing says "Tucson Plumbing Company," that's a discrepancy worth fixing. Exact match reinforces citation accuracy; discrepancy introduces ambiguity that Google resolves by discounting conflicting sources.

3.3What's the difference between LocalBusiness schema and Service Area Business schema?

LocalBusiness schema is designed for businesses with a physical location that customers visit (or that operates from a fixed address). Service Area Business schema — using the areaServed property — indicates businesses that serve customers at their location without a public-facing physical premises. For most Tucson contractors, home services, and field-service businesses, the correct approach is LocalBusiness with areaServed property added, listing specific cities or ZIP codes in the service area. The physical address is still included (it's your business's registered or operating address), but areaServed clarifies that you don't require customers to come to you.

Schema markup doesn't change what your site says — it changes what Google understands about what your site says. That's the distinction that matters for local search.

3.4What specific LocalBusiness subtypes should Tucson businesses use?

Use the most specific type available. Schema.org has dozens of LocalBusiness subtypes: DentalClinic (not just MedicalBusiness); Plumber, Electrician, HVACBusiness, Locksmith (all under HomeAndConstructionBusiness); LegalService, Attorney; InsuranceAgency; Restaurant; Optician; MedSpa. Using the most specific subtype tells Google exactly what category of business this is, which improves topic matching for category-specific searches. A Tucson dentist who uses DentalClinic type is explicitly telling Google this is a dental practice — not just a healthcare business. That specificity matters for "dentist Tucson" searches.

04FAQPage, Review, and Service schema.

4.1What is FAQPage schema and how does it appear in search results?

FAQPage schema marks up a list of questions and answers on your page so Google can display them as expandable accordion items directly in search results — beneath your main listing, before a user ever clicks to your site. This is called a rich result. A Tucson law firm's FAQ page with properly implemented FAQPage schema might show three to four expandable questions in Google results, each with the full answer visible on click — without the user leaving search. This is valuable in two ways: it occupies more search result real estate, and users who read the answer and still click through are more qualified than those who click blindly.

4.2What makes good FAQ content for schema?

The questions should match what people actually search — not what you wish they searched. Use Google's "People also ask" boxes for your core service terms to find real question formulations. Each answer should be complete enough to be useful when read alone (outside the context of the page), since that's how Google will display it. Answers between 40 and 300 words tend to perform well — short enough to be scannable, long enough to be substantive. Don't use FAQPage schema for promotional content dressed up as questions ("Why is Tucson Web Design Co. the best?") — it looks like manipulation and Google's spam guidelines cover this explicitly.

4.3How do Review and AggregateRating schema work?

Review schema marks up individual testimonials or reviews on your page — author, rating, review text, date. AggregateRating schema summarizes multiple reviews into an overall score — total review count and average rating. When AggregateRating schema is implemented on a service page and Google validates it, the page becomes eligible to show star ratings beneath its search listing. Important caveat: Google requires that reviews marked up with schema are visible on the page itself, and that the schema data matches what's displayed. Marking up reviews that exist only in the schema and aren't visible to users violates Google's structured data guidelines.

4.4What is Service schema and when should I use it?

Service schema marks up a specific service offering — its name, description, provider, area served, and optionally price or price range. It's designed for service pages and should be implemented on each dedicated service page on your site. For a Tucson HVAC company, that means separate Service schema on the AC installation page, the heating repair page, and the duct cleaning page — each with its own specific service name, description, and area served. Service schema helps Google understand the specific offerings at a more granular level than LocalBusiness schema alone, which supports long-tail service + location query matching.

4.5Can schema markup cause problems if it's wrong?

Yes. Google's structured data guidelines explicitly prohibit: marking up content that isn't visible on the page; using misleading or inaccurate information in schema; applying schema to content it doesn't describe (using Article schema on a service page, or Review schema on testimonials you wrote yourself and attributed to unnamed customers). Violations can result in manual actions that remove rich result eligibility for the affected pages or site-wide. The most common mistake we see is AggregateRating schema with review counts and scores that don't match the visible page content — either outdated data or numbers that were never connected to real reviews.

— A practical next step

Does your site have accurate schema markup?

We'll audit your existing structured data — what's present, what's missing, what's inaccurate — and tell you exactly what to fix. Back within 3 business days, no charge.

Get a free website audit →

05Implementation — how it's done correctly.

5.1How is JSON-LD schema actually added to a WordPress site?

Three ways: (1) Hardcoded in the theme — a developer adds the JSON-LD script directly to the appropriate template files (functions.php, page templates, or single.php). This is the most reliable method because it's not dependent on a plugin. (2) Via a schema-specific plugin (Schema App, Merkle's Schema Markup Generator) — more flexible than generic SEO plugins but still requires configuration. (3) Via a general SEO plugin's schema module (Yoast, RankMath) — the fastest implementation but often the least accurate for complex business types. We hardcode schema in our custom WordPress themes because it survives plugin updates and gives us full control over every property.

5.2How do I validate that my schema is correct after implementation?

Use Google's Rich Results Test as your primary validator — it shows which rich result types your page is eligible for and flags any errors or warnings. Fix all errors first (they prevent eligibility); address warnings where practical (they may limit eligibility). After validation, submit the updated URL to Google Search Console for re-indexing. Check Search Console's Rich Results report 2–4 weeks after submission to confirm the rich results are appearing in Google's index. If errors appeared in validation that you can't diagnose, the Schema Markup Validator (validator.schema.org) shows more detailed parsing information.

5.3Should schema be on every page, including pages with thin content?

No. Schema should only go on pages where it's accurate and where the content supports it. A thin service page with 150 words doesn't benefit meaningfully from Service schema — and adding FAQPage schema to a page with no visible FAQ content is a guidelines violation. The quality bar for schema should match the quality bar for the page. If a page's content isn't strong enough to support the claims in the schema, address the content first. Schema is a reinforcement of what the page says, not a substitute for it.

5.4What's the relationship between schema and Google Business Profile?

They're independent signals that reinforce each other. Your Google Business Profile is Google's primary source of truth for your business's NAP, category, and review data in local search. Your website's LocalBusiness schema is a corroborating signal — it confirms the same information from your owned web property. When the two match precisely, the local signal is stronger. When they conflict — different phone numbers, different business name formatting, different hours — Google has to decide which source to trust, and the uncertainty weakens both signals. Treat them as a matched pair that both need to be accurate and consistent.

5.5How does schema markup interact with a site migration or redesign?

Schema markup lives in the page's HTML — it doesn't migrate automatically when you redesign. On a redesign, schema needs to be rebuilt from scratch for the new site's architecture. The new site may have different page types, different service pages, different FAQ content. A schema audit should be part of the pre-launch checklist: verify that LocalBusiness schema is on the homepage with accurate data, that each service page has Service schema, that any FAQ pages have FAQPage schema, and that any pages displaying reviews have AggregateRating schema. A site that launches without schema, when the old site had it, loses rich result eligibility immediately.

06Hiring signals — who implements schema properly.

6.1What should I ask an agency about their schema implementation practice?

Ask: "What schema types do you implement by default on a service business website?" A firm that implements schema well will name LocalBusiness, Service, FAQPage, and BreadcrumbList without hesitation. Ask: "How do you implement it — plugin, hardcoded, or a combination?" Ask: "How do you validate it before launch?" The answer should include Google's Rich Results Test and Search Console monitoring. Ask: "What do you do with schema when you do a redesign?" A firm that has done redesigns with proper schema migration will have a clear answer. A firm that hasn't will pause.

6.2Is schema implementation part of a standard web design scope or an add-on?

It should be standard — not an add-on. Schema is a baseline technical requirement for a well-built WordPress site. An agency that charges extra for structured data implementation is either treating it as a specialist service (which suggests they don't do it regularly) or padding scope on something that should be included. The exception might be unusually complex schema needs — e-commerce with Product and Offer schema across hundreds of products, or a legal directory with Attorney schema at scale — but for a typical service business, schema implementation should be in the base scope at no additional charge.

Hiring signal

The clearest indicator that an agency handles schema correctly: they can show you the Rich Results Test output for a recent client project, with green checkmarks on LocalBusiness and any applicable rich result types. If they can't — or if their validation shows errors they haven't addressed — they're not treating schema as a quality deliverable. You want an agency that treats the Rich Results Test the way a contractor treats a permit inspection: not optional, not a suggestion.

6.3What should I ask to see in a portfolio review regarding schema?

Ask to see a Google Rich Results Test result for one of their recent client sites — specifically the LocalBusiness or Service Business type. Ask if any of their clients have achieved FAQ rich results in search (expandable Q&A in results) — if yes, they have the FAQPage schema working. You can also run any of their portfolio URLs through the Rich Results Test yourself in about 30 seconds. The output will tell you exactly what schema is present and whether it's valid. An agency that builds with schema consistently will have clean Rich Results Test outputs across multiple portfolio sites.

6.4If I currently have no schema, how long until results show after implementation?

After correctly implementing and validating schema, submit the updated pages to Google Search Console for recrawling. Google typically processes JSON-LD structured data within one to two weeks of recrawl. Rich results (star ratings, FAQ dropdowns) begin appearing in search results within two to four weeks for most sites. The timeline depends on how frequently Google crawls your site — sites with more content and more traffic are crawled more often and will process schema updates faster. For a new or low-traffic site, allow four to six weeks after implementation and submission before assessing whether rich results are appearing.

— Ready to talk?

Tell Google exactly what your business is.

We implement structured data as a standard deliverable on every custom WordPress build — LocalBusiness, Service, FAQPage, and BreadcrumbList are in every site we ship. If your current site is missing schema, let's look at what's there and what's not.

T
— Written by

Terry Samuels

Founder of Tucson Web Design Co. and Salterra Internet Marketing. Implements structured data as a standard component of every custom WordPress site — LocalBusiness, Service, FAQPage, and BreadcrumbList in every build. Has validated schema for Tucson businesses across healthcare, legal, home services, and hospitality since 2018.