MMatt Goren
← AI hub
GuideAI Search & AEOAEO & AI SearchCost & Models

AEO for Home Services: How to Get Cited by AI When a Homeowner Needs a Pro

A contractor's playbook for getting named when homeowners ask AI why their AC is broken, what a repair costs, and who to call — cost pages, emergency intent, and reviews.

By Matt Goren · Updated July 29, 2026 · 6 min read

Your next customer is standing in a hot house at 9pm, and they are not opening a phone book or scrolling a page of blue links. They are asking ChatGPT, "why is my AC blowing warm air and how much does it cost to fix," and then, "who's a good HVAC company near me that's open now." They are going to call one of the two or three companies the AI names. If you are not one of them, you were never in the running — and you will never see it, because there was no click to miss.

That is the shift AEO is about for a home-services business. Not ranking a page. Getting your company named inside the answer the moment a homeowner has a problem. I build AEO for a living, so everything below is mechanics I have watched move real calls — not theory. This is the trades companion to the full answer engine optimization playbook and the tactical get-cited guide. Let's get into what works for a contractor.

Homeowners ask the problem before they hire — so answer the problem

Almost every service call starts as a question, not a search for a company. "Why is my water heater leaking." "How do I reset a tripped breaker." "Is a warm-blowing AC an emergency." The homeowner is diagnosing before they dial, and the company that answered the diagnosis question is the one already on their screen when they decide to call a pro.

So the highest-leverage move is to write, in plain text, honest answers to the repair questions your customers ask you every week. What causes it, whether it's a DIY fix or a call-a-pro job, and what happens if they wait. This is not giving away business — the homeowner who reads "you can reset the breaker once, but if it trips again you have a fault that needs an electrician" is the one who calls you, because you're the one who told them the truth. That answer is also the exact passage an engine lifts when the next person asks the same thing.

Put a real cost range on the page — it's a citation magnet

Answer engines quote passages, and few questions get asked more than "how much does it cost to replace a water heater" or "what does a new AC unit cost." The page that gets cited is the one that answers with a specific, honest range: "$1,200 to $2,500 installed in the Tampa area, depending on tank size and whether it's gas or electric." The page that says "call for a free quote" gives the machine nothing to lift, so it quotes — and names — the competitor who was willing to say a number.

This scares contractors, and I understand why. But you can give a range, name the variables that move it, and still book the estimate. "Contact us for pricing" is invisible in an AI answer. A real range with real caveats is quotable, builds trust, and gets your name into the response for the single highest-intent question a homeowner asks before spending money.

Be unambiguous about where you work and when

Emergency and "near me" intent is where trades win or lose in AI, and it comes down to clarity the machine can retrieve. When someone asks "who fixes burst pipes near me right now," the engine has to pull a page that plainly says you cover their city and answer emergencies. Vague "serving the greater metro area" copy does not retrieve cleanly for a specific town.

So state it flatly, in text: the cities and neighborhoods you serve, your hours, and whether you offer 24/7 emergency service. A homeowner with water pouring through the ceiling is asking an AI a "near me / open now" question, and the company that gets named is the one whose page clearly answered "yes, we cover your town, and yes, we come out tonight."

Mark it up so the machine trusts the facts

Structured data hands the engine clean, unambiguous facts instead of making it guess. For a home-services business that means:

  • LocalBusiness schema with your real address, phone, areaServed, and openingHours — including whether you run 24/7 emergency service.
  • Service schema for each service you offer, so drain cleaning and repiping are distinct, retrievable things.
  • AggregateRating and Review so your review consensus is machine-readable, not trapped in a widget.
  • FAQPage for the real repair and cost questions on the page, which is some of the most reliably-quoted markup there is.

Schema does not make a thin page good — a clear answer still has to be there to mark up. But when the answer is there, schema is what tips it from "probably relevant" to "safe to quote." The full mechanics are in schema and JSON-LD for AI search and FAQ pages that get cited.

Reviews are your local trust signal — make them readable

Answer engines are consensus machines. When Google, your site, and a directory all agree you fix ACs fast and fair, that becomes the thing the model says when someone asks for "a good HVAC company near me." Your reviews are the richest consensus signal you own, and most contractors waste it two ways: the review text loads in a widget the crawler never reads, and the reviews are all "great service" with no detail.

Get review text rendered as real HTML on the page, mark it up with AggregateRating, and nudge customers toward specifics — the job, the season, the outcome. "Fixed our AC the same day we called in July and the price matched the quote" is worth ten "great company" five-stars, because it is a quotable, specific claim an engine can lift straight into an answer for a homeowner in a crisis.

The hard part is answering every question across every service and every city

Everything above is straightforward for one service on one page. The problem is you don't have one service in one town — you have plumbing and drains and water heaters and repiping across a dozen cities, and homeowners ask AI thousands of narrow questions that map to every combination. Winning means every service has a page that explains the repair and the cost honestly, every city you cover has a page that clearly claims it, and every "why is my X doing Y" question has a page that answers it cleanly and marks it up.

Hand-writing that across your full service list and service area is the actual work, and it is why programmatic AEO at scale exists — generating genuinely useful, honestly-priced, schema-complete answers for every service, city, and repair question, not thin spun filler that gets you penalized. It is exactly the problem I built RunOctopus to solve: it builds the extractable, cited-ready answer layer across every service and every city you cover, so the machine has something of yours to quote no matter which town the homeowner is in or which thing broke.

Test what the engines actually recommend

Do not guess whether this is working — measure it. Keep a fixed list of the real questions in your trade and towns — "how much to replace a water heater in [your city]," "emergency plumber near me," "why is my AC blowing warm air" — ask each in ChatGPT, Perplexity, and Google's AI answers, and record whether you get named. Re-run it monthly and track the share of prompts that name you. That coverage rate, not raw traffic, is the number to move — see track your AI visibility for the full method, and if you also sell products, AEO for ecommerce covers the catalog side.

The contractors who win the next few years are not the ones with the biggest ad budget. They are the ones whose repair answers and cost ranges are the clearest, most honest, most quotable thing in their market — so that when a homeowner asks a machine who to call, your company is simply the obvious name.

#aeo#home-services#ai-search
Want to apply this right now?

Use the free, no-API prompt generators to put it into practice.

Open Prompt Studio →
Keep reading