Back to Resonance Lab

    Homeowners Are Finding Roofers Through ChatGPT. Here's How to Be the One It Names

    AI is not your lead channel yet — but it is where your next homeowners build their shortlist. The honest numbers, why most roofing sites are invisible to AI crawlers, and what to fix first.

    Janette O'ShaughnessyFounder, Resonating Brands
    August 17, 2026
    18 min read
    Homeowners Are Finding Roofers Through ChatGPT. Here's How to Be the One It Names

    A roofing owner posted a question in r/Roofing recently that stuck with me. He'd noticed customers showing up saying ChatGPT sent them, and he wanted to know "why the AI is selecting our business over others" and whether he should "invest more time into this emerging avenue or continue focusing on Google Ads."

    That is exactly the right question, and almost nobody in this industry is answering it honestly. So let me start with the number that most agencies will not show you.

    First, the honest number

    SearchLight Digital tracked 931 home service contractors with AI-referred leads from January through May 2026, using CRM-attributed closed invoices rather than guesswork. Here is what those contractors' lead sources looked like in May.

    Lead sourceMay 2026 leadsShare of all leads
    Google Business Profile308,20017.7%
    Google Local Services Ads269,40015.4%
    Google Ads258,40014.8%
    Organic search65,4003.7%
    ChatGPT1,0700.06%
    Gemini78under 0.01%
    Perplexity65under 0.01%
    Copilot50under 0.01%
    Claude24under 0.01%

    AI assistants delivered roughly one lead for every 290 that came from Google Business Profile. If someone is telling you to move budget out of GBP and LSAs and into "AI optimization" right now, they are selling you something.

    But look at the trend line in the same dataset. AI leads grew 76% from January to May, May set a new high, and closed revenue attributed to those leads hit $2.0 million across the group. ChatGPT is 83.1% of that AI lead volume. And 45% of consumers say they have now used AI for local recommendations, up from 6%, with 64% of 30-to-44-year-olds doing it compared to 24% of people over 60 (BrightLocal).

    So the honest read is this: AI is not your lead channel yet. It is the channel your next generation of homeowners is already using to build their shortlist. The work to show up in it is mostly work you should be doing anyway, which means the cost of positioning now is low and the cost of ignoring it compounds. That is the whole business case. No hype required.

    What actually happens when a homeowner asks ChatGPT for a roofer

    Most people picture ChatGPT reaching into some vast memory and pulling out a name. That's not what happens, and the difference matters enormously for what you should do about it.

    Step one: your city gets substituted in. OpenAI documents that ChatGPT "typically rewrites your query into one or more targeted queries" and may issue follow-ups. Their own published example takes "What are some good restaurants near me?" and rewrites it to "top restaurants San Francisco." The "near me" is resolved into a place name before any search runs. ChatGPT does that using general location from the user's IP address, which it "may share with trusted third-party providers that help provide more local information, such as nearby business listings."

    Practical consequence: the query that actually gets searched is closer to "best roofing companies Grand Rapids Michigan" than to anything the homeowner typed. Your content has to win that phrasing, not the conversational version.

    Step two: it searches the live web. OpenAI says it "sometimes partners with other search providers" and names Bing. We'll come back to that, because it's a lever hardly any roofer is pulling.

    Step three: it reads a handful of pages and writes an answer. When Search Engine Land ran controlled local searches through ChatGPT, they got back a map plus three business listings, "not unlike a local pack on Google," sourced from city guide pages, business websites, Reddit and Yelp. Only the top result matched Bing's top local listing. The second sat at Bing rank 14. The third wasn't in Bing's local listings at all. Their conclusion: "There is a small overlap between the two results, but it's clear ChatGPT is not merely repackaging Bing."

    The same test found something important: ChatGPT does not see your Bing Places profile data, Bing's Facebook or Yelp review integrations, or Bing's local map. It sees web pages.

    Read that again, because it's the thesis of this whole article. ChatGPT is not consulting a directory of roofers. It is reading pages about roofers. Which pages exist, whether it can read them, and what they say about you is the entire game.

    Google's side works differently and you should know both. AI Overviews and AI Mode "may use a 'query fan-out' technique — issuing multiple related searches across subtopics and data sources," and Deep Search can "issue hundreds of searches." To be eligible, "a page must be indexed and eligible to be shown in Google Search with a snippet... There are no additional technical requirements." And Google's own advice to business owners includes checking "that your Merchant Center and Business Profile information is up-to-date."

    Gemini is the one assistant with documented access to Maps data. Google's developer docs state that "Grounding with Google Maps integrates the Gemini API with the Google Geo ecosystem," that "local queries ('near me') will use the coordinates," and that it retrieves "places, reviews, photos, addresses, opening hours" across "over 250 million places worldwide." That is the clearest documented path by which your Google Business Profile becomes visible to a language model.

    Perplexity runs its own index of "over 200 billion unique URLs" and — this is the useful detail — it scores passages, not whole pages: "Our indexing and retrieval infrastructure divides documents up into fine-grained units. These sub-document units are individually surfaced and scored."

    The thing that makes most roofing websites invisible

    If you take one technical item from this article, take this one.

    Vercel, working with MERJ, monitored real crawler traffic across their network and reported: "The results consistently show that none of the major AI crawlers currently render JavaScript." That covered OAI-SearchBot, ChatGPT-User, GPTBot, ClaudeBot, PerplexityBot and others. ChatGPT's crawler fetched JavaScript files 11.50% of the time and Claude's 23.84% — and then didn't execute them. The exceptions were Gemini, which rides Googlebot's infrastructure and therefore gets full rendering, and AppleBot.

    That study is from December 2024, so I checked whether it still holds. It does. Search Engine Land ran its own tests and reported in April 2026: "Most AI crawlers don't execute JavaScript. We tested the major ones (ChatGPT, Claude, and others), and the results were consistent: none of them render client-side content." And as of mid-2026, "no AI vendor has publicly documented adding JavaScript rendering to its crawler" — none of the official crawler docs from OpenAI, Anthropic or Perplexity claim the capability.

    Here is what that means in plain terms. If your site assembles its page content in the visitor's browser after the page loads, a human sees your Kentwood roof repair page fully populated and ChatGPT, Claude and Perplexity see a nearly empty shell.

    Not a badly optimized page. An empty one.

    One useful corollary: this is also why client-side-injected schema markup does nothing for AI visibility. JSON-LD that ships in your initial HTML is readable by AI crawlers because it's just text in the response body. JSON-LD injected client-side after load is not — and it will still pass Google's Rich Results Test, because that tool renders.

    The Vercel study also found AI crawlers are inefficient in a way that punishes sloppy sites. ChatGPT's crawler spent 34.82% of its fetches hitting 404s and another 14.36% on redirects. Claude's spent 34.16% on 404s. Googlebot's 404 rate was 8.22%. Every dead link and stale redirect on your site burns crawl budget that could have gone to your service area pages.

    The good news: the platforms fixed this, and most people haven't noticed

    When I first started raising this, the honest answer for a lot of modern site builders was "you're out of luck." That changed in 2026, and if your site was built on one of these platforms the fix may already be available to you.

    Lovable rebuilt its output on TanStack Start. Per Lovable's own documentation, TanStack Start became the default for new projects on May 13, 2026, and those pages are server-rendered — the full HTML is assembled on the server and handed to whoever asks for it, crawler or human.

    Vercel's v0 has been server-rendered by default for longer: "v0 uses the Next.js App Router and Server Components out of the box. Your deployed websites are server-rendered by default, with full HTML returned at the time of the request."

    So the framework question is largely settled on the newer platforms. But there are three things you need to understand before you assume you're covered, and the second one is where I have to correct advice I gave earlier in this article.

    One: older projects got a different, weaker fix. Lovable's documentation is explicit that legacy projects were not migrated. "Older React + Vite apps use on-request pre-rendering on deployed public URLs, served only to verified search and AI crawlers." Lovable's blog describes the mechanism: "When a deployed Lovable app gets visited by a verified crawler, we render the page server-side in a headless browser and serve the rendered HTML. For human visitors, nothing changes, the app still loads as a regular SPA in their browser."

    Worth noting that Lovable reports real results from that prerendering layer: "across all domains, we're seeing an increase by 2.9% in organic search traffic for apps using pre-rendering" and "98.5% in traffic from AI tools like ChatGPT and Perplexity." A near-doubling of AI traffic is exactly the effect you'd predict if the problem was that the bots were being handed an empty page.

    Two: the "View Page Source" test everybody recommends gives you a false negative on a bot-gated site. The standard advice is to view source and search for a sentence of your body copy. That test is correct for a plain client-rendered site. It is wrong for a legacy Lovable site, because prerendering there is served only to verified bots — and your browser is not one. A member of Lovable's product team explained the detection: "Pre-rendering is only served to verified bots (from Google, Bing etc) as we detect them. We do not rely solely on the User-Agent string for detection but use a number of other validation methods as well. That means that other agents e.g. a third party SEO scanner won't see it."

    So on a legacy Lovable site, View Source shows an empty shell and Google still sees your content. Same reason a curl request with a GPTBot user-agent string won't prove anything either — the UA alone doesn't get you verified.

    Here's the sequence that actually tells you the truth.

    1.Identify your stack first. — On a Lovable project, look for app.config.ts, router.tsx and routeTree.gen.ts — that's TanStack Start. A vite.config.ts with React Router means you're on the legacy stack. Projects created during the April 20 to May 13, 2026 transition window should be checked individually, because the rollout was inconsistent before May 13 became the stable default.

    2.If you're on the new stack, View Source is a valid test. — Everyone gets the same HTML — Lovable's docs say server-rendered pages go to "visitors, search engines, AI crawlers, link preview bots, and any other tool."

    3.If you're on the legacy stack, use Google Search Console's URL Inspection tool and Bing Webmaster Tools — instead of View Source or any third-party crawler, since those are the verified bots that receive the prerendered HTML.

    4.Test the AI surfaces directly, regardless of stack. — Paste your service page URL into ChatGPT, Claude and Perplexity and ask each one to summarize what's on it. Then paste the link into Slack, WhatsApp and iMessage and see whether you get a real preview or a generic one. Independent testing through mid-2026 kept finding gaps between platform claims about rendered content and what those specific surfaces actually received, so don't infer AI coverage from Googlebot behavior. Test the surface you care about.

    Three: dynamic content is still the weak spot on legacy builds. Prerendering handles static pages well. Pages that pull from a database or API at request time are a harder problem, and that's exactly where a lot of roofing sites keep their service area content, project galleries and review feeds.

    If you're on a legacy Lovable project and any of this describes you, the in-place upgrade now exists. It "happens inside your existing project," it doesn't touch your live site until you republish — "Your published site keeps serving the old version until you publish again" — and it's reversible from version history. Lovable puts most upgrades at 10 to 35 credits. Pilot it on a copy, verify your rendered HTML and routing, then publish. Lovable's own answer on whether it's mandatory: "No. Older React + Vite projects keep working, and search engines can still read them through pre-rendering... Upgrade when you want full server-side rendering, reliable link previews, and faster first loads."

    My read for a roofing site: upgrade. Bot-gated prerendering depends on a vendor correctly identifying every crawler that matters, forever, including ones that don't exist yet. Server-side rendering doesn't depend on identifying anybody.

    Training crawlers vs. search crawlers, and the block you may not know you have

    This is where I find real, fixable damage on client sites, and it comes from good intentions.

    There are two completely different categories of AI crawler, and blocking the wrong one either does nothing or removes you from an assistant entirely.

    CrawlerWhat it does (per official docs)What blocking it costs you
    GPTBotTraining. "Disallowing GPTBot indicates a site's content should not be used in training generative AI foundation models"Nothing in ChatGPT search
    OAI-SearchBotSearch. "Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers"You disappear from ChatGPT answers
    ChatGPT-UserUser-triggered fetches; "not used to determine whether content may appear in Search"Breaks live lookups
    PerplexityBotSearch; "not used to crawl content for AI foundation models"You disappear from Perplexity
    ClaudeBotTrainingNothing in Claude search
    Claude-SearchBot"navigates the web to improve search result quality"Removes you from Claude's search index
    Google-ExtendedGoverns training and Gemini Apps grounding. "Google-Extended does not impact a site's inclusion in Google Search nor is it used as a ranking signal"Gemini Apps grounding only
    GooglebotThe control for AI Overviews and AI ModeRemoves you from Google Search and its AI features

    Notice the trap. Blocking GPTBot — the thing everybody read about and did in 2024 to "keep AI from stealing my content" — costs you nothing in ChatGPT search. Blocking OAI-SearchBot removes you from ChatGPT's answers completely. Those two lines look nearly identical in a robots.txt file and have opposite consequences.

    Also worth knowing: there is no way to appear in Google Search but stay out of AI Overviews. Google's documentation makes clear that snippet eligibility is the gate, so noindex removes you from both, and nosnippet or max-snippet restricts your AI eligibility along with your regular snippets.

    Then there's Cloudflare, which is where I find the most silent damage. Cloudflare launched a one-click "Block AI Bots" control, and on July 1, 2026 it split AI crawlers into Search, Agent and Training categories. Their documentation states that "On September 15, 2026, Cloudflare will set updated defaults for new domains: bots classified as Training or as Agent will be blocked on pages that display ads, and Search will remain allowed," and that the legacy toggle is deprecated on that same date and will block mixed-purpose Search-and-Training crawlers.

    If a well-meaning web person flipped that toggle on your site two years ago, that toggle — not your content — may be the reason ChatGPT has never named you. Check it this week. It takes two minutes.

    Bing quietly matters again

    OpenAI names Bing as a search provider, and Microsoft's Copilot pipeline runs on Bing too. For fifteen years the correct amount of attention to pay Bing was almost none. That changed.

    In February 2026 Bing Webmaster Tools launched an AI Performance report in public preview, covering "Microsoft Copilot, AI-generated summaries in Bing, and select partner integrations." It reports Total Citations, Average Cited Pages, page-level citation activity, and — the part I care most about — Grounding queries, described as "the key phrases the AI used when retrieving content." Microsoft calls it "an early step toward Generative Engine Optimization (GEO) tooling."

    Grounding queries are the closest thing available to a window into the rewritten and fanned-out phrasings the AI actually searched. It's free. Almost no roofing company has it set up. Do that this month.

    Google Business Profile and reviews: volume beats perfection

    Google itself tells business owners to keep Business Profile information current as part of doing well in AI features, and Gemini's documented Maps grounding pulls in places, reviews, photos, addresses and hours. So there's a documented mechanism here, not just correlation.

    On top of that, Insites audited 10,000 US local businesses across ChatGPT and Perplexity and compared the ones that got surfaced against the ones that didn't.

    MeasureSurfaced by bothSurfaced by neither
    Average GBP reviews133.410.7
    Profile completeness77.8%31.5%
    Photos present88.9%34.8%
    Claimed listing91.5%38.2%
    Average star rating3.71.7

    And when they sorted businesses by how often AI recommended them, total reviews across the web went 304.2 for highly recommended, down through 231.8, 196.8 and 130.5, to 117.5 for never recommended. Average rating, meanwhile, "barely moved" — 3.8, 3.8, 3.8, and only dropping to 3.3 for the never-recommended group.

    Their conclusion is the useful one: "AI seems to care much more that a business has been reviewed a lot than that it's been reviewed perfectly," and "A business with 150 reviews at 4.2 stars is, on this data, more likely to be surfaced by AI than one with 20 reviews at 4.9 stars."

    I'll be straight with you about the limits of that study. It's vendor-run, it's correlational, it's undated, and review count travels with company age, size and marketing spend — so some of that gap is just "bigger companies get recommended more." It does not prove causation. It is still the largest published effect anyone has measured for local AI visibility, and it points the same direction as Google's own documentation. That's enough to act on.

    The practical version: stop chasing a 5.0. Chase volume and recency. A review request that goes out on every completed job, every time, will do more for your AI visibility than any technical trick in this article.

    Yelp came back, and it matters now

    In July 2026, Yelp began licensing "reviews, photos and other business information to OpenAI, giving ChatGPT a new source of real-time local recommendation data." Yelp's "Request a Quote" feature "will also be added soon, allowing ChatGPT users to contact local service providers for quotes directly through the large language model." Yelp's CEO put it bluntly: "If you want to answer local queries, you really need Yelp."

    I know exactly how most roofers feel about Yelp. Set that aside for a minute. A licensed data feed into the assistant that produces 83% of AI leads in home services, with a quote-request button coming, is a different proposition than the Yelp you stopped paying attention to in 2019. Claim the profile, fill it out completely, add photos, and get the review count moving. It costs nothing to claim.

    Writing for fan-out instead of writing for keywords

    Here's where content strategy actually changes, and it's more interesting than "write more blog posts."

    Because Google fans a question out into subtopics and issues many queries at once, and because ChatGPT rewrites and may issue follow-ups, you're no longer competing for one query. You're competing for a cloud of sub-questions the assistant generated on the homeowner's behalf.

    When a homeowner asks "should I file an insurance claim for my hail-damaged roof in Grand Rapids or pay out of pocket," the fan-out underneath it looks something like: average hail damage roof replacement cost Michigan, Michigan insurance deductible roof, how long to file a hail claim Michigan, does filing a claim raise premiums, how to tell if hail damaged shingles, roofers who handle insurance claims Grand Rapids.

    Whoever has real, retrievable content covering the most of those sub-questions gets pulled into the answer. This is why thin service-area pages that just swap the city name don't work anymore — they answer one query, badly, six hundred times.

    Two more mechanics worth designing around.

    Passages get scored, not pages. Perplexity explicitly divides documents into "fine-grained units" that are "individually surfaced and scored." So write in self-contained blocks. A question as a heading, followed by a complete answer in the first two or three sentences, that would still make sense if it were lifted out of the page and pasted somewhere else. If your answer only makes sense after four paragraphs of ramp-up, it won't survive extraction.

    Longer, question-shaped queries are where AI answers actually appear. Pew Research analyzed real browsing logs from 900 US adults across 68,879 Google searches in March 2025 and found AI summaries appeared on 8% of one-to-two-word queries but 53% of queries with ten or more words, and on 60% of queries starting with a question word.

    That tells you where to aim. "Roofer Grand Rapids" is still a classic local SEO fight — GBP, proximity, reviews, ads. "How do I know if my insurance company is lowballing my roof claim in Michigan" is the AI fight, and it's the one with less competition and a better-qualified reader on the other end.

    The same Pew study is also your reality check on traffic. When an AI summary appeared, 8% of users clicked a traditional result, versus 15% when there was no summary. Only 1% clicked a link inside the summary. And 26% ended their session entirely, versus 16%. Ahrefs, measuring across 300,000 keywords, put the position-one click-through reduction on AI Overview keywords at about 58%.

    So some of this visibility will never show up as a website visit. Being named in the answer is the win. Plan for brand recall and direct calls, not just sessions.

    Your own site matters, and so do pages you don't control

    BrightLocal ran 800 manual local searches through ChatGPT across 20 verticals and 20 US cities and recorded where the sources came from.

    Source typeShare of ChatGPT's local sources
    Business websites58%
    Editorial mentions (press, Wikipedia, best-of pages)27%
    Directories15%
    Forums0%

    Within directories, an obscure one — Three Best Rated — accounted for 24% of directory citations, ahead of Expertise at 18%. That data is from November 2024, before the Yelp deal and before Gemini 3, and the 0% forum figure conflicts with later studies, so trust the direction rather than the decimals. The direction is: your own site does the most work, and roughly a quarter of what the assistant reads is somebody else writing about you.

    That second part is where roofers are weakest. A University of Toronto paper analyzing AI search behavior found that these systems "exhibit a systematic and overwhelming bias towards Earned media (third-party, authoritative sources) over Brand-owned and Social content." And Ahrefs found that among AI Overview citations that did not rank in Google's top 100, 18.2% were YouTube URLs, with YouTube mentions being "the strongest correlating factor with AI Overview visibility" in a separate study of 75,000 brands.

    So: local news coverage, chamber and association listings, supplier and manufacturer certification pages, "best roofers in [city]" roundups, podcast appearances, and yes, YouTube — where a job walkthrough with a real transcript is a citable asset. Those aren't vanity plays. They're the sources the assistant reads when it's deciding who's actually good.

    Stop paying for these three things

    I'd rather you trust me than sell you something, so here's what the evidence does not support.

    llms.txt. Google's John Mueller: "FWIW no AI system currently uses llms.txt," and "none of them fetch the llms.txt file. Maybe they will tomorrow? Maybe I'll win in the lottery tomorrow?" Asked whether Google hosting one on its own developer site was an endorsement, he said, "I'm tempted to say something snarky since this has come up so often, but to be direct, no." It's a five-minute file. Fine to add. Not a service worth paying for.

    Schema markup sold as an AI citation tactic. Ahrefs ran the closest thing to a real experiment on this: 1,885 pages that added JSON-LD between August 2025 and March 2026, each matched against three control pages, analyzed with difference-in-differences. Result: -4.6% on AI Overviews (a small but statistically significant decline), +2.4% on AI Mode and +2.2% on ChatGPT, both indistinguishable from zero. Their summary: "Adding schema produced no major uplift in citations on any platform."

    Worse, most assistants apparently can't even read it. Otterly implemented five schema types on a site and then asked seven AI platforms to retrieve the raw markup. "Six out of seven platforms failed." Only Gemini returned correct JSON-LD. Google AI Mode "didn't just fail, it hallucinated," reporting a Service schema that wasn't on the page. Their line is worth quoting: "A platform that confidently returns wrong structured data is not reading schema. It is generating text that sounds like schema."

    I still put LocalBusiness, Service, AggregateRating and FAQPage markup on every roofing site I build. It earns classic rich results and it makes your name, address and phone machine-readable. Those are good reasons. "It gets you cited by ChatGPT" is not one of them, and Google's own AI documentation says plainly that "There are no additional technical requirements" beyond being indexed with a snippet.

    The "40% visibility boost" pitch. That number comes from a real academic paper on generative engine optimization, but a 2026 review of 45 studies found the gains "are valid within its experimental setting but conditional on a source already being present in a fixed context; they establish neither organic discoverability nor durable traffic effects," and concluded that "no reviewed technique shows a stable, longitudinal, cross-platform causal effect on organic discoverability." The 40% was measured on content that had already been handed to the model. It says nothing about getting found in the first place.

    One more myth to retire, because it gets sold constantly: ranking #1 on Google does not get you cited by chatbots. Ahrefs found only about 12% of chatbot citations came from pages ranking in Google's top 10 — around 8% for most assistants, 28.6% for Perplexity — and "more than 80%" of cited pages didn't rank at all. Google's AI Overviews are a different story, and even there the numbers moved: Ahrefs' larger March 2026 sample put top-10 overlap at 37.9%, down from an earlier 76% estimate.

    Translation: your Google rankings buy you AI Overview presence. They buy you very little in ChatGPT. Those are two separate projects.

    How to actually measure this

    You can't manage what you can't see, and the tooling here is genuinely immature. Here's what exists.

    Google Search Console. On June 3, 2026, Google announced new Search Generative AI performance reports covering "AI Overviews and AI Mode, as well as generative AI features in Discover," rolling out "to a subset of websites." They are impressions only, with pages, countries, devices and date ranges. AI Mode clicks and impressions are folded into the standard Performance report, but as Search Engine Land noted from Google's help documentation, "it appears Google won't let us filter to see just AI Mode impressions, clicks, and CTR." So: you can see AI impressions. You cannot isolate AI clicks.

    Bing Webmaster Tools AI Performance. Covered above. Free, and the grounding-query data is the single most actionable thing available.

    GA4. Build a custom channel group under Admin, then Data display, then Channel groups. Add a channel called "AI Referrals" and match session source against a pattern covering chatgpt.com, perplexity.ai, copilot.microsoft.com, gemini.google.com and claude.ai. Some properties now show a native "AI Assistants" entry in the default channel group — check yours before building anything custom. Understand that GA4 will always undercount here, because most AI answers produce no click at all.

    Paid AI visibility trackers. Otterly publishes the most transparent pricing: $29/month for 15 tracked prompts, $189 for 100, $489 for 400. Semrush's AI Visibility Toolkit is $99/month per domain billed annually for 25 prompts. Ahrefs' Brand Radar runs $398 or $699/month. Profound and Peec don't publish self-serve prices at all.

    For most roofing companies, none of those are necessary yet. Build a list of 12 prompts your ideal customer would actually type, run them manually in ChatGPT, Perplexity and Google AI Mode on the first Monday of every month, and log who gets named. That's free, it takes twenty minutes, and it's honest. Just be aware these systems are volatile — Semrush watched ChatGPT's Reddit citation rate fall from about 60% of responses to about 10% in roughly six weeks. Don't panic over a single month's reading.

    The sequence I'd actually run

    If you did these in order, you'd be ahead of nearly every roofing company in your market.

    This week

    1.Establish whether your pages are actually readable. Identify your stack, check Google Search Console URL Inspection, and paste your main service page URL into ChatGPT, Claude and Perplexity to see whether each one can summarize it accurately. If they can't, your site is invisible to them and nothing else on this list matters until it's fixed.

    2.Read your robots.txt. Confirm OAI-SearchBot, PerplexityBot, Claude-SearchBot and Googlebot are allowed. Blocking GPTBot and ClaudeBot is your call — those are training crawlers and blocking them costs you no search visibility.

    3.Check your Cloudflare bot settings for an AI-blocking toggle, especially with the default changes landing September 15, 2026.

    This month

    4.Set up Bing Webmaster Tools and turn on AI Performance. Get your sitemap in.

    5.Audit your Google Business Profile to genuinely complete: every category, service, hour, photo, Q&A.

    6.Claim and complete your Yelp profile. Yes, really.

    7.Fix your 404s and redirect chains. AI crawlers waste a third of their fetches on them.

    8.Write your 12 tracking prompts and run your first baseline.

    This quarter

    9.Rebuild your top three city pages around fan-out sub-questions instead of keyword variations, with each answer written as a self-contained, extractable block.

    10.Build a review engine that asks on every single completed job. Volume and recency, not perfection.

    11.Go earn three third-party mentions: a local news story, a best-of roundup, a supplier or manufacturer certification page.

    12.Publish one honest pricing page with real ranges for your market, because your customers are already asking ChatGPT what a roof should cost and getting an answer from somebody who's never worked in your city.

    The part that hasn't changed

    I've given you a lot of mechanics, so let me end on the thing underneath all of it.

    Every documented signal in this article — reviews, third-party mentions, complete profiles, content that answers a real question the way an expert would — is a proxy. These systems are trying to figure out which roofer in Grand Rapids is actually good, using the evidence the internet has left lying around. They are reading what other people said about you, whether you showed up, whether you answered the phone, whether the job got done right.

    There is no prompt trick for that. The companies that win in AI search will be the ones that were already worth recommending and made it easy for a machine to notice.

    Your one action this week: paste the URL of your main service page into ChatGPT and ask it to tell you what services that page offers and where you work. If it can read the page back to you accurately, you're in the race. If it comes back vague, hedging, or wrong, your rendering is the first thing to fix — not your content.

    If you want a second set of eyes on any of this, we build next generation websites and search systems for roofing and home service companies, and we'll tell you the truth about what's working.

    Book a free strategy session →

    Janette O'Shaughnessy is the founder of Resonating Brands, a boutique digital marketing agency based in West Michigan that specializes in next generation websites, voice agents, and lead generation systems for home service contractors.

    Continue Learning: Roofing Marketing Hub · Roofing SEO Mistakes · On-Page SEO vs. Technical SEO · What Is SEO and Why Do I Need It?

    Ready to Implement This Strategy?

    Let our team build the revenue system that puts these insights into action.

    Book Your Strategy Call

    About the Author

    Janette O'Shaughnessy

    Janette O'Shaughnessy is the founder of Resonating Brands, a digital marketing and web design agency specializing in next generation websites and lead generation systems for roofing contractors and home service businesses. She helps roofing, plumbing, electrical, hvac, and tree service companies move beyond outdated websites and into next generation digital infrastructure built for the way homeowners search today.

    FAQs

    Frequently Asked Questions

    Related Articles