A plumber in Dallas has 800 Google reviews, a fast website, and ranks in the local pack for "plumber near me." But when a homeowner asks ChatGPT "who should I call for a burst pipe in Dallas," the plumber's name does not come up. The AI recommends Roto-Rooter instead.
The missing piece is often structured data. Without schema markup on the website, AI engines have to guess what the business is, where it is, and what it does. When they guess wrong, they recommend the franchise with 200 locations and a clean entity record over the independent shop with better reviews and no markup.
Schema markup fixes this. It takes about 15 minutes to add, costs nothing, and gives AI engines the exact information they need to identify and recommend a business. Here is how to do it.
What LocalBusiness Schema Does
Schema markup is a piece of code on a website that tells search engines and AI systems what a business is. Instead of leaving it to the AI to interpret page content, schema states it directly: the business name, address, phone number, services, hours, service area, and links to social profiles.
Research shows this matters for AI visibility. A 2026 analysis by Stackmatix found that content with proper schema markup has a 2.5x higher chance of appearing in AI-generated answers. BrightEdge reported a 73% boost in AI Overview selection rates for pages with structured data compared to those without. SERPs.io found that 65% of pages cited by Google AI Mode include structured data.
The key finding from a Growth Marshal study: generic schema alone does not help. Pages with attribute-rich schema (populated with specific details like services, ratings, and geographic data) were cited at 61.7%, compared to 41.6% for pages with bare-bones generic markup. The details matter.
For a deeper look at why this matters for trades businesses specifically, see the FirstCall guide to AEO vs SEO.
Step 1: Find the Right Schema Type for Your Trade
Schema.org has specific business types for the trades. Using the specific type instead of the generic "LocalBusiness" is the first and most common fix. A plumber should use "Plumber," not "LocalBusiness." An HVAC contractor should use "HVACBusiness."
| Trade | Schema.org Type | |-------|----------------| | Plumbing | Plumber | | HVAC | HVACBusiness | | Electrical | Electrician | | Roofing | RoofingContractor | | General contracting | GeneralContractor | | Landscaping | LandscapingBusiness | | Pest control | PestControlService | | Painting | Painter |
For businesses that do multiple trades, Schema.org supports array syntax. A shop that does both plumbing and HVAC would use:
"@type": ["Plumber", "HVACBusiness"]
This tells the AI the business covers both categories, which matters when a homeowner asks about a problem that crosses trades.
Step 2: Build the JSON-LD Block
JSON-LD is the format Google recommends for schema markup. It lives in a single script tag in the page header. No need to modify visible page content.
Here is a complete template for a plumbing business. Copy this, replace the placeholder values with the business's actual information, and paste it into the <head> section of the homepage.
What Each Field Does
- @type: Tells the AI the business category. Use the specific trade type.
- name: The exact legal business name as it appears on Google Business Profile.
- @id: A unique identifier for the business entity on the website. Use the homepage URL plus
/#business. - telephone: The same phone number listed on Google, Yelp, and every directory. Consistency is what AI engines check.
- priceRange: A simple indicator ($, $$, $$$). Optional but useful.
- description: A plain-English summary of what the business does and where. Include trade keywords and service areas here.
- address: The physical address. Must match Google Business Profile exactly.
- geo: Latitude and longitude. Pull these from Google Maps by right-clicking the business location.
- openingHoursSpecification: Actual operating hours. If the business offers 24/7 emergency service, add a separate entry.
- areaServed: The counties or towns the business covers. This is critical for AI engines matching businesses to homeowner locations.
- sameAs: Links to social profiles, Yelp, Google Business Profile, and any other web presence. This is how AI engines confirm the business is the same entity across platforms.
Step 3: Add the Schema to the Website
The JSON-LD block goes in the <head> section of the homepage HTML. Here is how to add it depending on the website platform:
WordPress (most common for trades sites): Install a schema plugin like Rank Math or Yoast SEO. Both have schema generators where you select the business type and fill in fields through a form. No code editing required. Alternatively, paste the JSON-LD block into a "Header and Footer" plugin's head section.
Custom HTML site: Open the homepage HTML file, find the <head> tag, and paste the JSON-LD block directly below the existing meta tags. Save and upload.
Wix, Squarespace, or similar builder: Most modern builders have a "custom code" or "header injection" field in site settings. Paste the JSON-LD block there. It will apply site-wide.
Agency-built site: Send the JSON-LD block to the web developer. They can add it to the page template in 10 minutes. If the developer does not know what schema markup is, that is a red flag.
Step 4: Validate the Markup
Before calling it done, run the schema through Google's Rich Results Test. This free tool checks whether the markup is valid and shows exactly what Google sees.
- Go to search.google.com/test/rich-results
- Paste the page URL or the raw JSON-LD code
- Check for errors and warnings
Errors must be fixed. Warnings are optional but worth addressing. The most common error is a missing required field like "name" or "telephone."
Also run the URL through Google Search Console. The "Enhancements" tab shows whether Google has detected the LocalBusiness schema and whether there are any issues.
Step 5: Align With Google Business Profile
This step is where most trades businesses lose AI visibility. The information in the schema markup must match the Google Business Profile exactly. If the schema says the business name is "ABC Plumbing LLC" but Google Business Profile says "ABC Plumbing," the AI has lower confidence in the entity.
Check these fields for consistency across the website schema, Google Business Profile, Yelp, Angi, and any other directory:
- Business name (exact spelling and suffixes)
- Phone number (same format)
- Address (same formatting)
- Hours (same operating schedule)
- Service area (same towns and counties listed)
The sameAs field in the schema is what connects these profiles. Make sure every profile URL in the sameAs array resolves to the correct business page.
Common Mistakes to Avoid
Using generic LocalBusiness type. A plumber using "LocalBusiness" instead of "Plumber" gives AI engines less specific information. Always use the trade-specific subtype. This is the most common mistake and the easiest to fix.
Fabricating review data. Do not add aggregateRating to the schema unless real reviews are visible on the page. Google penalizes fabricated ratings, and AI engines cross-check schema claims against visible content.
Mismatched NAP data. Name, address, and phone must be identical across the website, Google Business Profile, and all directories. Even small differences like "St." vs "Street" can reduce entity confidence.
Missing areaServed. Without the service area defined in schema, AI engines may not match the business to homeowner queries in nearby towns. List every county and town the business covers.
Stale data. If hours change or the business moves, the schema must be updated. A 2026 report from Track My Visibility noted that outdated schema signals reduce AI citation confidence. Update the dateModified field whenever the business information changes.
How Long Until Results Show
Schema markup is typically crawled by Google within 1 to 2 weeks. After that, the structured data enters Google's index and becomes available to AI systems that pull from Google's knowledge graph.
ChatGPT and Perplexity pull from web crawls that update on their own schedules. Trades businesses that add schema typically see changes in AI citation presence within 30 to 60 days, based on FirstCall monitoring data. The timeline depends on how frequently the site is crawled and how many third-party signals confirm the entity.
For businesses that want to track this, the FirstCall AI visibility audit checks whether schema markup is present, whether it validates, and whether it is aligned with the Google Business Profile. The daily monitoring plan catches AI citation changes within 24 hours.
What to Do After Adding Schema
Schema markup is one piece of the AEO picture. After adding it, the next priorities are:
- Verify entity consistency across 10+ platforms. Schema on the website is one signal. Matching information on Yelp, Angi, HomeAdvisor, and the BBB confirms it.
- Write content in answer format. FAQ pages with concise answers are more citable than long-form posts. See the FirstCall AI visibility guide for the full content framework.
- Get third-party mentions. A single local news article or trade directory listing can move AI citation share more than 50 blog posts. Entity strength grows from external validation.
- Run the free audit. The FirstCall 12-point audit checks schema, entity consistency, content structure, review distribution, and AI citation presence. Run it here.
FAQ: LocalBusiness Schema for Trades Businesses
Do I need to know how to code to add schema markup?
No. WordPress plugins like Rank Math and Yoast SEO have schema generators that handle the code through a form. On other platforms, the JSON-LD block can be pasted into a header injection field. A developer can add it in 10 minutes.
Which schema type should a plumber use?
Use "Plumber," not the generic "LocalBusiness." Schema.org has specific types for most trades: Plumber, HVACBusiness, Electrician, RoofingContractor, GeneralContractor. Using the specific type gives AI engines more precise information about the business.
Can I add fake reviews to my schema markup to boost ratings?
No. Google penalizes fabricated review data in schema markup. The reviews must be real and visible on the page. AI engines cross-check schema claims against visible content. Faking ratings risks losing all rich result eligibility.
How long does it take for schema markup to affect AI visibility?
Google typically crawls new schema within 1 to 2 weeks. Changes in AI citation presence on ChatGPT and Perplexity usually appear within 30 to 60 days. FirstCall's daily monitoring catches these changes within 24 hours so business owners can track progress.
What happens if my schema data does not match my Google Business Profile?
Mismatched business name, address, phone number, or hours between schema markup and Google Business Profile reduces AI entity confidence. AI engines verify identity by matching information across platforms. Even small differences like "St." versus "Street" can lower confidence. Align all fields exactly.