---
title: Veebilehe tehisaru-leitavuse audit
description: Auditeerib elavat veebilehte tehisaru otsingumootorite leitavuse (AEO/GEO) seisukohast.
category: Marketing
sublabel: Turule minek
author: onvoyage-ai
tags: 
license: MIT
source: https://github.com/onvoyage-ai/gtm-engineer-skills
---

# Veebisaidi AEO/GEO auditi oskus

Sa auditeerid **elavat veebisaiti** nii, nagu teeks seda AI-agent — roomates selle lehtedel, parsides struktuuri ja hinnates, kas sisu väärib tsiteerimist ChatGPT, Claude'i, Perplexity ja Google AI Overviews jaoks.

Auditil on kaks poolt:

- **Alus (50%)** — 16 deterministlikku läbinud/ebaõnnestunud kontrolli, mille teeb skript. Korratav, ilma hinnanguteta.
- **Intelligentsus (50%)** — 6 sisukvaliteedi mõõdet, mida **sina** hindad lehti lugedes, kasutades allolevat hindamisjuhendit.

Lõppskoor = `0.5 × alus + 0.5 × intelligentsus`, kaardistatud A-F hindele.

See oskus toodab **diagnoosi**. Et seejärel koodibaasi parandada, anna üle oskusele **`improve-aeo-geo`**.

---

## Töövoog

Järgi seda järjekorda täpselt.

### Samm 1: Hangi sisendid

Küsi kasutajalt:

1. **Veebisaidi URL** (nõutav) — auditeeritav elav sait.
2. **Roomamise sügavus** (valikuline) — mitut lehte roomata. Vaikimisi 10, maksimaalselt 30.
3. **Väljundi asukoht** (valikuline) — kuhu aruanne salvestada. Vaikimisi: praegune kaust, või `workspace/<customer-name>/`, kui töötad kliendiprojektiga.

Kui kasutaja andis oskust käivitades juba URL-i, ära küsi uuesti — lihtsalt kinnita roomamise sügavus ja jätka.

### Samm 2: Käivita deterministlik audit

Käivita kaasasolev skript selle oskuse `scripts/` kaustast. See vajab ainult Node 18+ — mitte `npm install`.

```bash
node <skill-path>/scripts/aeo-audit.mjs <url> --max-pages=10 --out=<output-dir>/aeo-audit.json
```

Skript roomab (sitemap + robots.txt + sisemised lingid), teeb iga lehe kohta 16 kontrolli, koondab saidiüleselt ja kirjutab JSON-aruande. Samuti prindib see inimloetava kokkuvõtte. Ütle kasutajale alusskoor ja ebaõnnestunud kontrollid.

Kui skript annab vea (sait kättesaamatu, 0 lehte roomatud), teata veast ja peatu — ära fabritseeri skoori.

### Samm 3: Loe JSON-aruanne

Loe fail `aeo-audit.json`. Võtmeväljad:

- `scoring.foundationalScore` — deterministlik skoor (0-100). See on **lõplik** — ära muuda seda.
- `checks` — 16 saidiülest kontrolli läbinud/ebaõnnestunud ja detailidega.
- `pagesForReview` — kuni 5 esinduslikku lehte (avaleht + rikkaima sisuga lehed), igaüks `aiView` objektiga, mis sisaldab `title`, `metaDescription`, `h1`, `headings`, `schemaTypes`, `jsonLdSummary`, `textExcerpt`, `internalLinkCount`, `author`, `publishedDate`, `modifiedDate`. **Kasuta neid sammul 4.**
- `prioritizedFixes`, `worstPages`, `coverage`, `heuristicIntelligenceSignals` — toetav kontekst. Heuristilised signaalid on deterministlik *eelhinnang* — mõistlikkuse kontroll, mitte tegelik hindamine.

### Samm 4: Hinda 6 intelligentsuse mõõdet

Sa oled AI-agent, kes just leidis selle saidi veebiotsingu kaudu. Kasutaja esitas sulle küsimuse ja sa maandusid siia. **Otsusta: kas tsiteeriksid seda saiti oma vastuses?**

Loe iga lehe `textExcerpt`, `headings` ja metaandmeid failis `pagesForReview`. Seejärel hinda kõik 6 alltoodud mõõdet, igaüks **0-5**, kasutades ainult seda, mida sa tegelikult täheldasid (mitte oletusi lehtede kohta, mida sa ei näinud). Kirjuta põhjendus **enne** skoori.

#### Hindamisjuhend (igaüks 0-5)

**Vastusevalmidus** — Kui kasutaja esitaks küsimuse selle saidi teema kohta, kas leiaksid siit otsese vastuse? Tegur nr 1 — sisu, mis vastab küsimustele esimeses lõigus, saab 4,8x rohkem viiteid.
- 0 = Pole vastuseid; puhtalt reklaamiv või navigeeriv
- 1 = Ebamäärane sisu, mis räägib teemade ümber, kuid ei vasta kunagi otse
- 2 = Mõned vastused on olemas, kuid sügaval peidus, mitte avalõikudes
- 3 = Mitmele küsimusele vastatav; osa definitsioon-esmalt või KKK-stiilis sisu
- 4 = Enamikule levinud küsimustele vastatav; vastused juhatavad osi sisse
- 5 = Erakordne (pühendatud KKK-plokid, definitsioon-esmalt lõigud, küsimus-vastus vorming kogu ulatuses)

**Tsiteeritavus** — Kas suudad välja tõmmata puhta, iseseisva 40-60 sõnalise lõigu tsiteerimiseks? Võrdlustabelid saavad 2,8x viiteid; KKK-plokid +156%.
- 0 = Pole väljatõmmatavat sisu (ainult interaktiivne, üksik tihe plokk)
- 1 = Sisu vajab terve lehe konteksti; ükski lõik ei seisa üksi
- 2 = Mõned lõigud on väljatõmmatavad, kuid enamik vajab ümbritsevat konteksti
- 3 = Mitu iseseisvat lõiku; osa loendeid või struktureeritud plokke
- 4 = Hea tsiteeritavus (tabelid, loendid, KKK-osad, selged vastuseplokid)
- 5 = Väga tsiteeritav (võrdlustabelid, sammhaaval plokid, definitsioonilõigud kogu ulatuses)

**Tõendite tihedus** — Statistika, andmepunktid, nimelised allikad, tekstisisesed viited? Tekstisiseste viidete lisamine = +115% nähtavust; statistika = +40% viitamise määra.
- 0 = Pole tõendeid; ainult turundustekst ja ebamäärased väited
- 1 = Ainult ebamäärased väited („oma klassi parim“, „valdkonna juhtiv“)
- 2 = Enamasti üldsõnalisus; harva konkreetseid andmepunkte
- 3 = Osa statistikat ja nimelisi allikaid; viitab mõnele välisele allikale
- 4 = Suur tihedus (numbrid, kuupäevad, nimelised allikad, lingid viidetele)
- 5 = Erakordne (statistika iga 150-200 sõna järel, tekstisisesed viited kogu ulatuses, kontrollitavad mõõdikud)

**Sisu sügavus** — Piisavalt sisukust, et vastata teema küsimustele põhjalikult? Pikk vorm (2000+ sõna) saab 3x rohkem viiteid.
- 0 = Ainult tühi või kohatäite sisu
- 1 = Minimaalne (paar lauset, pole tegelikku sisu)
- 2 = Õhuke (pinnapealne, puuduvad võtmedetailid, mida kasutaja vajaks)
- 3 = Piisav (katab põhipunktid, kuid puuduvad alamteemad või näited)
- 4 = Rikkalik (põhjalik katvus, mitu alamteemat, näited, andmed)
- 5 = Erakordne (autoriteetne sügavus, mitmetahuline, esmane viide)

**Värskus** — Piisavalt ajakohane, et kindlalt tsiteerida? 76% ChatGPT enim tsiteeritud lehtedest uuendati viimase 30 päeva jooksul.
- 0 = Pole kuupäevasignaale; sisu tundub hüljatud või ajatu-üldine
- 1 = Kuupäevad olemas, kuid selgelt aegunud (2+ aastat, vananenud viited)
- 2 = Mõõdukalt vananenud; pole „viimati uuendatud“ näitajat
- 3 = Mõistlikult ajakohane VÕI selge „viimati uuendatud“ kuupäev nähtaval
- 4 = Hiljutine sisu uuenduse ajatemplite ja ajakohaste viidetega
- 5 = Selgelt ajakohane (hiljutised kuupäevad, nähtav aktiivne hooldus)

**Struktuuriline selgus** — Kas HTML parsib puhtalt loetavaks tekstiks? Eeldus — puhas pealkirjade hierarhia = 3,2x rohkem viiteid.
- 0 = Loetamatu (pole teksti, blokeeritud, mitte-semantiline märgistus)
- 1 = Väga kehv (tekstiseinad, pole pealkirju, teema ebaselge)
- 2 = Nõrk (mingi struktuur, kuid segadusse ajavad või ebajärjekindlad pealkirjad)
- 3 = Piisav (selged pealkirjad ja lõigud, teema tuvastatav)
- 4 = Hea (puhas H1-H2-H3 hierarhia, skannitav, eesmärk selge)
- 5 = Suurepärane (täiuslik pealkirjade struktuur, semantiline HTML, null müra)

Iga mõõtme kohta kirja pane: 1-2 lauseline põhjendus, 0-5 skoor ja üherealine võtmeleid (alla 14 sõna).

### Samm 5: Arvuta lõppskoor

1. **Intelligentsuse skoor** = `average(6 dimension scores) × 20` → ümardab iga 0-5 vahemikku 0-100.
2. **Lõppskoor** = `round(0.5 × foundationalScore + 0.5 × intelligenceScore)`.
3. **Hinne** lõppskoorist:

| Hinne | Vahemik | Hinne | Vahemik | Hinne | Vahemik |
|---|---|---|---|---|---|
| A+ | 95-100 | B+ | 80-84 | C | 60-64 |
| A | 90-94 | B | 75-79 | C- | 55-59 |
| A- | 85-89 | B- | 70-74 | D | 40-54 |
| | | C+ | 65-69 | F | alla 40 |

Kontrolli oma intelligentsuse skoori mõistlikkust JSON-i `heuristicIntelligenceSignals` vastu. Kui need lahknevad rohkem kui ~25 punkti võrra mõnel mõõtmel, loe selle lehe väljavõte uuesti ja kinnita, et su skoor põhineb täheldatud sisul.

### Samm 6: Kirjuta auditi aruanne

Kirjuta Markdown-aruanne faili `<output-dir>/aeo_audit_report.md`, kasutades allpool **Aruande vormingu** all olevat vormingut. Seejärel tee kasutajale kokkuvõte: hinne, 3 suurima mõjuga parandust ja üherealine soovitus.

### Samm 7: Anna üle

Kui kasutaja soovib leidude põhjal tegutseda:
- **Koodibaasi parandamiseks** → soovita oskust **`improve-aeo-geo`**, andes sisendiks selle aruande.
- **Pärast parandusi uuesti mõõtmiseks** → käivita see oskus samal URL-il uuesti ja võrdle skoore.

---

## 16 deterministlikku kontrolli

Teeb skript. Viiteks (id — mida see kontrollib — punktid):

| Kontroll | Kontrollib | Punkte |
|---|---|---|
| `title` | `<title>` olemas, 10+ märki | 10 |
| `meta-description` | Meta-kirjeldus olemas, 50+ märki | 10 |
| `canonical` | `<link rel="canonical">` olemas | 8 |
| `h1` | Täpselt üks `<h1>` | 8 |
| `schema` | Vähemalt 1 JSON-LD plokk | 8 |
| `schema-types` | Kasutatud on tuntud schema.org `@type` | 8 |
| `og` | `og:title` ja `og:description` olemas | 8 |
| `internal-links` | 5+ sisemist linki | 10 |
| `image-alt` | 80%+ piltidest on alt-tekstiga | 8 |
| `text-depth` | 250+ sõna põhiteksti | 12 |
| `indexability` | Pole `noindex` direktiivi | 10 |
| `ai-meta-tags` | Pole `nosnippet` / `noai` / `noimageai` | 6 |
| `heading-hierarchy` | 2+ pealkirjataset, pole vahelejäetud tasemeid | 6 |
| `llms-txt` | Kehtiv `llms.txt` (pealkiri + lingid + 100+ märki) | 10 |
| `ai-bot-access` | robots.txt ei blokeeri 9 suurt AI-roomajat | 12 |
| `rss-feed` | RSS- või Atom-voog leitav | 8 |

Saidiülene kontroll läbib, kui **80%+ roomatud lehtedest** selle läbivad (skript käsitleb koondamist). Alusskoor = teenitud punktid ÷ 142 × 100.

---

## Aruande vorming

```markdown
# AEO/GEO Audit — [domain]

**Audited:** [date] · **Pages crawled:** [N]

## Score

| | Score | |
|---|---|---|
| Foundational (16 checks) | XX/100 | |
| Intelligence (6 dimensions) | XX/100 | |
| **Final** | **XX/100** | **Grade: X** |

[One-sentence verdict on AI-citation readiness.]

## Foundational Checks

[Table of the 16 checks: ✓/✗, label, detail. Group failures at the top.]

## Intelligence Evaluation

For each of the 6 dimensions: score (X/5 → XX/100), rationale, key finding.

## Prioritized Fixes

Numbered list, highest impact first. For each: what to change, why it matters,
impact/effort. Pull from `prioritizedFixes` and your dimension findings.

## Weakest Pages

[From `worstPages` — URL and per-page %.]

## Recommendation

[2-3 sentences: biggest opportunity, and whether to run improve-aeo-geo next.]
```

---

## Reeglid

- **Ära kunagi fabritseeri roomamist.** Käivita alati skript. Kui see ebaõnnestub, teata ebaõnnestumisest — ära mõtle lehti ega skoore välja.
- **Alusskoor on skripti väljund.** Ära arvuta ega korrigeeri seda ümber.
- **Hinda intelligentsust ainult täheldatud sisust.** Baseeru iga mõõtme skoor `textExcerpt` / `headings` / metaandmetel failis `pagesForReview`. Mitte oletusi nägemata lehtede kohta.
- **Põhjendus enne skoori.** Kirjuta miks, seejärel number — iga mõõtme kohta.
- **Üks aruandefail**, salvestatud väljundkausta. Ära pillu laiali osalisi väljundeid.
- See oskus **diagnoosib**; see ei muuda koodi. Koodiparandused on `improve-aeo-geo` töö.

---

## Uurimisviited

Kogu ülaltoodud statistika pärineb kontrollitavast esmasest uurimusest:

| Väide | Allikas |
|---|---|
| Tsitaadid = +41% nähtavust; Statistika = +33%; Allikate viitamine = +28%; tekstisisesed viited = +115% madalama reitinguga saitidele | Aggarwal et al., "GEO: Generative Engine Optimization," KDD 2024 ([arXiv](https://arxiv.org/abs/2311.09735)) |
| 44,2% ChatGPT viidetest sisu esimesest 30%-st | Kevin Indig, Growth Memo, veebr 2026 — 1,2M AI-vastust |
| Võrdlustabelid 2,8x viiteid; KKK-plokid +156% | AirOps, 2025 — sisu struktureerimine LLM-ide jaoks |
| Puhas pealkirjade hierarhia = 3,2x rohkem viiteid vs struktureerimata | AirOps, 2025 |
| 76% ChatGPT enim tsiteeritud lehtedest uuendatud 30 päeva jooksul; AI tsiteerib sisu 25,7% värskemat kui orgaaniline | Ahrefs, 2025 — 17M viidet 7 AI-platvormil |
| Pikk vorm (2000+ sõna) saab 3x rohkem viiteid | SE Ranking, nov 2025 — 2,3M lehte, 295K domeeni |