Optimizing for Google Gemini and ChatGPT answers with Tashkent context
Generative engines do not rank ten links — they assemble one answer from a handful of sources. Getting into that answer on local queries is harder than ranking, but the rules are already clear.
How citation differs from ranking
Classic search returns a list and the user picks. A generative engine composes a synthesized answer and names two to four sources. The difference is that there is no page two: either you are cited or you do not exist.
The model does not pick the most SEO-optimized page, it picks the one from which a self-contained fragment is easy to cut. A paragraph that answers the question completely without depending on its neighbours gets cited far more often.
The practical consequence: content structure matters more than keyword density. The heading states the question, the first paragraph under it gives the full answer in two or three sentences, details follow.
Local context: why Uzbekistan is harder
Models have markedly less training data on Uzbek queries than on Russian or European ones. Answers frequently surface outdated facts, confused names and generalizations at the level of 'Central Asia'.
That is a barrier and an opportunity at once. The barrier is that the model may not know your niche at all. The opportunity is that competition for citation in a narrow local topic is an order of magnitude lower than for a Google position on the same query.
To get into the answer you need explicit local anchors in the text itself: city, district, amounts in UZS, local providers and services. 'Delivery across Tashkent inside the Small Ring Road' gets cited, 'city-wide delivery' does not.
What to do with the content technically
Remove the dependency of meaning on JavaScript. Many crawlers serving generative systems do not execute scripts as thoroughly as Googlebot. The key text must be in the HTML of the first server response.
Add FAQPage and Organization schema, with address, coordinates, opening hours and phone numbers in +998 format. Markup does not guarantee citation but sharply improves the chance the data is extracted correctly.
Date your pages. In generative answers the update date often becomes the tiebreaker between two similar sources, especially on topics where facts age fast like pricing and regulatory requirements.
Crawler access
Check robots.txt for blocks on GPTBot, ClaudeBot, PerplexityBot and Google-Extended. They are often blocked out of inertia by copying someone else's config, after which the absence of mentions comes as a surprise.
Make the access decision deliberately: blocking those crawlers protects content from training but also removes you from answers. For a commercial services site, visibility is usually the better trade.
An llms.txt file at the root is a cheap measure: a short structured list of key pages with descriptions. It is not a mandatory standard, but it takes half an hour and does no harm.
How to measure results
There is no direct analytics for citations. The practical approach is to ask the model a dozen target questions in three languages on a regular basis and record who it names. Once a month is enough.
The second signal is referral traffic. In your analytics, watch for sources from chat service domains: the volume is small but the depth of visit and conversion rate are unusually high.
The third is direct visits after the model named your company without a link. That shows up indirectly as growth in branded queries in Search Console.
Mistakes that kill your chances
Text produced by a generator and shipped unedited. Models are reasonably good at recognizing boilerplate AI writing and prefer sources with the specifics such text lacks by definition.
Diffuse answers. If answering the question requires stitching five paragraphs from across the page, no citable quote exists and the page loses to a more compact competitor.
No authorship or contacts. Pages with no company, author or way to get in touch count as less reliable sources and appear less often in answers to commercial questions.