Skener in obisk strani

  • Skener obišče samo glavno stran in tri pomožne datoteke (/robots.txt, sitemap, /llms.txt).
  • Izvaja izključno zahteve GET po HTTP ali HTTPS. Ne pošilja obrazcev, se ne prijavlja, ne oddaja naročil in ne spreminja podatkov.
  • Največ 5 preusmeritev, 3 s za povezavo in 10 s skupaj, največ 2 MiB telesa odgovora.
  • Zasebni in rezervirani naslovi IP so blokirani; naslov se ponovno preveri po vsaki preusmeritvi.
  • JavaScript se ne izvaja. Vsebina, ki nastane šele v brskalniku, v meritev ne šteje.
  • Uporabljeni user-agent: SpletivaResearchBot/1.0 (+https://spletiva.si/raziskave/metodologija; contact: info@ge-ko.si)
  • Če robots.txt prepoveduje našega bota, glavne strani ne preberemo; stran ostane v vzorcu z oznako crawl_restricted.

Vzorec

  • Velikost vzorca: 500 strani; uspešnih meritev 497, neuspešnih 3.
  • Načrt vzorca: stratificiran vzorec iz dokumentiranega okvira; glej docs/RESEARCH-SAMPLE-2026.md
  • Vsaka stran ima naveden izvor (directory, editorial_discovery ali public_sample).
  • Imenik Spletiva ni reprezentativen vzorec slovenskega spleta; rezultati veljajo za opisani vzorec.
  • Segment z manj kot 20 izmerjenimi stranmi ne prikaže odstotka.

Česa ne merimo

  • Hitrosti nalaganja v brskalniku (Lighthouse, LCP, CLS, TBT): za to bi bilo potrebno izvajanje strani, ki ga to okolje ne omogoča.
  • Podatkov o resničnih obiskovalcih (CrUX). Če jih bomo kdaj dodali, bodo ločene FIELD metrike; laboratorijskih in poljskih podatkov nikoli ne mešamo.
  • Skupne teže strani in števila omrežnih zahtev. Merimo velikost dokumenta HTML in število statičnih referenc v njem.
  • Ali je stran dejansko indeksirana ali citirana v iskalnikih in pogovornih pogonih.

O datoteki llms.txt in botih AI

Prisotnost datoteke llms.txt beležimo zgolj kot dejstvo o obstoju datoteke. Ni dokazov, da vpliva na uvrstitev v Googlu ali na to, ali pogovorni pogoni stran povzemajo; ni mera »pripravljenosti na AI« in ne prinaša točk. Za vidnost v Googlovih pogonih je bistvena običajna infrastruktura za pajkanje in indeksiranje.

Pri OAI-SearchBot preverimo samo dovoljenje v robots.txt. Dovoljen bot ne pomeni, da bo ChatGPT stran obiskal ali citiral.

Definicije metrik

Dosegljivost in preusmeritve

Stran odgovori reachable

Strežnik na začetni URL vrne kakršenkoli HTTP odgovor (tudi napako).

Metoda: GET na začetni URL, do 5 preusmeritev, 10 s. Napaka DNS, povezave, TLS ali časovna omejitev pomeni »ne«. Statusna koda se meri ločeno (final_http_status).

Končna HTTP statusna koda final_http_status

Statusna koda zadnjega odgovora po preusmeritvah.

Metoda: Porazdelitev po razredih 2xx/3xx/4xx/5xx. Meri se samo, če je stran dosegljiva.

Število preusmeritev redirect_count

Koliko HTTP preusmeritev (301/302/303/307/308) vodi od začetnega do končnega URL.

Metoda: Začetni URL je URL iz profila. Meta refresh in JavaScript preusmeritve se ne štejejo.

HTTPS in TLS

Končna stran je na HTTPS https

Končni URL po preusmeritvah uporablja shemo https.

Metoda: Če začetni URL na HTTPS odpove zaradi TLS napake, skener poskusi še HTTP; taka stran šteje kot »ne«.

Veljaven TLS certifikat valid_tls

HTTPS povezava s preverjanjem certifikata (veriga, ime gostitelja, veljavnost) uspe.

Metoda: curl s CURLOPT_SSL_VERIFYPEER in VERIFYHOST. Pri straneh, ki ostanejo na HTTP, skener ločeno poskusi https://gostitelj/. Če HTTPS sploh ne odgovori, je vrednost »ni mogoče izmeriti«.

HSTS glava hsts

Končni odgovor vsebuje glavo Strict-Transport-Security.

Metoda: Samo prisotnost glave; vrednost max-age se ne ocenjuje. Pri HTTP straneh metrika ni smiselna in ne šteje v imenovalec.

Prenos in velikost

Stiskanje HTML compression

Odgovor za HTML je stisnjen (gzip, br, deflate ali zstd).

Metoda: Zahteva oglašuje vse kodiranja, ki jih curl podpira; meri se glava Content-Encoding končnega odgovora.

Velikost HTML dokumenta html_document_bytes

Velikost dekompresiranega HTML glavne strani v bajtih (do 2 MiB).

Metoda: Samo HTML dokument — brez slik, CSS, JS in pisav. To NI skupna teža strani. Vrednosti nad 2 MiB so odrezane pri 2 097 152.

Zunanji skripti in slogi v HTML html_resource_references

Število <script src> in <link rel="stylesheet"> v izvornem HTML.

Metoda: Statična referenca v HTML; skripti, ki naložijo dodatne vire, se ne štejejo. To NI število omrežnih zahtev pri nalaganju.

Osnovni HTML in SEO signali

<title> je prisoten html_title_present

Element <title> obstaja in ni prazen.

Metoda: Prvi <title> v dokumentu, po obrezovanju presledkov ni prazen.

Meta description je prisoten meta_description_present

<meta name="description"> z nepraznim content.

Metoda: Ime atributa se primerja neodvisno od velikosti črk. Dolžina se ne ocenjuje.

Število <h1> h1_count

Koliko elementov <h1> je v HTML glavne strani.

Metoda: Štetje v izvornem HTML brez izvajanja JavaScripta. Poroča se porazdelitev 0 / 1 / 2+.

Canonical je prisoten canonical_present

<link rel="canonical"> z nepraznim href.

Metoda: Samo HTML link element; glava Link se ne upošteva.

Canonical kaže nase canonical_self_referencing

Canonical URL je enak končnemu URL glavne strani.

Metoda: Primerjava brez končne poševnice, velikosti črk sheme/gostitelja in fragmenta. Strani brez canonical ne štejejo v imenovalec.

Glavna stran je noindex noindex

Meta robots ali glava X-Robots-Tag vsebuje noindex ali none.

Metoda: Nižji delež je boljši. Ne razlikuje po botih.

Atribut lang na <html> html_lang_present

<html lang="…"> je nastavljen in ni prazen.

Metoda: Vrednost se ne preverja glede na dejanski jezik vsebine.

Meta viewport je prisoten viewport_present

<meta name="viewport"> z nepraznim content.

Metoda: To je predpogoj za prilagodljiv prikaz, ne meritev mobilne uporabnosti.

Open Graph oznake open_graph_present

Vsaj ena <meta property="og:…"> z nepraznim content.

Metoda: Katerakoli og: lastnost. Popolnost nabora se ne ocenjuje.

Pokritost slik z alt besedilom image_alt_coverage

Delež <img> z nepraznim atributom alt.

Metoda: Prazen alt="" šteje kot manjkajoč, ker ne ločimo dekorativnih slik. Strani brez slik ne štejejo v imenovalec. Poroča se mediana in porazdelitev.

Strukturirani podatki (JSON-LD)

JSON-LD je prisoten json_ld_present

Vsaj en <script type="application/ld+json"> z veljavnim JSON.

Metoda: Microdata in RDFa se ne štejeta. Blok z neveljavnim JSON se ne šteje.

Schema Organization organization_schema_present

JSON-LD vsebuje @type Organization ali katerikoli podtip (vključno z LocalBusiness).

Metoda: Zaprt seznam tipov; @type se išče kjerkoli v JSON-LD, tudi v @graph in gnezdenih objektih.

Schema LocalBusiness local_business_schema_present

JSON-LD vsebuje LocalBusiness ali njegov podtip (Store, Restaurant, Dentist …).

Metoda: Zaprt seznam podtipov iz schema.org. Podmnožica organization_schema_present.

Schema Product product_schema_present

JSON-LD na glavni strani vsebuje Product ali podtip.

Metoda: Samo glavna stran; trgovine imajo Product običajno na podstraneh, zato delež podcenjuje dejansko rabo.

Schema Article article_schema_present

JSON-LD vsebuje Article, NewsArticle, BlogPosting ali podtip.

Metoda: Samo glavna stran.

Schema BreadcrumbList breadcrumb_schema_present

JSON-LD vsebuje BreadcrumbList.

Metoda: Samo glavna stran.

Roboti in pomožne datoteke

robots.txt obstaja robots_txt_present

/robots.txt vrne 200, ni HTML in vsebuje vsaj eno skupino User-agent.

Metoda: HTML odgovor s kodo 200 (SPA fallback) ne šteje.

Sitemap obstaja sitemap_present

Sitemap iz robots.txt (prva direktiva) ali /sitemap.xml vrne 200 in vsebuje <urlset> ali <sitemapindex>.

Metoda: Vsebina in veljavnost XML se ne preverjata.

robots.txt dovoli Googlebotu / googlebot_allowed

Po pravilih robots.txt končnega gostitelja sme Googlebot obiskati korensko pot.

Metoda: Razčlenjevanje po RFC 9309 (najbolj specifična skupina, najdaljše ujemanje). Brez robots.txt = dovoljeno. Ne pomeni, da je stran indeksirana.

robots.txt dovoli OAI-SearchBot / oai_searchbot_allowed

Po pravilih robots.txt sme OAI-SearchBot (iskanje v ChatGPT) obiskati korensko pot.

Metoda: Samo robots dovoljenje. Ne pomeni, da ChatGPT stran citira ali da je bila obiskana.

robots.txt dovoli SpletivaResearchBot research_crawl_allowed

Stran ni prepovedala našega research bota.

Metoda: Če je »ne«, skener glavne strani ne prebere; stran šteje v vzorec kot crawl_restricted.

llms.txt obstaja llms_txt_present

/llms.txt vrne 200 z nepraznim besedilom, ki ni HTML.

Metoda: Samo prisotnost datoteke. Ni dokazov, da vpliva na Google ali AI odgovore; ni mera »AI pripravljenosti«.