AEO & SEO for Contractors: A Practical Guide for the Trades
Most plumbers, electricians, HVAC pros, roofers, and general contractors built their book of business on referrals and a Yellow Pages listing that turned into a website nobody really updates. That used to be enough. Today the people who would have called you are typing full sentences into ChatGPT, Perplexity, and Google's AI Overviews, and they're getting answers that name three or four competitors and not you. This guide walks through what to fix first, what the new "answer engines" actually look at, and what a real, finishable 30-day plan looks like for a small trade business. We wrote it from Murray, Kentucky, for crews across western KY, Tennessee, and southern Illinois.
Why this matters now
Used to be, a homeowner with a leaking water heater typed "plumber near me" into Google, glanced at the map pack, and called the top three. That happened in maybe ten seconds. Now the same person opens ChatGPT on their phone and types "who's a good plumber in Murray, KY who works weekends and is reasonable on price?" They get a paragraph back with two or three names, a short reason for each, and sometimes a phone number. They never see a list of ten blue links. They see a recommendation.
That shift has a name: Answer Engine Optimization, or AEO. It's the same idea as SEO, but the "engine" is now an AI model that reads the web, picks a few sources it trusts, and synthesizes an answer. Google AI Overviews, Perplexity, ChatGPT search, Claude, and Bing Copilot all work this way. The contractors who show up in those answers usually share a few things: a complete Google Business Profile, a website that clearly says what they do and where, structured data that machines can read, and some kind of third-party signal (reviews, local press, chamber listings) that they're real. None of that requires a marketing budget. It requires a couple of focused weekends and a willingness to fix the basics.
The 7 high-impact moves for trade businesses
You don't need to do everything. You need to do these seven, in this order, before you spend a dollar on ads or a fancy redesign.
1. Claim and complete your Google Business Profile
This is still the single highest-leverage thing a trade business can do. Around 94% of local searches happen on mobile, and the map pack is almost always the first thing a homeowner taps. Claim your profile at google.com/business, pick the most specific primary category ("Plumber," not "Contractor"), add every service you offer, set real hours, upload a dozen photos of trucks, crews, and finished jobs, and make sure your name, address, and phone number (NAP) match what's on your website and invoices exactly. NAP inconsistency is one of the most common reasons local rankings stay stuck.
2. Add LocalBusiness schema with your specific trade type
Schema markup is a chunk of JSON that lives in your site's code and tells search engines "here's exactly what kind of business this is, where we are, what we do, and when we're open." Schema.org has specific types for trades: Plumber, Electrician, HVACBusiness, RoofingContractor, GeneralContractor. Using the right type instead of generic LocalBusiness is one of the cheapest signals you can send to AI crawlers about who you are. We've seen it pull contractors into AI answers for queries they previously had no presence in.
3. Make your services explicit — one page per service
A common mistake we see: one "Services" page that lists fifteen things in a bullet list. That page can't rank for anything specific, and AI engines can't cite it as the source for a question about a specific service. Break it apart. If you do water heater installs, drain cleaning, sewer line repair, and gas line work, that's four pages. Each one should be 400-800 words, mention the towns you serve, answer the questions a customer would actually ask, and include a clear next step. This is tedious. It is also how you show up when someone searches "sewer line repair near Paducah" instead of just "plumber."
4. Get reviews on Google, then surface them with Review schema
Reviews do two things. First, they convince a human to call you instead of the next listing. Second, they give AI engines a signal that other humans have vouched for you. A trade business with 50+ Google reviews averaging 4.7 stars will get cited by ChatGPT and Perplexity in answers where a competitor with 6 reviews won't. Build a simple after-job text or email asking for a Google review with a direct link. Then add aggregateRating schema to your homepage so search engines see the number too. Don't fake reviews. Beyond being against Google's terms, AI engines are starting to flag suspicious review patterns.
5. Add an FAQ section answering real customer questions
AI engines love FAQs because they're structured, self-contained, and easy to quote. Think about the questions your office actually fields: How much does a water heater replacement cost in 2026? Do you charge for estimates? Do you work weekends? How long does a roof replacement take? Is there a warranty? Write honest, specific answers — give a real price range, not "it depends." Wrap the section in FAQPage schema so it's machine-readable. This is often the single biggest unlock for getting cited in AI answers, because you're literally handing the model question-and-answer pairs.
6. Create an llms.txt file to guide AI crawlers
This is new and most contractors have never heard of it. An llms.txt file sits at the root of your site (citeddigital.com/llms.txt) and acts like a sitemap specifically for large language models. It tells AI crawlers: here's who we are, here are the most important pages, here's how to describe us. Adoption isn't universal yet, but Anthropic, Perplexity, and several others have signaled support. It costs nothing to add, and the contractors who do it now will benefit when adoption broadens. We have a free builder for this at /resources/llms-txt-builder.
7. Build authority through local citations and backlinks
Authority for a small trade business doesn't come from random blog comments. It comes from being listed in places that already have local credibility: your local Chamber of Commerce, the BBB, industry associations (PHCC, NECA, ABC), the Murray Ledger or your local paper, regional supplier directories. Every one of these creates a citation — a NAP mention — and most include a backlink. AI engines weight these heavily because they're hard to fake. Spend an afternoon listing every place your business could legitimately appear, then work through the list one a week. This is slow, unglamorous, and one of the most durable things you can do for your visibility.
Schema example for a plumber
Here's a working example of LocalBusiness schema for a fictional plumber in Murray, KY. Drop this inside a <script type="application/ld+json"> tag in the <head> of your homepage, update the details, and validate with Google's Rich Results Test. The "@type" is the specific one that matters — change Plumber to Electrician, HVACBusiness, RoofingContractor, or GeneralContractor as needed.
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Lakeway Plumbing Co.",
"image": "https://lakewayplumbing.com/storefront.jpg",
"@id": "https://lakewayplumbing.com",
"url": "https://lakewayplumbing.com",
"telephone": "+1-270-555-0148",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "412 N 4th St",
"addressLocality": "Murray",
"addressRegion": "KY",
"postalCode": "42071",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 36.6103,
"longitude": -88.3148
},
"areaServed": ["Murray, KY", "Calloway County, KY", "Marshall County, KY", "Paris, TN"],
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "07:30",
"closes": "17:30"
}],
"sameAs": [
"https://www.facebook.com/lakewayplumbing",
"https://www.google.com/maps/place/lakewayplumbing"
]
}One detail people miss: areaServed can be a list of every town you actually work in. That matters for queries like "plumber in Paris, TN" or "HVAC in Marshall County" — the model uses this field to decide whether you're relevant.
30-day starter checklist
If you do nothing else, do these twelve things over the next four weeks. Most are a 30-minute task. A few will take a Saturday. You don't need an agency for any of them.
- Week 1: Claim or recover your Google Business Profile. Verify by postcard or phone.
- Week 1: Audit NAP (name, address, phone) across your website, Google, Facebook, and invoices. Pick one canonical version.
- Week 1: Upload 15-20 photos to Google Business: trucks, crews, before/after shots, your sign.
- Week 2: Pick your three most-requested services. Build a dedicated page for each (~500 words, real detail, service area named).
- Week 2: Write a real FAQ. Get the questions from your office staff or your dispatcher — they know what people ask.
- Week 2: Add FAQPage schema around the FAQ. Validate with Google Rich Results Test.
- Week 3: Add LocalBusiness schema with your specific trade type (Plumber, Electrician, etc.). Validate.
- Week 3: Set up a post-job text or email asking for a Google review with a one-tap link.
- Week 3: List your business with your Chamber of Commerce and the BBB if you aren't already.
- Week 4: Create an llms.txt file at the root of your site. Use our free builder if you want a head start.
- Week 4: Find three regional or industry directories (PHCC, NECA, ABC, local supply houses) and submit your listing.
- Week 4: Run your site through a free AEO scoring tool to see what's left. Pick the highest-impact item and start month two.
That's it. Twelve items, four weeks, no ad spend. Whether you do this yourself or hire someone to help, the work is the same. The contractors who finish the list almost always see new call volume by week six — usually from queries they didn't even know they were missing.
Run a free AEO score on your site, or book a 30-minute call with a real person in Murray, KY.