# Frequently asked questions about AI optimization for websites

Topic: [AI discoverability (GEO)](https://btlabs.dev/en/ai-discoverability)

> An AI optimization FAQ: what does it cost, how long does it take, can results be guaranteed? Ten questions from practice, answered honestly.

Since we started writing about AI optimization, the same questions keep coming back — in first conversations, by email, sometimes phrased sceptically. Here they are, with the answers we would give on the phone. No sales section.

## Isn't this just SEO with a new name?

No, but the line is blurry, and anyone claiming otherwise is oversimplifying.

Much of it overlaps: clean structure, clear hierarchy, sensible load times, correct details. Whoever did that work for search engines has already done groundwork for language models.

The difference is the goal. Search optimization aims at a position in a list. AI optimization aims at a model being able to state the facts about your business correctly when asked. A list tolerates rough relevance. An answer needs unambiguity — and that is different work.

## What does it cost?

That depends on what is already there, and we cannot say seriously without looking at the site.

What we can say: most of the work is one-off — gathering the details, making them consistent, marking them up machine-readably, clearing contradictions between sources. For a small business with a well-kept site, that is a manageable job. For a site grown over ten years with four language versions, considerably more.

After that it is maintenance, not a project. When opening hours or services change, they have to be carried through everywhere.

Part of this work is manual and stays that way. Another part depends on the foundation: if a website already delivers the hard facts machine-readably, the largest single item disappears — retrofitting the markup. That is why the answer differs for a site grown over years and for a system that brings it along by default.

## How long until we see something?

Longer than most people hope.

Between a change on your website and the moment a language model knows about it lie weeks to months. That follows from how these systems work: part of their knowledge comes from training and is already months old by the time the question is asked. Another part comes from a live search — that reacts faster, but not instantly either.

Anyone promising results in two weeks either means something else or has never measured.

## Can you guarantee ChatGPT will recommend us?

No. And nobody else can either.

There is no submission, no ranking, no switch. Language models are trained at different times, access the web differently, and weight sources differently. The same question put to two models can name two different businesses.

What can be influenced is the starting position: that the facts exist, are unambiguous, and are equivalent across all languages. That is necessary but not sufficient. Anyone assuring you a placement is selling something they do not control.

## We have a new website. Isn't that enough?

Usually not, and this is the most common disappointment.

A new website is typically fast, well designed and cleanly structured. That is half the job. What almost always missing is the machine-readable markup of the hard facts — [structured data](https://btlabs.dev/en/glossary/structured-data) that tells a machine the number in the legal notice is a VAT ID and the text in that box is the opening hours.

This is not a criticism of the agency. It appears in no brief, and you cannot see it on the finished site.

Whether it is built in or has to be added decides the effort more than anything else. In a foundation that generates structured data itself, it is a setting. On a page that knows content only as text, it is manual work on every single detail.

## Is it worth it if we only work locally?

Especially then, we would say.

Someone looking for a tradesperson nearby phrases it differently to a language model than to Google: not "carpenter Merano", but "Who can restore an old window for me in Merano?". A model answers questions like that only if it has the facts — location, service, specialisation, stated explicitly.

The advantage for small businesses: on local questions the field is thin. Whoever is the only one in the valley with their details in order is often the only one who can be named.

## We are multilingual. Is the German version enough?

No, and in South Tyrol this is the most expensive mistake.

Most multilingual websites have one complete main language and two shortened translations. Visitors barely notice. To a machine they are three differently well-informed sources about the same business.

Someone asking in Italian who gets a thin answer, while the German version would have had everything, loses you an enquiry at the language border. Every language doesn't need the same words, but it does need the same facts.

Whether that is sustainable depends on the system. Where each language is a separate page to maintain, the third version falls behind — that is not carelessness, it is workload. Where languages sit as equals in the foundation, the question is no longer one of willingness.

## What about data protection?

Two things get mixed up here.

One is the information you publish anyway: address, services, opening hours. Marking it up machine-readably does not change its status — it is already public on your site.

The other is whether your content may be used for training. That is a separate decision, and it can be declared in machine-readable form: you can allow language models to read content in order to build an answer, and at the same time forbid its use in training. Both at once is possible.

This too is a question of construction. A site that loads no consent-requiring services by default never has to hold the discussion. A site with a tool collection grown over time reopens it with every new service.

## How do we tell whether it is working?

Not from visitor numbers — that is the sore point.

If a model reads your website and formulates an answer from it, the person asking never sees your address. The benefit arises, but it appears in no statistic.

It is measurable nonetheless, just differently: you put the same questions to a handful of models regularly and count how often your own business appears, and in what role. It is tedious, but it is the only number that actually describes the state. We have [described this in more depth](https://btlabs.dev/en/posts/what-you-measure-when-position-one-is-worth-nothing).

By hand nobody keeps it up — which is why it usually goes unmeasured. As a built-in, optional function it keeps running regularly once switched on — though every run costs fees with the AI provider. The difference between "measurable" and "measured" is almost always a difference in automation.

## Can we do this ourselves?

Partly — and the most important part you should do yourselves.

The inventory — which details sit where, where they contradict each other — nobody knows better than you. That needs no tool, just an hour and a spreadsheet.

The technical markup is craft and goes faster with practice. And ongoing measurement only pays off when it is automated; by hand nobody keeps it up.

If you want to know where you stand before commissioning anything: the three questions at the end of [this article](https://btlabs.dev/en/posts/ai-visibility-south-tyrol-dach) are enough for a first honest assessment.

Roughly divided: the inventory is yours, the technical markup belongs in the foundation, and day-to-day operation is done by whoever knows their way around. At Berger+Team we build both — the btlabs Core platform and the work with it. That is no coincidence: much of what appears here as effort is effort only because the underlying system does not handle it itself.

---
Source: https://btlabs.dev/en/posts/ai-optimization-faq
Last-Modified: 2026-09-28T07:00:00.964Z
Languages: [de](https://btlabs.dev/llms/de/posts/haeufige-fragen-ki-optimierung) · [it](https://btlabs.dev/llms/it/posts/domande-frequenti-ottimizzazione-ia)
See also: [llms.txt](https://btlabs.dev/llms.txt) · [ai.txt (Policy)](https://btlabs.dev/ai.txt) · [identity.json](https://btlabs.dev/identity.json)
