Sample reportPricing

Home / Guides

AI visibility for roofing contractors

A hail storm rolls through at 4 p.m. By 6 p.m. half the street is on a ladder looking at shingles. Some of them open ChatGPT and type "storm damage roofer near me." Others ask "does insurance cover storm damage to my roof?"

Both questions are on Google's autocomplete list today. Each one can turn into a roof job. This guide covers how ChatGPT picks the roofers it names, how to handle reviews, and five fixes. It uses what we found when we scanned 17 local roofing websites on October 23, 2026. No one can promise ChatGPT will name you. These checks remove the reasons it can't.

How ChatGPT answers a storm question

ChatGPT can search the web when a question needs current facts. OpenAI's help page on ChatGPT search says it can use your approximate location and rewrite the question into a search. "Storm damage roofer near me" becomes something like "storm damage roofer Denver."

The answer comes with citations: links to the pages ChatGPT read. Those may be your site, a directory, a review site, or a local news story about the storm. OpenAI says "Search results and citations can be incomplete, outdated, or incorrect," and that "Placement is not guaranteed."

You can't control the news. You can control two things: whether your own site is easy to read and cite, and whether your listings and reviews match it.

Storm season is a traffic spike

A storm sends a wave of people to the same searches on the same night. Three things matter that night.

  1. Your server has to answer. A page that takes 4 seconds to start loading loses people standing in a wet kitchen.
  2. Your bot shield can't block crawlers. A homeowner gets past a bot check. An AI crawler may get a challenge page with no content.
  3. You need a storm damage page. One page that answers the autocomplete questions in plain text: what counts as storm damage, how an insurance claim works with you, how fast you can inspect, and which towns you cover.

Reviews: what to put on your site

Roofing is a trust buy. People want reviews, and ChatGPT answers can mention them. Google's own rules on review markup matter.

Google's review snippet guide says that if a business controls the reviews about itself, its LocalBusiness pages are not eligible for star ratings. That includes reviews pulled in through a widget. It says "Don't aggregate reviews or ratings from other websites."

So put your reviews on Google, Yelp, the BBB, and other sites you don't control. On your own site, quote a few real reviews in plain text with the reviewer's first name, town, and the source. Don't count on star markup to do the work.

What we found on 17 local roofing websites

On October 23, 2026 we ran our free check on 17 roofing company websites. They came from public search results in four US metros: Nashville, Denver, Tampa, and Columbus. We are not naming them.

Finding Sites Share
Our checker could not read the homepage (bot challenge page) 4 of 17 24%
No llms.txt 5 of 13 38%
No LocalBusiness or trade schema type 3 of 13 23%
Used the RoofingContractor type 9 of 13 69%
Schema with errors, or none 5 of 13 38%
Service schema with no areaServed 5 of 13 38%
Rating markup on the homepage 2 of 13 15%
Server took over 2.5 seconds to respond 1 of 13 8%
robots.txt blocks an AI crawler 0 of 13 0%

The 13 sites we could read scored 90 out of 100 on average. The median was 90. Four scored 100. Two scored under 80. The low was 75.

Roofers did better than the HVAC sites we scanned (83 average). The gaps were narrow but real. One in four sites sent our checker a Cloudflare or SiteGround challenge page in place of the homepage. And the most common schema error was a Service block with no areaServed. That is the one field that tells a machine which towns you roof in.

A real scan, name removed

One roofing company in Tennessee scored 75. The page had 10,750 characters of readable text, and every AI crawler was allowed. But the server took 4.6 seconds to respond. The site had no llms.txt and no sitemap. It had four H1 headings, one of them "Financing Options Available!" On a storm night, the slow server is the first thing to fix.

What to fix before the next storm

  1. Run the free scan. It tests OAI-SearchBot and seven other AI crawlers, checks your server time, and tells you when a challenge page blocks the checker.
  2. Check your bot shield and your host. If the scan can't read your homepage, ask your host to allow OpenAI's published IP ranges. OpenAI's crawler docs say sites that opt out of OAI-SearchBot "will not be shown in ChatGPT search answers." If your server takes over 2.5 seconds, ask about caching. Our AI crawlers guide lists the user agents.
  3. Use RoofingContractor schema with areaServed. Schema.org has a RoofingContractor type. Add areaServed with each town you cover. Google's local business guide lists the name, address, phone, and hours fields. Our HVAC guide has a copy-ready example. Swap the type.
  4. Write one storm damage page. Answer the four autocomplete questions in plain text. Name your towns. Say how a claim works with you. Link it from your home page.
  5. Add an llms.txt file. An llms.txt file is a short Markdown file at yoursite.com/llms.txt. It is a proposed standard, and OpenAI does not say ChatGPT uses it. List your services, towns, and your storm damage page. See our llms.txt example.

OpenAI's crawler docs say robots.txt changes take about 24 hours to show in search. Make the fixes before storm season. Our ChatGPT search guide covers the full crawler setup.

When to hire it out

If your site runs on a builder you can't edit, or the scan shows a firewall problem, you can pay us to do it. Fix it for me is $499 one time to fix the issues your scan found, or $1,500 to rebuild the site.

If you want to know each month what ChatGPT says when people ask for a roofer in your area, the Monitor is $29 a month. It asks 25 buyer questions each week and shows who AI names: you or up to 5 competitors.

Other trades

Check your site

Scan your site free. It takes under a minute and needs no signup.

FAQ

Does ChatGPT recommend roofing contractors? Yes. ChatGPT can search the web and use your approximate location to find local results. It cites the pages it reads. OpenAI says placement is not guaranteed.

What schema type should a roofing company use? Use RoofingContractor from schema.org. Add your name, phone, address, hours, and an areaServed list of the towns you cover.

Should I put star ratings in my schema? Google says a business that controls its own reviews can't get star ratings on its LocalBusiness pages. Put reviews on third-party sites and quote a few in plain text on yours.

What sources does ChatGPT cite for roofers? It cites the pages it read for the answer. That can be your site, a directory, a review site, or local news. OpenAI says citations can be incomplete or outdated.

How do I get found after a storm? Keep your server fast, make sure your bot shield lets crawlers through, and publish a storm damage page that names your towns and explains claims.

What score should my roofing site get on the AI Ready Check? Aim for 90 or higher with no failed crawler checks. The roofing sites we scanned averaged 90.

Checked 2026-10-23. Prices and policies change. Confirm on the source before you buy.

Sources

More guides

Privacy

More from us: Trades With AI (AI tools for trades businesses) · SaaS Price Watch (SaaS pricing, tracked weekly) · WrapMockup (Free vehicle wrap mockups for trades) · SkillsPicker (Agent skills picked for your project)

AI crawler and llms.txt updates

Get an email when AI crawlers, robots.txt rules, or llms.txt practice change. Up to two emails a month.

We send a confirmation link first. See the privacy policy.