# GEO analysis with Claude: jobs, data and what results show

Page: https://alidemirbas.com.tr/en/blog/geo-analysis-with-claude

2026-11-13 · SEO & GEO · Ali Demirbaş

Which jobs to give Claude in GEO analysis, which settings to hold fixed and what a web search answer shows and misses, with a hypothetical example.

GEO analysis with Claude means using Claude for two separate jobs in generative engine optimization (GEO). You ask it your target questions to see whether your site is cited, or you have it review page text, answer logs or exported data. The first job shows only the answers Claude gave that day with those settings. The second can't tell you more than the data you hand it.

Being cited by Claude doesn't mean you're cited by ChatGPT, Gemini or Google AI Overviews. Measure each engine with its own answers and keep the results in separate totals.

What GEO is, which bots to allow for AI search visibility and which items an audit covers are in the [GEO checklist](https://alidemirbas.com.tr/en/blog/geo-checklist-ai-search-audit). The Claude features below come from Anthropic's own help and documentation pages, as of November 2026.

## Jobs to give Claude: the surface you measure or the analyst

When you use Claude for GEO, its role depends on what you give it. With your question set, Claude is the surface being measured, and the result describes its own behavior. With a file or a page, Claude is an analyst, and the result is limited to that file.

The pair people mix up most is the web search answer and the page review. The first measures visibility, while the second only checks whether the text is ready to answer the question.

*Table note: based on Anthropic's help pages, as of November 2026. The "What it misses" column is this article's inference.*

| Job | What you give Claude | What it shows | What it misses |
| --- | --- | --- | --- |
| Ask with web search | A fixed question set | Sources cited in these answers | Other engines, other users |
| Ask without search | A fixed question set | What the model knows from training | Current search results |
| Review page text | HTML or text | Whether the answer and conditions are in the text | Whether search picks the page |
| Analyze the answer log | A CSV log | Shares, groups, wrong facts | Why anything changed |
| Scan a topic with Research | A question | Sources that cover the topic | The answer to a quick chat |

Only the first two rows answer the visibility question. The other rows help you look for reasons you aren't cited, and none of them shows on its own whether a change worked.

## A web search answer shows Claude and nothing else

Claude's web search looks up live web content for questions that need current information and grounds the answer in what it finds. Anthropic's [web search help page](https://support.claude.com/en/articles/10684626-enable-and-use-web-search) says every response that uses search includes citations. It also says the new Claude experience has no web search toggle, and Claude searches when it helps. To make sure Claude searches, the page suggests adding "Search the web" or "Use web search" to your prompt.

That detail changes how you count. If Claude didn't search, the answer has no source links, so it shouldn't enter the visibility share as a zero. Count answers without search as a separate group.

Answers without search rely on the model's training data. Anthropic's [training data page](https://support.claude.com/en/articles/8114494-how-up-to-date-is-claude-s-training-data) says each model has a knowledge cutoff, and for Claude Opus 5.5 it's June 2026. The model may not know a page you published after its cutoff, so record which model gave each answer.

The web search page adds a limit on location: Claude may use your location, inferred from your IP address, for requests that need localized results. If you want the answers people in Turkey see, record the location you asked from.

Access matters too. Anthropic's [crawler page](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) says blocking Claude-SearchBot or Claude-User may reduce your site's visibility in search results. If Claude never cites you, check those two rules in robots.txt before you rewrite any content.

## Settings that skew the measurement: memory, projects and profile

Memory lets Claude carry context over from earlier chats. Anthropic's [memory page](https://support.claude.com/en/articles/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context) says memory is on by default on the Free, Pro, Max and Ultra plans. If you often talk to Claude about your brand, your recorded answer may differ from what a stranger to your brand sees (inference).

Incognito chats remove that effect. Anthropic's [incognito chat page](https://support.claude.com/en/articles/12260368-use-incognito-chats) says an incognito chat doesn't use existing memory, is available on every plan and isn't used for training. The same page says Claude can still read your profile preferences and custom styles in an incognito chat. Leave those empty in the account you measure from, or record what they say.

Projects shape answers as well. Anthropic's [projects page](https://support.claude.com/en/articles/9517075-what-are-projects) explains that documents uploaded to a project and its instructions give Claude context. A question asked inside a project full of brand documents is therefore not a clean measurement (inference).

Research works differently from a normal chat. Anthropic's [Research page](https://support.claude.com/en/articles/11088861-use-research-on-claude) says it runs several searches that build on each other and uses Claude Opus 5.5 whatever model you picked. It's available only on paid plans. Don't put a Research answer in the same series as answers to quick questions.

Hold these fixed in every round:

- The model you picked and the model that answered
- The web search instruction and whether a search ran
- The chat type: incognito, or a new chat with memory off
- Profile preferences and custom style
- Question language, location and date
- A new chat for every question

## The unit of record: one question, one repeat, one answer

In a Claude measurement, use a single answer to one repeat of one question as the unit of record. Note three outcomes per record in separate fields: a cited URL of yours, a brand mention without a link and any wrong fact. These outcomes can move independently.

The denominator of the citation share is the number of answers where a web search ran. The numerator is the number of answers that cite at least one of your URLs as a source. Answers without search stay out of the denominator and are counted separately. Define the round too: questions run with the same settings in the same week form one round.

How to build the question set and why branded and unbranded questions stay apart are covered in the checklist. What's specific to Claude is keeping the settings unchanged across repeats and recording in every row whether a search ran.

## Hypothetical example: how precise is a 15% share?

A hypothetical site asks 20 unbranded questions three times each, in incognito chats with the same model. All 60 answers use web search.

In 9 of those answers one of the site's pages is cited, a 15% share. With so few answers, the true share sits in a wide range.

The uncertainty narrows as the number of answers grows, even when the share stays the same:

*Hypothetical example: intervals use the Wilson method at the 95% level and treat each answer as independent. Percentages are rounded to one decimal place for display only. The first two rows have fewer than 10 citing answers, so their intervals are approximate.*

| Answers (questions × repeats) | Answers citing the site | Share | 95% interval |
| --- | --- | --- | --- |
| 20 (20 × 1) | 3 | 15% | 5.2%–36% |
| 60 (20 × 3) | 9 | 15% | 8.1%–26.1% |
| 200 (40 × 5) | 30 | 15% | 10.7%–20.6% |

In this hypothetical example, the measured 15% is consistent with a true share between 8.1% and 26.1%.

Seeing 25% in the next round would also fall inside that range. On its own, it wouldn't show an increase.

The interval in the table may also be narrower than the real uncertainty. If repeats of the same question look alike, 60 answers carry less information than 60 independent observations. Keep a question-level view next to the share: which questions never cited the site and which cited it on every repeat.

## Page review: are the answer and the conditions in the text?

A page review means giving Claude a page's text and asking whether it answers the target question. Anthropic's [file upload page](https://support.claude.com/en/articles/8241126-upload-files-to-claude) lists HTML, PDF, CSV and TXT among the supported documents. With web search on you can also give it a URL, and the web search page says Claude can then retrieve the page's full content.

Ask Claude to check three things. Is the answer to the target question in the first paragraph? Are conditions such as price, scope and exceptions written in the text? Do product and support pages contradict each other?

The content items to check are in the content section of the GEO checklist, and Claude can apply them the same way across many pages.

A page review is an editorial read, not a crawl simulation. Claude reading a file you uploaded doesn't show how Claude-SearchBot crawls the page or whether search will choose it. Treat the finding as a possible reason for a gap in your visibility log. After you make a change, check it against the question set.

Reviewing competitor pages carries one more risk. Anthropic's [page on creating files and running code](https://support.claude.com/en/articles/12111783-create-and-edit-files-with-claude) says hidden instructions in external files or websites can trick Claude while the feature is in use. Claude can then be led to send data from its context to third parties, including data from connectors. The page recommends monitoring Claude while it works.

So don't have Claude review unfamiliar pages in a chat where connectors are on (inference).

## Answer logs and exported data: let Claude do the math

Claude's code execution and file creation feature can analyze your answer log. The file creation page says the feature is available on every plan. Claude can process CSV files and write Python scripts for data analysis.

The same page gives a limit of 30 megabytes per file for uploads and downloads in this feature. The general file upload page lists 500 megabytes per file for chat uploads, so test which limit applies with your own large export.

The incognito chat page adds a limit here. In the new Claude experience, incognito chats open in the previous chat experience, so Claude can't create files or run code there. Run the question round in incognito chats and the log analysis in a separate chat.

Ask Claude to show the script and the intermediate counts. The analysis gives you shares by question group, market and round, a list of answers with wrong facts and the competitor domains cited most often. Keep the script and you can run the next round with the same calculation.

You can review AI referral data from your analytics tool the same way. It shows only visits that carry referral information. It doesn't show a page that appeared in an answer but got no click.

### The data you upload and your privacy settings

Whether Anthropic can use what you upload for model training depends on your plan and your settings. Anthropic's [training page for consumer plans](https://privacy.claude.com/en/articles/10023580-is-my-data-used-for-model-training) says Free, Pro and Max chats are used to improve models if you choose to allow it. Chats flagged for safety review and chats you send as feedback with the thumbs up or down button are the exceptions. Incognito chats aren't used even when that setting is on.

Commercial products such as Claude for Work and the Anthropic API have their own page. The [training page for commercial products](https://privacy.claude.com/en/articles/7996868-is-my-data-used-for-model-training) says inputs and outputs from these products aren't used for training by default.

The practical consequence (inference): remove customer email addresses, user IDs and order numbers from an export before you upload it. The citation and source analysis doesn't need those fields. Check the training setting under Settings > Privacy.

## Measuring the effect of a change: split pages into two random groups

A before-and-after comparison can't show whether a content change moved your citation share in Claude. In the same period the answering model, the sources Claude finds and competitor pages can all change. To measure the effect, split the pages you could change into two random groups before the change. One group gets it, and the [control group](https://alidemirbas.com.tr/en/blog/control-group-ab-testing) doesn't.

The rest of the design:

1. Tie one target question to each page and assign the questions to groups together with their pages.
2. Write the decision rule first: the change wins if the lower bound of the 95% interval for the difference is above zero.
3. Write the guardrail first: roll the change back if the change group has more answers with wrong facts than the control group.
4. Measure both groups on the same days with the same settings. Control pages stay unchanged during the test, and site-wide changes reach both groups at the same time.
5. Compare pages by the group they were assigned to, even if the change never went live on one of them.
6. Set the measurement date in advance, and don't end the test early after reading an interim round.

### Hypothetical example: when a 10-point gap can be read

In a hypothetical test, pages in the change group get a 25% citation share and pages in the control group get 15%. How precise that 10-point gap is depends on the number of answers per group:

*Hypothetical example: 95% intervals for the difference use Newcombe's method and treat each answer as independent. Percentage points are rounded to one decimal place. The control group in the first row has 9 events, below the roughly 10 suggested for comparing two proportions.*

| Answers per group (pages × repeats) | Change group | Control group | Difference (95% interval) |
| --- | --- | --- | --- |
| 60 (20 × 3) | 15 (25%) | 9 (15%) | 10 points (-4.4 to 24) |
| 100 (20 × 5) | 25 (25%) | 15 (15%) | 10 points (-1.1 to 20.9) |
| 200 (40 × 5) | 50 (25%) | 30 (15%) | 10 points (2.2 to 17.7) |

With 60 answers per group the interval includes zero. Report that result as unclear, not as no effect.

Of the three options examined, only 40 pages per group with five repeats meets the decision rule. If repeats look alike, even that interval is narrower than it should be. If your site doesn't have that many pages, write the result down as unclear, with its counts. How to read the interval is covered in [statistical significance in A/B testing](https://alidemirbas.com.tr/en/blog/statistical-significance-ab-testing).

## Claude Code and the API make the round repeatable

You can repeat the question round with a script instead of running it by hand. Anthropic's [Claude Code documentation](https://code.claude.com/docs/en/overview) describes a tool that reads your codebase, edits files and runs commands. It also connects to your tools through the Model Context Protocol (MCP).

The same documentation says recurring tasks can be scheduled. [Claude's pricing page](https://claude.com/pricing) lists Claude Code among the features the Pro plan adds.

On the API side, Anthropic's [web search tool documentation](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) says citations are always enabled for web search. Each citation returns the source URL, its title and up to 150 characters of cited text. Those fields let you count whether your site was cited without reading the answer text.

The same documentation describes the user_location parameter for localizing results and gives the price: $10 per 1,000 searches, plus standard token costs. An API answer doesn't use the settings a user gets on claude.ai. You define the system prompt, the model and the tool settings yourself (inference). Keep the two sources in separate series and compare each with itself.

## Your first round: which questions, which settings, which record

Start with a small round you can repeat. Pick a question set for your priority page group that you won't change in later rounds. Ask each question more than once in incognito chats, with the same model and a "Search the web" instruction. Record every answer with its date, model, location, whether a search ran and the cited URLs.

Report the share with its interval and count answers without search separately. If you want to measure a change, split the pages into two random groups before you make it, and write the decision rule that day.
