Technikai
Mérési módszertan
Ez az oldal a GEOscore mérés teljes, naprakész leírása: hogyan zajlik egy scan, pontosan miket mérünk, és mi alapján áll össze a 0–100-as GEO score meg az osztályzat. Minden itt leírt szabály a ténylegesen futó motort (src/lib/geo-engine.ts) tükrözi — ezt hívja a /api/scan, a dashboard-rescan és a kompetitor-benchmark is.
Hogyan zajlik egy mérés
Egy URL beküldése után a szerveren az alábbi lépések futnak le. Több lépés párhuzamosan zajlik (a PageSpeed és az AI-hívások a leghosszabbak), így a teljes futás jellemzően 30–50 másodperc. Előtte a scan-végpont normalizálja a domaint, ellenőrzi a napi limitet, és ha 24 órán belül volt már mérés ugyanerre a domainre ugyanarról az IP-ről, a cache-elt eredményt adja vissza.
- 1.Főoldal letöltés és parseA főoldalt 15 másodperces timeouttal töltjük le, és Cheerio-val parse-oljuk a statikus HTML-t (JavaScript nem fut le). Ezzel párhuzamosan már indul a Google PageSpeed mérés is.
- 2.Aloldal-felderítés (sitemap-alapú)Letöltjük a sitemap.xml-t, és abból max. 12 aloldalt választunk a vizsgálathoz. A kulcs-aloldalak (/rolunk, /about, /kapcsolat, /blog, /faq, /impresszum…) mindig prioritást kapnak; ha nincs sitemap, a belső linkekből dolgozunk.
- 3.robots.txt és AI-bot ellenőrzésA robots.txt-ből 10 AI-releváns botra ellenőrizzük, hogy nincs-e Disallow szabály — külön kezelve a search-index botokat (kritikus) és a tréning-botokat.
- 4.On-page elemzésA főoldalon és az aloldalakon lefutnak a strukturált adat, E-E-A-T, tartalom, idézhetőség, technikai és magyar piaci checkek.
- 5.Off-site jel: Wikipedia / WikidataA domainből képzett brand-névre párhuzamosan keresünk a magyar Wikipedián, az angol Wikipedián és a Wikidatán — ez az entitás-graph jelenlét mérése.
- 6.Teljesítmény-mérés beérkezikA párhuzamosan futó Google PageSpeed Insights v5 mérés eredménye (performance, accessibility, Core Web Vitals) bekerül a check-listába.
- 7.Pontozás és akciótervMinden check pass/warning/error/info státuszt kap, ebből számítjuk a súlyozott 0–100 GEO score-t, az osztályzatot és a prioritizált akciótervet.
- 8.AI Live Test (4 platform)Párhuzamosan megkérdezzük a Perplexity, ChatGPT, Gemini és Claude API-kat egy keresés-szimulációval. Ez a fő pontszámba nem számít bele — külön szekcióként jelenik meg a riportban.
A check-ek értékelése: négy státusz
Minden ellenőrzési pont az alábbi négy státusz egyikét kapja. A pontszámot csak a pass / warning / error státuszok befolyásolják — az info jelzések tippek, amelyek a riportban megjelennek, de a score-t nem húzzák le.
Mit mérünk — a 8 kategória
Összesen 51 ellenőrzési pont fut le 8 kategóriában. Két kategória feltételes: a magyar piaci jelek csak magyar oldalaknál aktiválódnak, a teljesítmény-blokk pedig csak akkor, ha a PageSpeed API időben válaszol. A kategória neve mellett a súlya látható — ennyiszer számít bele minden benne lévő check a végső pontszámba.
1. AI Crawler hozzáférés
3× súly11 checkA robots.txt fájlt töltjük le és 10 AI-releváns botra ellenőrizzük, hogy nincs-e kitiltva. A botokat két osztályba soroljuk: a search-index botok blokkolása azonnali eltűnés az adott AI keresőből (error), a tréning-botoké csak a jövőbeli modelltudásból vesz ki (warning).
| Check | Mit vizsgál | Értékelés |
|---|---|---|
| OAI-SearchBot (ChatGPT Search) | A ChatGPT keresési indexének crawlere — a real-time citation ezen múlik. | Blokkolva → error · engedélyezve → pass |
| ChatGPT-User (ChatGPT Browse) | User-trigger fetch: amikor a felhasználó URL-t ad a ChatGPT-nek. | Blokkolva → error · engedélyezve → pass |
| GPTBot (OpenAI tréning) | Tréning-crawler — a ChatGPT-search citationt nem ez adja. | Blokkolva → warning · engedélyezve → pass |
| PerplexityBot (Perplexity) | A Perplexity saját indexépítő botja. | Blokkolva → error · engedélyezve → pass |
| Googlebot (Google + AI Overviews) | A klasszikus Google crawler — az AI Overviews is ezen keresztül kap tartalmat. | Blokkolva → error · engedélyezve → pass |
| Google-Extended (Gemini token) | Nem crawler: robots.txt token, ami csak a Gemini tréning/grounding opt-outot szabályozza — az AI Overviews-ra nincs hatása. | Blokkolva → warning · engedélyezve → pass |
| Claude-SearchBot (Claude Search) | A Claude search-indexének crawlere. | Blokkolva → error · engedélyezve → pass |
| ClaudeBot (Anthropic tréning) | Anthropic tréning-crawler. | Blokkolva → warning · engedélyezve → pass |
| anthropic-ai (Anthropic, régi UA) | Anthropic régebbi user-agent stringje. | Blokkolva → warning · engedélyezve → pass |
| Bytespider (ByteDance) | ByteDance / TikTok AI crawler. | Blokkolva → warning · engedélyezve → pass |
| robots.txt megléte | Létezik-e egyáltalán robots.txt. | Hiányzik → warning (alapból minden bot hozzáfér, de az explicit engedélyezés jobb) |
2. Strukturált adatok (Schema.org)
3× súly9 checkA főoldal összes JSON-LD blokkját parse-oljuk (a @graph tömböket is), és összegyűjtjük a @type értékeket. A strukturált adat az AI-nak az entitás-azonosítás alapja: ebből tudja, ki vagy, mit csinálsz, hol működsz.
| Check | Mit vizsgál | Értékelés |
|---|---|---|
| Organization schema | Szervezet-entitás definíció (név, logó, elérhetőség). | Hiányzik → error |
| LocalBusiness schema | Helyi vállalkozás entitás pontos címmel. | Hiányzik → error |
| WebSite schema | A weboldal mint entitás. | Hiányzik → error |
| WebPage schema | Az adott oldal típus-deklarációja. | Hiányzik → error |
| FAQPage schema | Kérdés-válasz markup — az AI közvetlenül idézheti a válaszokat. | Hiányzik → warning |
| HowTo schema | Lépésről-lépésre útmutató markup. | Hiányzik → info (nem számít a pontszámba) |
| Article / BlogPosting schema | Cikk markup szerzővel, dátummal. | Hiányzik → info |
| BreadcrumbList schema | Navigációs útvonal — oldalstruktúra-jel. | Hiányzik → info |
| Review / AggregateRating schema | Értékelés markup — bizalmi jel. | Hiányzik → info |
3. E-E-A-T jelek
2× súly6 checkExperience, Expertise, Authoritativeness, Trustworthiness — az AI keresők ezekből a jelekből döntik el, hogy megbízható forrás vagy-e. Itt a főoldal mellett az aloldalakat (pl. /rolunk) és külső forrásokat (Wikipedia, Wikidata) is vizsgáljuk.
| Check | Mit vizsgál | Értékelés |
|---|---|---|
| Bemutatkozó oldal | Elérhető-e /about vagy /rolunk aloldal — az AI innen szedi ki az entitás-infókat. | Hiányzik → warning |
| Kapcsolati adatok (NAP) | Telefon (tel: link vagy szám-minta), e-mail (mailto: vagy cím-minta), fizikai cím kulcsszavak. | Telefon + e-mail van → pass · különben warning |
| Social media jelenlét | Facebook, Instagram, LinkedIn, X/Twitter, YouTube, TikTok linkek az oldalon. | ≥3 platform → pass · 1–2 → warning · 0 → error |
| Szerzői / csapat bemutató | Szerző-, csapat-, alapító-jellegű tartalom kulcsszavak alapján. | Nincs → warning |
| Bizalmi jelek | Tanúsítványok / díjak / partnerségek, ügyfélvélemények, konkrét számok (pl. „100+ projekt”). | Legalább egy típus van → pass · egyik sincs → warning |
| Wikipedia / Wikidata jelenlét | A domainből képzett brand-névre keresünk a magyar + angol Wikipedián és a Wikidatán. Erősség: HU=4, EN=3, Wikidata=3 pont (max 10). | Erősség ≥6 → pass · 3–5 → warning · <3 → info |
4. Tartalom AI-kompatibilitás
2× súly6 checkAz AI keresők a jól strukturált, tömören idézhető tartalmat preferálják. Ez a kategória azt méri, mennyire „chunkolható” a tartalmad — vagyis mennyire könnyű belőle 50–150 szavas, önállóan értelmes passzusokat kiemelni.
| Check | Mit vizsgál | Értékelés |
|---|---|---|
| Kérdés-válasz tartalom | Kérdés-formátumú címsorok (H2–H4: kérdőjel, GYIK, FAQ). | Nincs → warning |
| Strukturált tartalom | Listák (ul/ol) és táblázatok száma a főoldalon. | ≥3 lista → pass · kevesebb → warning |
| Statisztikák és számadatok | Szám + mértékegység minták (%, millió, Ft, EUR, „+”). | ≥5 adat → pass · 1–4 → warning · 0 → error |
| Definíciós mondatok | 30–300 karakteres, kijelentő szerkezetű mondatok — ezeket idézi az AI a legszívesebben. | ≥5 db → pass · kevesebb → warning |
| Tartalom frissesség | A HTML-ben talált legfrissebb dátum kora (a jövőbeli dátumokat kiszűrjük). A ChatGPT top-citationek 76%-a 30 napon belül frissült tartalomból jön. | ≤30 nap → pass (legerősebb sáv) · ≤6 hónap → pass, havi frissítési tippel · régebbi / nincs dátum → warning |
| Egyedi értékajánlat (UVP) | Megkülönböztető jelzők (egyedi, garantált, kizárólag, elsők…). | Nincs → warning |
5. Idézhetőség (citability)
2× súly4 checkAzt vizsgáljuk, ad-e az oldal olyan tartalmat, amit az AI forrásként tud használni: saját adatot, összehasonlítást, jól definiált szolgáltatás-leírást és földrajzi kontextust.
| Check | Mit vizsgál | Értékelés |
|---|---|---|
| Eredeti kutatás / adat | Kutatás, felmérés, elemzés, saját statisztika jelzők. | Van → pass · nincs → info (bónusz-jellegű check) |
| Összehasonlító tartalom | „Legjobb X”, „A vs B”, top-listák, rangsorok. | Van → pass · nincs → info |
| Szolgáltatás-leírások | Szolgáltatás / termék / megoldás témájú H2–H3 szekciók száma. | ≥2 szekció → pass · kevesebb → warning |
| Lokációs relevancia | Városnevek, országnév, irányítószámos cím a szövegben — lokális AI-keresésekhez. | Van → pass · nincs → warning |
6. Technikai AI-kompatibilitás
2× súly6 checkKlasszikus technikai higiénia, AI-szemszögből: a gépileg jól értelmezhető HTML és a tiszta meta-adatok megkönnyítik a crawlerek dolgát.
| Check | Mit vizsgál | Értékelés |
|---|---|---|
| Szemantikus HTML | header, nav, main, article, section, aside, footer elemek használata (7-ből hány). | ≥4/7 → pass · kevesebb → warning |
| Nyelv-deklaráció | <html lang=...> attribútum. | Hiányzik → warning |
| Meta description minőség | A meta description megléte és hossza. | 120–160 karakter → pass · van, de rossz hossz → warning · nincs → error |
| HTTPS | Biztonságos kapcsolat. | Nincs HTTPS → error |
| Sitemap.xml | Létezik és valid (urlset / sitemapindex). | Hiányzik → warning |
| llms.txt | Van-e /llms.txt, /llms-full.txt vagy /.well-known/llms.txt (a HTML-fallback válaszokat kiszűrjük). Nem hivatalos ranking faktor — a hiánya ezért nem von le pontot. | Van → pass · nincs → info (nem számít a pontszámba) |
7. Magyar piaci jelek
2× súly4 checkCsak magyar oldalaknál fut: lang="hu*" vagy .hu domain esetén.
Magyar piacra szabott autoritás-jelek, amelyeket a globális auditok nem mérnek: hazai review-platformok, GDPR-megfelelés és a magyar cégadatok (impresszum, adószám) jelenléte.
| Check | Mit vizsgál | Értékelés |
|---|---|---|
| Magyar review-platformok | Cylex, Vélemények.hu, Árukereső, Google Cégem hivatkozás az oldalon. | ≥2 platform → pass · 1 → warning · 0 → error |
| GDPR cookie-banner | Consent-kulcsszavak (cookie, süti, adatvédelmi, gdpr, consent, hozzájárul). | ≥2 kulcsszó → pass · kevesebb → warning |
| Magyar impresszum / cégadatok | Impresszum oldal + cégforma (Kft/Bt/Zrt/e.v.) + magyar adószám-formátum (12345678-1-23) — 3 jelből hány van meg. | ≥2/3 → pass · 1/3 → warning · 0/3 → error |
| Magyar hreflang | <link rel="alternate" hreflang="hu"> tag — többnyelvű oldalaknál erős jel. | Van → pass · nincs → info |
8. Teljesítmény (Lighthouse)
1× súly5 checkCsak akkor fut, ha a Google PageSpeed Insights API válaszol (mobil stratégia).
Valódi Google PageSpeed Insights v5 mérés — nem becslés. A teljesítmény higiéniai faktor (ezért 1× a súlya): a lassú oldal rontja a crawl-hatékonyságot és a felhasználói élményt, de önmagában nem AI-láthatósági fő jel.
| Check | Mit vizsgál | Értékelés |
|---|---|---|
| Performance score | Lighthouse összesített teljesítmény-pontszám (mobil). | ≥90 → pass · 50–89 → warning · <50 → error |
| Accessibility score | Akadálymentesség (alt tagek, kontraszt, ARIA). | ≥90 → pass · 70–89 → warning · <70 → error |
| LCP — Largest Contentful Paint | A legnagyobb tartalmi elem betöltési ideje. | ≤2,5s → pass · ≤4s → warning · >4s → error |
| CLS — Cumulative Layout Shift | Elrendezés-ugrálás betöltés közben. | ≤0,1 → pass · ≤0,25 → warning · >0,25 → error |
| FCP — First Contentful Paint | Az első tartalom megjelenési ideje. | ≤1,8s → pass · ≤3s → warning · >3s → error |
Hogyan áll össze a pontszám
A végső GEO score a check-pontok súlyozott átlaga, 0–100-ra normálva:
pont(check) = pass → 10 | warning → 5 | error → 0
(info státusz nem számít bele)
súly(kategória) = AI Crawler hozzáférés → 3
Strukturált adatok → 3
E-E-A-T jelek → 2
Tartalom AI-kompatibilitás → 2
Idézhetőség → 2
Technikai AI-kompatibilitás → 2
Magyar piaci jelek → 2
Teljesítmény → 1
GEO score = kerekítve( Σ pont × súly / Σ 10 × súly × 100 )Példa: ha egy oldalon 40 értékelhető check fut le és mind warning lenne, a score pontosan 50 — a súlyok az arányokat tolják el: egy error a crawler-kategóriában háromszor annyit ront, mint egy error a teljesítményben. A kategória-szintű részpontszám ugyanígy számolódik, csak súlyozás nélkül, a kategórián belül: (pass×10 + warning×5) / (értékelt check × 10) × 100.
Osztályzat
AI Live Test — külön réteg a score felett
A scan végén 4 LLM-et hívunk meg párhuzamosan (Perplexity Sonar, GPT-4o-mini, Gemini 2.5 Flash, Claude Sonnet 4): mindegyik generál egy releváns magyar keresőkifejezést az iparágadra, felsorolja a top 5 oldalt, amit idézne, és megnézi, hogy a te domained szerepel-e köztük. A citation strength a pozícióból számolódik (1. hely → 10 pont … nincs a top 5-ben → 0 pont).
Fontos: az AI Live Test eredménye nem számít bele a 0–100-as GEO score-ba — külön szekcióként jelenik meg a riportban. A Perplexity natív web-search-csel fut (valós keresés), a másik három platformnál ez tudás-alapú szimuláció. Bejelentkezett userek scanjein platformonként 3 mintát futtatunk és átlagolunk (multi-sample) — így a citation strength statisztikailag stabilabb; anonim scan 1 mintával fut. Részletek: AI Live Test dokumentáció.
Akcióterv-generálás
A riport végén a hibákból prioritizált, lépésekre bontott akcióterv épül:
- Critical — schema-hiányok (1–2 nap) és blokkolt AI crawlerek (30 perc): ezek nélkül az AI nem lát vagy nem azonosít.
- High — tartalom-optimalizálás és E-E-A-T erősítés (1–2 hét): FAQ, statisztikák, csapat-bemutató, vélemények.
- Growth — az info-jelzésekből épülő növekedési lehetőségek: eredeti kutatás, összehasonlító tartalmak.
- Ongoing — heti monitoring: futtasd újra az auditot, és kérdezd meg az AI-kat, ajánlanak-e már.
Mit nem mér (őszintén)
A GEOscore on-page AI-readiness audit, kiegészítve néhány off-site jellel (Wikipedia, Wikidata) és egy 4 platformos AI-teszttel. Az alábbi korlátokat fontos ismerni az eredmény helyes értelmezéséhez:
Az AI Live Test keresés-szimuláció: a modellek véleményt adnak, nem valós keresési indexből dolgoznak (kivéve a Perplexity Sonart, amely natív web-search-csel fut). A valódi, sok query-s Citation Share-mérés más eszközkategória.
Bing-rangsor (a ChatGPT-citationek fő forrása), Brave-rangsor (Claude), YouTube-említések és Google Knowledge Graph jelenlét jelenleg nem része a mérésnek — ezek a roadmapen szerepelnek (lásd Changelog: V2, V3, V6, V7).
A Cheerio statikus HTML-t olvas. Egy kliens-oldalon renderelő SPA (üres <div id="root">) tartalmi checkjei alulpontozódnak. Megjegyzés: a legtöbb AI crawler szintén nem futtat JavaScriptet, tehát a mérés ebben az AI-k viselkedését tükrözi.
Egy scan pillanatfelvétel. A dashboard score-history grafikonja a kézzel indított újraszkenelésekből épül — automatikus ütemezett mérés és riasztás még nincs.
Több check kulcsszó-mintákra épül (pl. bizalmi jelek, UVP, lokáció). Ezek gyorsak és nyelvre szabottak, de ritka esetben fals pozitívat/negatívat adhatnak — ezért egyetlen check súlya sem döntő önmagában.
Adatkezelés a mérés során
- A scan eredménye a
scan_resultstáblába kerül; ugyanarra a domain+IP párosra 24 órán belül cache-elt eredményt adunk vissza. - Anonim mérés napi 5 scan / IP; bejelentkezve a tier-ed szerint (Free 5, Basic 10, Pro 30, Agency 100).
- A
private: trueflaggel indított scan eredménye nem kerül be a publikus sitemap-be (V15). - A mért oldal felé minden kérés
GEOscore-Auditor/1.0user-agenttel megy — a mérés azonosítható a szerver-logokban.