The Meta Description Is What AI Search Quotes
We updated the meta description on our /ai page this week. Short change, one line:
Fractional AI operations partner for service businesses in Hamilton County
(Carmel, Fishers, Westfield, Noblesville), Kokomo, and Indianapolis.
That's not a snippet rewrite. That's a positioning decision, and everything else on the page had to follow it.
Why the meta description matters more than it used to
Classic SEO taught you to write meta descriptions for click-through rate. The description shows up under the blue link in Google, so you write something that makes a human want to click. That logic hasn't disappeared, but it's now secondary to a different job.
AI answer engines read the meta description first. Perplexity, ChatGPT search, and Google AI Overviews all parse it when they're deciding how to describe your page. If your description is generic, "We offer AI solutions for businesses," that's what gets paraphrased back to a user asking "who does AI automation near Carmel Indiana." If it leads with a precise phrase and specific geography, you've given the engine a clean answer to pull from.
The meta description has become first-party content for generative search. Write it that way.
Planting the phrase
"Fractional AI operations partner" is the phrase we're anchoring on. It's specific enough to mean something, generic enough to match several real query types, and it maps accurately to what we actually do: we don't just build automations, we operate alongside a business's back office the way a part-time ops hire would.
Once that phrase was in the meta description, we had to make sure AI engines would find it more than once. A single instance isn't a signal. Repetition across surfaces is.
Here's where it landed in the same batch of changes:
- The
/aimeta description, leading sentence - The
ServiceJSON-LD schemanamefield:"Fractional AI Operations Partner" - The
CityLandingpillar copy for the AI tile: "Your fractional AI operations partner: we install AI engines..." - City page FAQ answers for Carmel, Westfield, and Noblesville, each phrased as "[City] fractional AI operations partner"
- City page meta descriptions: "fractional AI operations partner for [City] and [County] service businesses"
That's six surfaces, all using the same phrase, all server-rendered and crawlable. A search engine or AI assistant reading any one of these pages finds consistent language. An assistant that reads multiple pages finds the same phrase repeated across different contexts and treats it as authoritative.
The single source of truth underneath it
One thing that made this easier: the city list lives in one place.
src/content/local.ts exports the cities array and a cityServiceArea derived from it. When we added Service schema, we passed cityServiceArea directly into the areaServed field. The city page metadata pulls from the same array. The FAQ answers are written into each city object in that file.
No city appears in the FAQ but not in the schema. No city appears in the schema but not on a page. The list is one source and it propagates.
When you're managing geo targeting across six cities, NAP consistency, schema, metadata, and page copy, the only way to avoid drift is to derive as much as possible from a single definition. We added a city once in local.ts and it showed up in schema and metadata automatically.
The practical version
If you're running a service business and you have a website, this is the move:
Pick one phrase that describes your offer and who it's for. Not your tagline, not your elevator pitch. A phrase someone would actually type into a search bar. Put it in your meta description, leading sentence. Then open every FAQ answer, every schema field, and every page intro that could reasonably say the same thing, and update them.
The consistency is the signal. The AI engines are reading all of it.