When an AI assistant gives a vague answer, the reflex is to blame the model. Usually the problem is upstream: the passage it was handed wasn’t good enough, because the page it came from wasn’t structured.
The encouraging part is that the changes which help retrieval are the same ones that help human readers.
In short
Retrieval works on passages, not pages. Real headings, specific facts and answers placed in the section that asks the question do more for answer quality than any setting.
Why structure matters more than you’d expect
Your pages aren’t retrieved whole. They’re split into passages, and passages are what get matched, scored and sent to the model. The quality of that split determines almost everything downstream.
A full index splits your pages at heading boundaries, so a chunk is normally one section on one topic. It also stores each chunk’s heading trail alongside the text, which means a passage under “Shipping → International” carries that context even if the sentences themselves never say “shipping”.
This is why a full re-index is worth running after you restructure a page, rather than relying on the incremental update that fires when you hit Save — that faster path splits by length and doesn’t capture the heading trail.
A page with no headings can’t benefit from any of this. It gets split by length, mid-thought, and the resulting passages cover two half-topics each.
Six changes that measurably help
Use real headings
Actual H2 and H3 elements, not bold paragraphs. Bold text is styling; a heading is structure, and only structure is visible to the chunker.
Write headings as topics, not teasers
“International shipping times” retrieves. “The bit you’ve been waiting for” does not. Clever headings cost you matches.
Answer the question in the section that asks it
If a section is headed “How long does delivery take?”, the delivery time belongs in that section — not three sections later. Retrieval returns the section that matched; if the fact lives elsewhere, it doesn’t travel with it.
Say the specific thing
“We aim to respond quickly” gives the assistant nothing to work with. “We respond within one business day” is retrievable, quotable and checkable. Vague copy produces vague answers.
Keep facts out of images and PDFs
A price list rendered as a JPEG is invisible. If a fact matters, it needs to exist as text somewhere on the page.
Put contact details in page content
This one catches people out constantly. Details that live only in a footer or a theme template part aren’t post content, so they aren’t indexed. Your assistant will decline to give out an email address that appears on every page of your site. Put it in the body of a contact or about page as well.
Use your visitors’ words, not your own
Semantic matching handles a lot of vocabulary drift, but it isn’t magic. If your industry calls something a “consultation” and your customers call it “a chat about whether this is right for me”, saying both somewhere on the page costs you a sentence and buys you a match.
An FAQ section is the efficient version of this: it lets you state the question in customer language and the answer in yours, right next to each other.
Then check, don’t assume
After restructuring, run a full re-index and put your real questions through the Search Eval screen. It shows which passage matched and how strongly, without generating an answer — one embedding per question, cached for an hour while you iterate. If the top match is the wrong section, the fix is in the content, not the settings.
The one people miss
Contact details that live only in a footer or a theme template part are not post content, so they are never indexed. Your assistant will decline to give out an email address that appears on every page of your site. Put it in the body of a contact or about page too.
Check your own content with Search Eval.