Blog
Why AI search ignores your roofing or HVAC company (and how to fix it)
By Visibility Audit Co. Published October 30, 2026.
Get a $49 Snapshot of your site
How homeowners use AI to find a contractor
The questions are the same ones people used to type into Google, just longer: "emergency plumber near me open now," "roof replacement in [city], who's good with insurance claims," "HVAC company in [town] that does financing on heat pumps." The AI reads a handful of sources and names two to five companies. If you aren't in those sources, or they describe you badly, you aren't in the answer.
Ranking in the map pack isn't the same as being named by AI
Plenty of owners assume a top-three Google Maps spot carries over. Sometimes it does. Often it doesn't, because ChatGPT and Perplexity don't simply copy Google's map pack. They draw on websites, review platforms and directories. Google's AI Overviews draw on more than your profile too. Check both. Don't assume one tells you about the other.
Reason 1: Your Google Business Profile is half filled in
A category of "Roofing contractor" with no services listed tells a machine almost nothing. Fill in the full services list (repair, replacement, storm damage, gutters, inspections), set your real service area, keep hours current and add real job photos. Google says in its guide to AI features that keeping your Business Profile up to date is part of the basics.
Reason 2: Your website says "quality service" instead of facts
AI tools quote facts. "Family owned, quality you can trust" gives them nothing to work with. "We replace asphalt and metal roofs in Lee and Collier counties, handle insurance paperwork, and offer free inspections after hail storms" does. Build one page per main service and one per area you actually cover. Put price ranges on them if you're willing to publish them, and add project examples and a short FAQ.
Reason 3: Your details don't match across the web
AI answers can draw on Google, BBB, Angi, Yelp, Nextdoor, state license lookups and manufacturer dealer locators. An old phone number on one site, a former business name on another, or an expired dealer listing makes you look less certain than the competitor whose details match everywhere. Search your company name, list every profile you find, and fix them one at a time.
Reason 4: The crawlers can't get in
Some web hosts and security plugins block AI crawlers by default. OpenAI's crawler documentation says sites that opt out of OAI-SearchBot won't be shown in ChatGPT search answers. Check robots.txt and your firewall for OAI-SearchBot, PerplexityBot and Googlebot. If the site is built so its text only appears after scripts run, make sure the important text is in the page itself.
Reason 5: No schema, or the wrong type
Schema.org has specific types for trades: RoofingContractor, HVACBusiness and Plumber. Google recommends the most specific subtype available, and you can list more than one as an array. Use areaServed if you're a service-area business. This is an example for a made-up company:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": [
"RoofingContractor",
"HVACBusiness"
],
"name": "Example Roofing & Air",
"url": "https://www.example.com/",
"areaServed": [
"Fort Myers, FL",
"Cape Coral, FL",
"Naples, FL"
],
"openingHours": "Mo-Fr 07:00-18:00"
}
</script>
Schema won't get you named on its own. It just makes your facts harder to misread.
Trade-by-trade notes
- Roofing: storm and insurance questions dominate. Pages about hail and wind damage, how claims work, and which materials you install get quoted.
- HVAC: people ask about brands, financing, heat pumps and same-day repair. List the brands you service and whether you're an authorized dealer, and keep that dealer locator listing current.
- Plumbing: it's mostly urgent questions. If you're truly 24/7, say so consistently everywhere. If you're not, don't claim it.
Run a quick self-check
Write ten prompts for your trade and town, without your company name. Mix urgent ("water heater leaking, who can come today in [town]"), cost ("how much is a new AC unit in [city]") and trust ("best rated roofer in [city]") prompts. Run them in ChatGPT with search on, in Perplexity and in Google. Note who gets named and which sites get cited, then do it again on a different day. AI answers change often, so one run doesn't tell you much.
Next steps: run the free AI-visibility check on your site, see how our local business audits work, or compare audit options and prices.
See who ChatGPT names for your trade and town. Start with the $49 Snapshot, or get the full $497 audit (launch price $297 for the first 3 clients) with share of voice against 3 competitors. You can also run our free AI-visibility check first. More on our AI visibility audits for roofers, HVAC companies and plumbers.
FAQ
Does ChatGPT recommend local contractors?
Yes. With search on, ChatGPT names local companies and cites the sources it used, such as review sites, directories and company websites.
If I'm top 3 on Google Maps, will AI name me too?
Not necessarily. ChatGPT and Perplexity draw on websites, reviews and directories, not just Google's map pack, so check each engine separately.
Which review sites matter most for AI answers?
It depends on your trade and town. Google, BBB, Angi and Yelp come up often. Run your own prompts and look at which ones get cited.
Should I use Plumber, RoofingContractor or HVACBusiness schema?
Yes, pick the most specific type that fits, and list more than one if you do several trades. Keep it matching what's on the page.
Do I need an llms.txt file?
It's optional and unproven. Google says no special AI files are needed for AI Overviews. Get crawler access, your profile and your service pages right first.
Can anyone guarantee my company gets recommended?
No. Nobody can honestly promise placement in AI answers. You can fix what keeps you out and measure whether it's working.
How often should I re-check?
Monthly is enough for most companies, and after any big change to your site or profiles. Run each prompt on more than one day.