Go search "best roofer in Dallas" on Perplexity right now. Or ask ChatGPT who to call for a roof replacement in Houston. Watch what comes back.
Angi. Maybe HomeAdvisor. Maybe a local news piece from a few years ago. Your business might appear, but only if one of those directories has already listed you. Your own website almost certainly will not show up as the source.
This outcome is not random. Once you understand how AI engines decide what to cite, it becomes completely predictable. And once it is predictable, you can do something about it.
Why aggregators win by default
AI assistants generate answers by identifying content that directly addresses the question someone asked. Angi's pages were built, at enormous scale, to do exactly that.
Pull up an Angi page for Dallas roofing. It tells you which contractors operate in the city, what roof replacement costs in that specific market, what questions homeowners should ask before signing a contract. The page is structured like an answer because that is what it was designed to be.
Most roofing contractor websites are not structured that way. They have a homepage that tells the company story and a services page that lists what the company does. Neither of those gives an AI engine a direct answer to "who should I call after a hailstorm in Frisco?" The AI cannot extract a recommendation from your homepage. It can from Angi's. Angi gets the citation.
The authority gap
Beyond structure, aggregators have a 20-year head start on something AI engines weigh heavily: external references. A local paper runs a storm damage resources piece and links to Angi. Someone asks on Reddit how to find a contractor and a commenter posts a HomeAdvisor link. City guides, consumer protection articles, neighborhood association newsletters: all of them point to directories.
AI engines treat sources partly as a function of how often other trusted sources reference them. Angi has accumulated millions of these references. A typical roofing contractor's website has very few.
That gap is real. It is also not permanent. AI engines also weight relevance and recency. A page on your own site that directly answers a specific local question, with your city, your service area, your contact details built in, can outperform a generic Angi listing for that precise query. What you lack is volume. What you have is specificity, and for hyper-local searches, specificity wins.
What your site actually needs
Three elements are missing from almost every roofing contractor site we audit.
Answer pages. Dedicated pages that address the specific questions homeowners ask before they hire. "How much does it cost to replace a roof in Houston?" "What should I do if my roof was damaged in a hailstorm?" "How do I know if I need a repair or a full replacement?" Each of those is a page the AI can find and cite for a specific query. A contractor with 10 of these pages across their service area has 10 separate chances to appear in AI answers. A contractor with zero has none, regardless of how polished the rest of their site is.
Schema markup. Structured data in your page code that tells AI engines, in a format they can parse without guessing, what your business is, where you operate, and what you do. LocalBusiness schema with accurate service area data, Service schema for your roofing work, FAQPage schema on your answer pages. Without it, AI is reading your marketing copy and inferring the details. It often gets them wrong, or skips your site entirely in favor of a directory that has clean data.
External references. Getting your site mentioned in local sources over time, a neighborhood blog, a local news feature after a storm, a community association guide, builds the same type of signal that aggregators have spent 20 years accumulating. This takes longer than the on-site work. It is also what ultimately shifts AI weight toward your own domain and away from a directory listing that buries your name among 40 competitors.
The timeline for closing the gap
Contractors who launch with strong answer content and clean technical infrastructure typically see their first meaningful AI citations within 60 to 90 days. Building consistent visibility across the full range of homeowner queries for a city takes 4 to 6 months.
One variable accelerates this considerably: being the first contractor in your market to do it. If no roofing company in San Antonio has published structured AEO content, the first one to do it accumulates citation history with zero local competition. The second one to enter that market is chasing a moving target from day one.
See who AI recommends in your city right now
We run 20 to 30 homeowner queries across ChatGPT, Perplexity, Gemini, and Claude, show you what comes back, and explain what changes first. Free, no obligation.
Get my free AI Visibility ReportFor the full picture on how to build AI visibility from scratch, read what AEO is and how it works for roofing contractors. For a realistic view of the timeline, see how long AEO takes to produce results.