# GEO Asked — Free AI visibility check (for agents)

> A zero-cost check of how a brand shows up in AI assistants, in two parts: a site scan from our free API, and three buyer questions asked in the assistants themselves. Score with the rules below and report in the template. Written for AI agents helping a user.

Human version: https://geoasked.com/analyze/ (Turkish: https://geoasked.com/tr/analiz/) · Full method: https://geoasked.com/agent.md · Version 1.0 · Updated 2026-10-27

---

## Rules

1. **Never invent results.** Report only what the scan returned and what the assistants actually answered.
2. **Don't put the brand name in the buyer questions.** It biases the answer. The brand is only used when scoring.
3. **Use fresh chats.** A temporary or logged-out chat is best; memory that knows the brand inflates results.
4. **No guarantees.** A snapshot of 3 questions is a signal, not a ranking. The full baseline is 15–25 questions (see /agent.md, Step 1).

---

## Part 1 — Site scan (free API)

```
GET https://geoasked.com/api/scan?url=example.com
```

Returns JSON (CORS open, cached for an hour). Fields you need:

| field | meaning |
|---|---|
| `error` | `null`, `invalid_url` (not a public address; the user may have no site) or `unreachable` |
| `home.status` | HTTP status of the homepage |
| `home.protection` | `true` if a firewall or bot protection stopped our scanner (401/403/429/503, an empty 2xx or a challenge page); the HTML was not read |
| `home.noindex` | `noindex` in meta robots or `X-Robots-Tag` |
| `home.words` / `home.jsShell` | visible words in the server HTML; `jsShell: true` means the text only appears after JavaScript runs |
| `home.schema` | schema.org types found (JSON-LD and microdata) |
| `home.verification` | `google-site-verification` / `msvalidate.01` meta tags seen (DNS verification can't be seen) |
| `robots.bots[]` | per crawler: `token`, `assistant`, `role` (`search`, `user` or `training`) and `status` (`allowed`, `blocked`, `partial`, `unknown`) |
| `sitemap` | `found`, `urls` (count of `<loc>` in the first sitemap), `index` |
| `llms` | `found` (optional file, not required by any major assistant) |
| `guess` | `brand`, `category`, `market` guessed from the homepage, to pre-fill Part 2; confirm with the user |

If the user has no website, skip Part 1 and note "no site".

---

## Part 2 — Ask the assistants

Ask the user (one question at a time) for: brand, what they sell (category), and where (city or district for a local business, country or target export market otherwise). Ask the questions in the buyer's language: for an export market, use that market's language. Then send this prompt, unchanged except for the brackets, in a **fresh chat** in each assistant you can use: ChatGPT, Perplexity, Gemini, Copilot, Claude. If you can't browse, the user runs it and pastes the answers back to you.

```
I'm researching as a buyer (location: [market]). Answer the 3 questions below separately; search the web if you can.

Question 1: What are the best options for [category]?
Question 2: Which ones would you recommend for [category], and why?
Question 3: I'm looking for an affordable, reliable [category]. Which ones should I look at?

Use this format for each question:
## Question 1
1. Brand — domain (e.g. example.com) — short reason
2. …
Sources: full URLs of the pages you used
```

Turkish version: use the Turkish page (https://geoasked.com/tr/analiz/), which builds the same prompt in Turkish.

---

## Part 3 — Score

Count one row per question × assistant.

- **Named in** = rows where the brand (or its domain) appears ÷ all rows
- **Average rank** = mean list position in the rows where the brand is listed
- **Site cited** = assistants that cited a URL on the brand's domain ÷ assistants asked
- **Recommended most** = other brands, by number of rows they appear in
- **Cited most** = domains in the sources, grouped by type: community (Reddit, forums), reviews (G2, Capterra, Trustpilot, Şikayetvar), Wikipedia, video, competitor sites, articles/lists

---

## Part 4 — Next steps, in this order

1. Homepage not 2xx, `noindex`, or a `search`/`user` crawler `blocked` → fix first (guide: https://geoasked.com/guides/allow-ai-crawlers/).
2. `home.protection` → check that AI search crawlers pass the firewall (Cloudflare: AI Crawl Control).
3. Few words or `jsShell` → render the main text in the HTML.
4. Not named at all → get onto the pages the assistants cited, and publish pages that answer these questions.
5. Named but behind → honest comparison pages and real reviews.
6. Named but never cited → answer-first pages with sources on the brand's own site.
7. No verification tags → set up Google Search Console and Bing Webmaster Tools (both report AI data).
8. No sitemap, no Organization/Product schema, missing title/description → fix; schema is helpful, not decisive.
9. Re-run the same prompt in 2–4 weeks and compare.

Back each step with similar cases from the dataset: https://geoasked.com/data/geo-cases.json (filter by `tactics`, prefer `evidence` A or B, and say when `conflict_of_interest` is true).

---

## Report template

```
GEO Asked free analysis — [brand] ([domain]) — [date]
Site:           [passed]/[total] checks · blocked crawlers: [list or none]
Named in:       [n]/[rows]
Average rank:   [#x or –]
Site cited:     [n]/[assistants]
Recommended most: [brand (n), …]
Cited most:     [domain (n), …]
Next 3 steps:   1) … 2) … 3) …
```

Then offer to continue with the full method: https://geoasked.com/agent.md
