The short version
If your rankings are flat but your clicks are falling, the answer is being given above you and somebody else is being named in it. Getting into that answer is a different job from ranking, and three things do most of the work. First, state the answer in full near the top of the page in language that survives being lifted out of context, because a model quotes a passage rather than reading to the end. Second, make your structured data and your visible copy agree, since disagreement is the normal state of a contractor site and it gets the page skipped. Third, fix what third-party sources say about you, because assistants mostly repeat the consensus of directories, review sites and publishers rather than forming an opinion from your homepage. Measure it by running the same set of real customer questions every month and recording who gets named. That is a share of voice, not a rank, and treating it like a rank is how people end up buying things that do not exist.
The pattern in the reports
Over the last year the same shape keeps appearing in client reporting, and it is worth naming because it looks like a tracking bug the first few times you see it. Positions are stable or improving. Impressions are up. Clicks are down, sometimes a lot, on exactly the informational queries that used to bring people in.
Nothing has gone wrong on the site. What has happened is that the question is now being answered above the results, and the answer names two or three businesses. Nobody scrolls past a confident answer to audit it, any more than they used to click through to page two.
For a local service business that is not the end of anything, because the transactional searches still behave mostly the same way. But the top of the funnel has changed shape, and the businesses getting named in those answers are collecting the attention that used to be distributed across the first page.
What assistants are actually reading
The mistake is imagining a model that visits your homepage and forms an opinion. What is actually happening is closer to a summary of a consensus: what your own pages say, what directories and review sites say, and what a handful of publishers say. Then it produces a short answer in its own words and names whoever the sources agree on.
Two consequences follow, and they are not the ones people expect.
The first is that a beautiful website with nothing said about it anywhere else is weak here, weaker than in ordinary search. If the rest of the web is silent about you, there is no consensus for a model to summarise.
The second is that inconsistency does more damage than in classic SEO. In search, a mismatched address across three directories is a minor local ranking drag. Where an answer has to be stated as a fact, conflicting facts are a reason to use somebody whose facts agree with themselves.
Why most contractor pages cannot be quoted
Open a typical service page and watch where the answer sits. There is a headline, a paragraph about being family owned since 1998, a paragraph about commitment to quality, a photo of a van, and then somewhere around the fifth screen, the actual information: what it costs, how long it takes, whether it needs a permit.
A model extracting an answer takes a passage. If the passage that matches the question is buried among conditions and warm-up, the useful part does not survive being lifted out. Nothing is being penalised. The page simply does not contain a chunk of text that stands on its own.
The fix is dull and it also improves the page for humans. State the answer first, in full, in one self-contained paragraph, including the qualifiers inside that paragraph rather than in the next one. Then argue for it. A furnace replacement in Calgary runs $6,000 to $11,000 installed for a mid-efficiency unit in a typical two storey home, with the range driven mostly by ductwork condition and venting. That sentence survives being pulled out of the page. Prices vary depending on many factors does not.
Structured data that agrees with the page
Markup is not a ranking trick here. It is a way of removing ambiguity about which entity the page is about, what service is described, and which questions it answers.
The rule that matters more than which schema types you use: the markup and the visible copy must say the same thing. We audit sites weekly where the schema claims service areas the page never mentions, opening hours that contradict the footer, or an FAQ block containing questions that appear nowhere on the page. That is the normal condition of a contractor site, usually because a plugin generated the markup and a person wrote the page.
Where they disagree, the sensible thing for any consumer of that data is to trust neither. Making them agree is an afternoon of work and it is the highest return item on this list.
The sources doing the heavy lifting
Ask an assistant who to call for a trade in a mid-sized city and watch what it cites. Usually a directory, a review platform, sometimes a local publication, occasionally a forum thread. Your own site is often in there, but rarely alone and rarely first.
This makes the unglamorous citation work more valuable than it has been in years. The name, address, phone and category on the entries an assistant reads are the facts it will repeat about you. If three of them are stale, the answer about you is stale, and no amount of on-site work overrides it.
Reviews matter differently too. Not just the star average, but what the text says, because a summariser reads review text and produces phrases like known for emergency callouts and fast response. Those phrases come from your reviews. Asking customers to mention the specific service they had done shapes them in a way that a generic request for five stars does not.
Measuring something that has no positions
There is no rank to check, which sends a lot of people either to hand-waving or to a tool that produces a score nobody can explain.
What works is unglamorous. Write forty to sixty questions a real customer would ask, in the words they would use. Run them monthly across the assistants that matter. Record whether you are named, who else is, and what is said about you. That gives a share of voice you can chart, plus something more useful: a list of the wrong facts being repeated, which is fixable within a month.
Two things to insist on. Run the same prompts every month, because changing the question set changes the number and makes the trend meaningless. And keep the prompts written down and visible to the client, so anyone can re-run them and get the same answer. Reporting that cannot be independently reproduced is not reporting.
Also check your server logs for the AI crawlers. It is the flattest question available: are they reading your site at all. Occasionally the answer is no, because a plugin or a firewall rule is blocking them, and everything else is irrelevant until that is fixed.
Should you block them instead
Publishers with archives worth money have a genuine argument for blocking. A plumber does not. Blocking removes you from the answer that is increasingly the whole result page, in exchange for protecting content nobody was going to pay for.
Check your robots file for crawler rules somebody added during a panic in the last two years. We find them regularly, usually copied from an article written for newspapers.
What not to buy
Nobody can guarantee placement in an AI answer. There is no slot and no auction. An agency promising a position is describing a product that does not exist, and the price they charge for it is the tell.
Be equally wary of anything promising to publish a hundred pages a month for this. Volume without substance was already failing in search; in a system that summarises consensus, adding your own noise to the pile achieves nothing. One page a month that is genuinely the best source for one specific question, with a real local number in it, outperforms fifty that restate the obvious.
And do not let anyone bill you for this as a separate discipline if they are already doing your SEO and simply renamed it. The extra work is real but narrow: prompt tracking, answer placement, markup agreement, source repair. Everything else is the work you were already paying for.
Check it on your own site
Write forty questions in customer language
Not keywords. Whole questions, the way someone speaks them: who can fix a furnace in Calgary on a Sunday, what does a roof replacement cost in Alberta, is a permit needed to move a gas line.
Run them once and record who gets named
Across AI Overviews, ChatGPT search, Perplexity and Gemini. Save the answers as text. This is your baseline and you only get one chance to take it before you start changing things.
Check whether AI crawlers can reach you
Look in your server logs for the AI user agents and read your robots file for rules added during a panic. If they are blocked, nothing else on this list matters.
Move the answer to the top of your five best pages
One self-contained paragraph that answers the page's question in full, including the qualifiers, before any argument for it. Read it out of context and see whether it still makes sense.
Make markup and copy agree
Every claim in your structured data must appear on the visible page. Delete the schema fields you cannot back up rather than adding copy to justify them.
Re-run the same prompts monthly
Same questions, same order, logged. Changing the set changes the number and hides the trend, which is exactly what happens when reporting is designed to look good.