Does ChatGPT Recommend My Roofing Company? The After-the-Storm Test
Roofing is the trade where the AI answer carries the most money and the most suspicion at once. The homeowner has a leak, a storm just went through, three flyers are on the door, and the question they ask their phone is not “who is a roofer” but “who can I trust.” The engines answer that from sources most roofers have never checked. This guide is how to run the test for your company, the reasons roofers specifically are not named, and what to fix first.
Ten minutes for the test. Each two-minute check below is something you can do from the truck.
Why roofing is different from every other trade in AI search
Two buyers, and the engines treat them differently:
- The storm buyer. A leak, missing shingles, hail, a monsoon that took part of the underlayment. Urgent, but not the way a burst pipe is urgent: they will still compare, because the number is large and the insurance company is involved. Their question is about trust. “Licensed roofer near me,” “roofer that works with insurance claims,” “how do I know a roofer is legitimate after a storm.”
- The replacement buyer. A roof at the end of its life, a tile roof that needs the underlayment replaced, a sale that needs a certification. Months of research. Their questions are about cost, material and timeline: “how much does a tile roof underlayment replacement cost in Phoenix,” “shingle versus tile,” “how long does a roof replacement take.”
The storm buyer’s question is answered from trust signals: licences, insurance, years in business, reviews that mention a storm and a claim. The replacement buyer’s question is answered from pages that explain the job, and companies get named as examples inside that explanation. A roofer needs to be in both, and the fixes are different. Test both.
How to run the test properly
Do not ask the AI about your company by name. That tells you whether the model has heard of you, not whether it would send a homeowner to you. Ask the questions homeowners ask. Four rules:
- Use the homeowner’s words, including the suspicion. “Licensed roofer in Mesa AZ for a leak after the storm.” “Best roofer in Gilbert for a tile roof underlayment replacement.” “Roofing company in Chandler that handles insurance claims.” “How do I check a roofer is legitimate in Arizona.”
- Name the city, and the next one over. Roofers serve a wide area, and the engines answer by town. Absent for the town next door is a common and fixable result.
- Ask each question three or four times in fresh chats. The answers vary run to run. One run is an anecdote.
- Ask in more than one engine. ChatGPT, Perplexity and Google’s AI features read different sources. Roofing answers lean heavily on list pages and directories, and each engine has its favourites.
Write down every company named and how often. That list is your answer, and the names on it are the companies the engines trust for your town today.
If you would rather not do this by hand, the AEOCheck report runs the buyer searches for your trade and city across ChatGPT, Perplexity and Google, several times each, and names the roofers AI recommends instead of you.
Reason one: the engines cannot read your website
What it is: your site refuses the crawlers that decide citation, through a robots.txt rule or a firewall setting. The crawler that decides whether you can be cited is not the one that collects training data, for OpenAI, Perplexity or Anthropic, and blocking the wrong one is the most common self-inflicted wound in this list.
Why it hits roofers: roofing websites are unusually often built by a marketing company on a platform the owner never opens, and a large share sit behind Cloudflare, which has blocked AI crawlers by default for new domains since 1 July 2025, according to its own announcement. The roofer finds out when someone runs this check.
Put your address into the free AI Crawler Check. It requests your site once as each named crawler and shows the status each gets, beside the robots.txt rule that applies. A 200 for a browser and a 403 for the crawlers is the failure, and it is a setting, not a rebuild.
Reason two: your Google Business Profile is set up for a storefront you do not have
What it is: most roofers are service-area businesses: no showroom, a yard or a home office, and a service area that covers half a county. The profile has a setting for exactly that, and a lot of roofing profiles have it wrong: an address shown that customers should not visit, a service area left blank, a category of “Contractor” instead of “Roofing contractor,” and no services listed.
Why it hits roofers: the storm buyer’s question is local and the engines answer it from listing data. A profile with the service area set to the towns you actually work is how you exist for a search in the next town over. A profile with the wrong category is how you lose to a company that fixed theirs. And the profile is where the trust signals the storm buyer wants live: years in business, the licence number in the description, photos of your own crews on your own jobs.
Search your company name on Google and read the panel as if you were the engine. Primary category “Roofing contractor.” Service area listing every town you will drive to. Services named: roof repair, roof replacement, tile underlayment replacement, storm damage repair, roof inspection, insurance claim assistance. A description that names your licence number and your area. Recent photos of your own work, not stock. Each blank is a reason to be skipped.
Reason three: the storm-chaser problem, and why your details must be identical everywhere
What it is: after a storm, out-of-area crews arrive, put up a website and a profile in a week, and disappear after the claims are paid. Homeowners know this, and so do the engines: the question “is this roofer legitimate” is one they answer constantly. They answer it from consistency and history. A company whose name, address, phone and licence number are identical on its website, its Google profile, the state contractor registry, the BBB, Angi, Yelp and its manufacturer certification page reads as established. A company whose details disagree reads like the crew that arrived last week.
Why it hits roofers: roofing has the directories every trade has plus two the engines weight heavily for trust: the state licensing board’s public lookup, and manufacturer contractor locators. Your licence record, your BBB page and your website must agree on the legal name, character for character. An LLC on one and not the other, a tracking phone number a lead vendor assigned you, an old address on a directory from years ago, each one is a second business as far as the engine is concerned.
Search your company name in quotes and open the first five results that are not your site. Then open your state licensing board’s contractor lookup and find your record. Compare the legal name, address and phone against your website and your Google profile, character for character. Fix what you control, claim what you do not, and put the licence number on your site and your profile in plain text where a person and an engine can both read it.
Reason four: your site has nothing a replacement buyer can quote
What it is: your website says you are licensed, bonded, insured, family-owned and honest. It does not say what a tile underlayment replacement costs, how long a shingle roof takes, what your workmanship warranty covers, or how an insurance claim actually proceeds with you.
Why it hits roofers: the replacement buyer asks the AI questions with real answers, and the engine assembles its reply from pages that contain them. A sentence like “a full underlayment replacement on a typical 2,000-square-foot tile roof in the East Valley runs between X and Y and takes two to four days” is a sentence an engine can lift and attribute to you. Put the real numbers in. If a competitor’s site answers the question and yours describes your values, the engine names the competitor and cites their page, and the buyer who was three months from a decision never sees you.
Open your site and try to find three facts a stranger could repeat: a price range for your most common job, the towns you actually serve, and a specific answer to one replacement question, such as what an insurance claim looks like from first call to final invoice. If you cannot find three, an engine cannot either. Write them as plain sentences on the page for that service.
Reason five: your third-party presence is thin where the engines look for roofers
What it is: you have reviews and you have certifications, but they live where the engines do not read for your town, or they are not connected to you in a way an engine can follow.
Why it hits roofers: for “best roofer in Chandler,” the engines read whatever already ranks on Google for that question, which for roofing is usually a mix of Google’s own listings, Yelp, Angi, a local list page or two, and often a manufacturer’s contractor locator. A manufacturer certification is one of the few third-party pages that says, in the manufacturer’s voice, that you are a real roofer in a real place, and it is cited. If yours exists but points at an old phone number, or your reviews sit on a platform that does not rank for your town, you are invisible to the question. Two cautions: no specific review count unlocks anything, and marking up your own testimonials as review schema on your own site risks removal from the listing the storm buyer’s answer depends on.
Search “best roofer in [your city]” on Google, not in ChatGPT, and note which sites are on page one. Those are the sources an engine is most likely to read. Are you on them, with your details right and recent reviews? If a manufacturer you install for has a contractor locator, is your listing there current?
What to do first, in this order
- Confirm the engines can read you. Free, ten seconds, and nothing else matters until it passes.
- Fix the profile as a service-area business. Category, service area, services, licence number in the description, your own photos.
- Make your identity identical everywhere, starting with the state licence record and the BBB, because those are the trust sources.
- Put three liftable facts on each service page: a real price range, the towns you serve, and one honest answer about how a job or a claim actually goes.
- Be present where roofing searches already rank: reviews on those sources, and a current manufacturer listing if you have one.
- Re-run the test in a month, same questions, same engines, several runs each.
The profile and the licence work cost nothing but an afternoon. The pages take writing. None of it needs a developer, and all of it is wasted if step one fails.
If you would rather have it measured than estimate it: the AEOCheck report runs the searches, names the roofers AI recommends instead of you, and gives you the five fixes in priority order. If you already pay someone for SEO and want to know what they have actually done to your site, that is the SEO Audit. The general version of this guide, for any local trade, is here.
Questions, answered
How do I check if ChatGPT recommends my roofing company?
Ask ChatGPT the question a homeowner asks, not a question about your company: “licensed roofer in Mesa AZ for a leak after the storm” or “best roofer in Gilbert for a tile underlayment replacement.” Run each question three or four times in fresh chats and in a second engine such as Perplexity. Write down every company named. If you are not on that list most of the time, ChatGPT is not recommending you, whatever it says when you ask about you by name.
Why does ChatGPT recommend other roofers and not me?
Usually one of five things: your site blocks the crawlers that decide citation, your Google Business Profile is set up wrong for a service-area business, your details disagree across the state licence record, the BBB and the directories, your website has nothing specific enough to quote about cost or timeline, or your reviews and certifications sit where the engines do not read for your town.
Does my contractor licence number help me show up in AI answers?
Yes, when it is written in plain text where an engine can read it and it matches the state record exactly. The question homeowners ask most after a storm is whether a roofer is legitimate, and the engines answer it from consistency between your site, your profile and the licensing board. A licence number that appears only in an image, or a legal name that differs between the record and the website, does not help.
Do manufacturer certifications matter for AI recommendations?
They can, because a manufacturer contractor locator is a third-party page that names you as a real roofer in a real place, and the engines read those pages for roofing questions. It only helps if the listing is current and its name, address and phone match everything else. An out-of-date listing is one more disagreement.
Will fixing my Google Business Profile help with ChatGPT and Perplexity, not just Google?
Yes. Google’s own AI features read the profile directly, and the other engines read the pages that rank for local roofing questions, which draw heavily on the same listing data. A complete profile set up as a service-area business, with the right category, the towns you serve and your own photos, is the foundation every engine builds the local answer on.
Written by Tyson McKay, founder of AEOCheck. We publish how we check things, including our own claims. Last verified 14 September 2026.