Pet stvari, zaradi katerih stran deluje dokončano
Kar ljudje opazijo najprej, pogosto ne da bi vedeli zakaj: stran je pripravljena, še preden prispe vsebina, odpre se v trenutku, gumbi povedo, kaj naredijo, dejanja se odzovejo takoj in vsako dejanje dobi odgovor.
Obrisi vsebine med nalaganjemPomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek, Od zunaj
- Zakaj
- Namesto vrtečega se kroga ali osamljenega »Nalagam …« dokončana stran pokaže nadomestne obrise v obliki in na mestu vsebine, ki jo čakajo – sive ploskve tam, kjer bodo besedilo, slika in gumbi (angl. skeletons) –, zato je stran takoj videti pripravljena in nič ne poskoči, ko vsebina prispe (ta poskok, premik postavitve, je eno od Googlovih meril Core Web Vitals). Obiskovalcem, ki so v napravi izbrali manj gibanja, obrisi mirujejo, namesto da bi se lesketali. Nalaganje, ki se nikoli ne konča, ker se skripta ob slabi povezavi ni naložila, je napaka zase.
- Preverite sami
- V Chromu odprite orodja za razvijalce (F12) → »Network«, v meniju za omejevanje hitrosti izberite »Slow 4G« in osvežite strani, ki čakajo na podatke: sezname, rezultate iskanja, vse za prijavo. Postavitev strani se mora pokazati takoj, z obrisi v velikosti prave vsebine, in ko vsebina prispe, se nič ne sme premakniti. V telefonu ali računalniku vklopite »Zmanjšaj gibanje« in poglejte znova: obrisi se ne smejo lesketati. Nazadnje si oglejte izvorno kodo strani (Ctrl+U oziroma ⌘⌥U): če glavnega besedila v njej ni in je le sporočilo o nalaganju, je stran v celoti odvisna od JavaScripta.
- Za razvijalca
- Next.js:
loading.tsxza vsak počasni del poti innext/dynamics komponentoloading; izrisovanje na strežniku ne izklopljeno brez razloga. Obrisom dajte končne mere (aliaspect-ratio), lesketanje pa postavite v@media (prefers-reduced-motion: no-preference). - Vir
- Glejte tudi
- Stran je berljiva tudi brez JavaScripta, Manj gibanja za tiste, ki to želijo
Predpomnjenje, da se stran odpre v trenutkuPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Obiskovalec, ki se vrne ali klikne na naslednjo stran, ne sme dvakrat čakati na iste datoteke. Dokončana stran statične strani in datoteke, ki imajo v imenu zgoščeno vrednost vsebine, predpomni za dolgo (leto dni,
immutable), HTML preverja znova, da so spremembe vidne, podatke streže po načelu »stale while revalidate« – takoj zadnji znani odgovor, osvežen v ozadju – in vnaprej naloži povezave, ki jih bo obiskovalec verjetno odprl. Vse to lahko izniči ena sama glava: splošenCache-Control: max-age=0na vseh poteh povozi ogrodje in brskalnik prisili, da ob vsakem obisku znova preveri vsako optimizirano sliko in datoteko. - Preverite sami
- Odprite stran, kliknite povezavo na drugo podstran in se vrnite: drugi obisk se mora pokazati skoraj v trenutku. V orodjih za razvijalce → »Network« kliknite datoteko JavaScript ali CSS in preberite njeno glavo
cache-control: dolgmax-ageinimmutable. Kliknite še stran samo: ta se mora preverjati znova, ne hraniti leto dni. Osvežite še enkrat in poglejte stolpec »Size«: ponovljene datoteke morajo priti iz »(memory cache)« ali »(disk cache)«. - Za razvijalca
- Predpomnjenja ogrodja ne povozite s pravilom za glave na
/:path*. V Next.js<Link>vnaprej naloži poti, ki jih prikazuje,fetchin deli poti pa lahko dobijo časrevalidate. Če je stran za Cloudflarom, vedite, katera plast kaj predpomni.
Namigi na gumbih, ki so samo ikonaPomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek, Od zunaj
- Zakaj
- Ikona brez besede – svinčnik, tri pike, lijak – ljudi sili v ugibanje. Dokončana stran takim gumbom doda kratek namig (angl. tooltip), ki pove, kaj gumb naredi; pokaže se ob fokusu s tipkovnico enako kot ob premiku miške, bralnik zaslona ga prebere, in nikoli ne skriva ničesar, kar obiskovalec potrebuje, da dokonča, kar je začel. Na zaslonih na dotik, kjer premika miške ni, je pogosto boljša vidna oznaka ob ikoni.
- Preverite sami
- S tipko Tab se sprehodite po strani: ko gumb z ikono dobi fokus, se mora pokazati njegov namig, enako kot ob premiku miške nanj, tipka Esc pa ga mora zapreti. Na telefonu tapnite iste gumbe: namig ali vidna oznaka vam mora povedati, kaj naredijo, preden se zgodi kaj nepovratnega. Z vklopljenim bralnikom zaslona (VoiceOver, TalkBack ali NVDA) pojdite na gumb: slišati morate njegovo ime in namig, ne le »gumb«.
- Za razvijalca
- Gumb potrebuje svoje dostopno ime (
aria-labelali vizualno skrito besedilo). Namig povežite zaria-describedbyinrole="tooltip", pustite ga odprtega, dokler je kazalec nad njim, in ga zaprite z Esc (WCAG 1.4.13). Atributtitlesam ne zadošča: ne pokaže se ob fokusu ali dotiku. - Vir
Takojšen odziv, kjer je to varnoPomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek
- Zakaj
- Kadar je uspeh tako rekoč gotov – všeček, stikalo, dodajanje na seznam –, dokončana stran rezultat pokaže v trenutku klika in ga v ozadju potrdi s strežnikom; če strežnik reče ne, vrne prejšnje stanje in to tudi pove. Tega nikoli ne počne pri plačilih, prijavah, naročilih ali čemer koli, česar ni mogoče razveljaviti: ta počakajo na odgovor strežnika, ker je uspeh, prikazan, preden je resničen, najhujše, kar lahko obrazec naredi.
- Preverite sami
- Kliknite stikalo, všeček ali gumb za dodajanje in opazujte: sprememba se mora pokazati takoj. Nato v orodjih za razvijalce → »Network« izberite »Offline« in ponovite: čez hip se mora sprememba razveljaviti, s sporočilom, da ni bila shranjena. Enako pošljite prijavo ali naročilo: počakati mora na strežnik in pokazati pošteno napako, nikoli »Končano«.
- Za razvijalca
- Shranite prejšnje stanje, uveljavite spremembo, pošljite zahtevek in ob napaki vrnite prejšnje stanje z vidnim sporočilom (Reactov
useOptimisticopravi knjigovodstvo). Oddaji nikoli ne nastavite stanja uspeha, preden strežnik ne potrdi, da je shranjena. - Glejte tudi
- Obrazci, ki govorijo resnico, Kratka obvestila, ki potrdijo dejanje
Kratka obvestila, ki potrdijo dejanjePomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek, Od zunaj
- Zakaj
- Kratko sporočilo, ki ne ovira dela – »Shranjeno«, »Shranjevanje ni uspelo, poskusite znova« –, obiskovalcu pove, ali je dejanje uspelo, ne da bi ga zmotilo. Dokončana stran ga sporoči tudi bralnikom zaslona, pusti dovolj dolgo, da ga je mogoče prebrati, omogoči, da ga zaprete, sporočila o napakah pa ostanejo, dokler jih ne zaprete. Nikoli ni edino mesto, kjer se pokaže pomembna napaka: težava z obrazcem se pokaže tudi ob polju.
- Preverite sami
- Nekaj shranite ali spremenite in preberite sporočilo: je jasno in ostane dovolj dolgo, da ga preberete dvakrat? Povzročite napako (orodja za razvijalce → »Network« → »Offline«): sporočilo o napaki mora ostati, dokler ga ne zaprete. Z vklopljenim bralnikom zaslona mora biti sporočilo prebrano, ne da bi ga iskali. Preverite, da ne prekrije gumba, ki ga potrebujete naslednjega, ali pasice za piškotke.
- Za razvijalca
- Obvestila izrišite v območje
aria-live, ki obstaja že ob nalaganju strani (politeza potrditve,role="alert"za napake), vsakemu dajte gumb za zapiranje, ki deluje s tipkovnico, napak pa ne zapirajte samodejno. - Vir
- Glejte tudi
- Obrazci, ki govorijo resnico
O seznamih, ki krožijo po omrežjih
Po družbenih omrežjih krožijo kratki seznami – »20 stvari, ki jih vaši spletni strani manjka« – in nekatere njihove točke so tudi na tej strani. Vsako smo preverili z viri, na katerih temelji preostanek strani. Večina drži. Nekatere držijo le v nekaterih primerih. Težav, zaradi katerih stran najpogosteje izgubi obiskovalce, podatke ali denar, pa na njih sploh ni.
Te držijo, kot so običajno zapisane
- Lastna stran 404, naslov in opis na vsaki strani, slika za deljenje, nabor ikon, besedilni opisi slik, postavitev, ki deluje na telefonu, slike, ki niso težje, kot je treba, obvestilo o zasebnosti in pravi kontaktni podatki. Glejte tudi: Strani za napake v jeziku strani: 404 in 500, Naslov in opis na vsaki strani, Slika za deljenje na vsaki strani, Ikona strani, ikona za začetni zaslon in manifest, Nadomestno besedilo na vsaki sliki in jasna zgradba, Deluje na telefonu, že od 320 slikovnih pik, Slike, video in ikone v lahkih formatih, Politika zasebnosti, Pravi kontaktni podatki, ne le obrazec
- Prikaz nalaganja in napake v obrazcih – s tem, kar seznami izpustijo: obrazec tudi nikoli ne sme reči »Hvala«, preden je poslano res shranjeno ali dostavljeno. To je najdražja napaka, ki jo obrazec lahko ima, ker ljudje, ki jih pusti na cedilu, mislijo, da jim je uspelo. Glejte tudi: Obrisi vsebine med nalaganjem, Obrazci, ki govorijo resnico
Držijo le v nekaterih primerih
- Pasica za piškotke je potrebna le, ko teče kaj, kar ni nujno potrebno – analitika, sledilna koda, vdelan video. Boljši cilj je stran, ki pasico čim manj potrebuje: pisave z lastnega naslova, analitika, ki počaka na privolitev, videi, ki se naložijo ob kliku. Pasica, ki sledilnikom pusti teči, še preden je kdo odgovoril, pa strani ne naredi skladne s predpisi. Glejte tudi: Pasica za privolitev – le, ko teče kaj nenujnega, Analitika in druga orodja: kaj potrebuje privolitev, Pisave in skripte z lastnega strežnika
- Analitika je koristna, a prav zaradi nje večina strani potrebuje pasico: Informacijski pooblaščenec analitiko obravnava kot nekaj, za kar je potrebna privolitev, s piškotki ali brez njih. Računajte, da boste šteli le obiskovalce, ki privolijo. Glejte tudi: Analitika in druga orodja: kaj potrebuje privolitev, Skripte, dodane na poti do obiskovalca
- Splošni pogoji spadajo na strani, ki kaj prodajajo ali ljudem omogočajo odpreti račun ali objavljati. Stran, ki obvešča ali zbira prijave na dogodek, potrebuje namesto njih obvestilo o zasebnosti in podatke o tem, kdo jo upravlja. Glejte tudi: Splošni pogoji, kadar jih potrebujete, Politika zasebnosti, Podatki o ponudniku (impresum)
robots.txtinsitemap.xmlsta koristna, a na majhni strani sama po sebi ne naredita veliko –robots.txtpa lahko tudi škodi: strani ne more umakniti iz iskalnikov (to zmore lenoindex), storitev pred vašo stranjo pa ga lahko zamenja, ne da bi vam to povedala. Glejte tudi: robots.txt, ki pove, kar mislite, Zemljevid strani z vsemi stranmi v vseh jezikih- »Optimizacija za umetno inteligenco«: večina tega, kar pomaga, je običajna dobra praksa – besedilo v sami strani, resnični datumi, jasno ime za vsebino.
llms.txtni obvezen, Google pravi, da njegove funkcije umetne inteligence ne potrebujejo posebnih datotek ali oznak, kdor pa blokira vse pajke umetne inteligence, stran umakne tudi iz njihovih odgovorov. Glejte tudi: Odgovori v HTML-ju, pod jasnimi naslovi, llms.txt: neobvezen in ne nadomesti strani, Pajki umetne inteligence: odgovarjanje in učenje sta ločeni odločitvi - »Poziv k dejanju na prvem zaslonu« in »lepljiv gumb na telefonu«: ljudje se pomikajo navzdol. Pomembno je, da je dejanje, ki ga želite, očitno tam, kjer se ljudje odločajo, da je zapisano kot dejanje samo in da se ponovi na koncu. Lepljiv gumb na dolgih straneh pomaga, dokler nikoli ne prekrije vsebine, polja v obrazcu ali pasice za privolitev. Glejte tudi: Jasen poziv k dejanju brez drsenja, Lepljiv gumb za glavno dejanje na telefonih
- »Stran z zahvalo«: bistvo ni stran, ampak kar piše na njej – da je oddaja prispela, kaj sledi in kdaj, potrjeno z e-sporočilom. Enako dobro deluje jasno sporočilo na isti strani. Glejte tudi: Stran z zahvalo, ki pove, kaj sledi, Potrdilo v obiskovalčevem jeziku
Česa ti seznami ne omenijo
- Obrazci, ki odpovejo potiho: uspeh, prikazan, ko ni bilo nič shranjeno, oddaje, ki živijo le v nabiralniku, in omejitve, ki zavrnejo drugega človeka v istem mobilnem omrežju. Glejte tudi: Obrazci, ki govorijo resnico, Vnosi iz obrazcev, shranjeni trajno, Omejitve zahtevkov, ki ne zaklenejo mobilnih uporabnikov
- Mesta, kjer se strani zlomijo, česar običajen brskalnik nikoli ne pokaže: vgrajeni brskalniki Instagrama, Facebooka in TikToka, samodejni prevod in strani, ki brez JavaScripta ne pokažejo niti besedila. Glejte tudi: Brskalniki v aplikacijah: Instagram, Facebook, TikTok, Samodejni prevod ne pokvari strani, Stran je berljiva tudi brez JavaScripta
- Zasloni, ki niso en telefon in en prenosnik: širine vmes, tablice, telefoni, obrnjeni ležeče, zložljivi telefoni, ki med branjem spremenijo velikost, in veliki monitorji. Glejte tudi: Tablice in širine vmes, Pokončno in ležeče, Zložljivi telefoni: zaprti, odprti in napol odprti, Prenosniki in veliki monitorji
- E-pošta, ki res pride: domena pošiljatelja, nastavljena tako, da ji poštni strežniki zaupajo, in potrdilo za vsako oddajo. Glejte tudi: SPF, DKIM in DMARC na domeni pošiljatelja, Potrdilo v obiskovalčevem jeziku
- Vedeti, kdaj se kaj pokvari: nadzor, ki opazi, da stran ne deluje, dnevniki napak, ki se hranijo dlje od ure, ki jo dovoljujejo nekateri paketi gostovanja, in varnostne kopije. Glejte tudi: Nadzor dosegljivosti, ki preverja vsebino, Dnevniki napak, ki jih lahko preberete še naslednji teden, Varnostne kopije in zgodovina vsebine
- Varnost in posodobitve: varnostne glave, nič skrivnega na dosegu javnosti in ogrodje, posodobljeno, ko je objavljena ranljivost. Glejte tudi: Varnostne glave, Nobenih skrivnosti in zasebnih datotek na javnem, Posodobljene odvisnosti
- Pravna plat onkraj strani o zasebnosti: kdo upravlja stran, privolitev, ki jo lahko dokažete, in – ko prodajate naročnine – pogoji podaljšanja ob gumbu za plačilo. Glejte tudi: Podatki o ponudniku (impresum), Privolitev, ki jo lahko dokažete, Pogoji podaljšanja ob gumbu za plačilo
- Dostopnost onkraj besedilnih opisov slik: kontrast, uporaba s tipkovnico, označena polja v obrazcih. Glejte tudi: Besedilo, ki se ga da prebrati, Vse deluje s tipkovnico in vedno vidite, kje ste, Obrazci, ki jih lahko izpolni vsak
- Podrobnosti za iskalnike, ki gredo narobe, ne da bi kdo opazil: vsaka stran, ki za izvirnik navaja sebe, in jezikovne različice strani, ki kažejo druga na drugo. Glejte tudi: En kanonični naslov za vsako stran, Jezikovne različice, ki kažejo druga na drugo
Pet stvari na vrhu je o tem, kakšen je občutek ob uporabi strani, in vsaka ima mejo, ki jo je dobro poznati. Nadomestni okvir, ki ni velik kot prava vsebina, povzroči prav tisti preskok, ki bi ga moral preprečiti. Predpomnjenje nikoli ne sme podatkov ene osebe hraniti za drugo. Namigi na zaslonih na dotik ne obstajajo. Takojšen odziv se nikoli ne sme uporabiti tam, kjer bi lažen uspeh zavedel. In obvestilo, ki izgine po štirih sekundah, ne more biti edino mesto, kjer je prikazana napaka.
Skoraj nič na tej strani ne ostane narejeno. Posodobitev, nova podstran ali novo orodje lahko kaj od tega razveljavi, ne da bi kdo opazil – enkraten pregled vam da seznam; da seznam ostane izpolnjen, je vzdrževanje, in vzdrževanje je tisto, kar dela Rounds. V rednih krogih →
Ko gre kaj narobe
Kaj naredi dokončana stran, ko povezava ne vodi nikamor, je seznam prazen, obrazec ne uspe, omrežje odpove, se stran seli, mine čas ali ji kdo pošlje nesmisel.
Glejte tudi: Obrisi vsebine med nalaganjem, Kratka obvestila, ki potrdijo dejanje, Takojšen odziv, kjer je to varno
Strani za napake v jeziku strani: 404 in 500Pomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Ljudje pridejo po starih povezavah, z zatipkanimi naslovi in z lanskih plakatov. Dokončana stran jim odgovori v jeziku strani, ponudi pot nazaj in vrne statusno kodo 404, da iskalniki »ni najdeno« ne vpišejo kot pravo stran. Ko se v strani kaj zalomi, stran za napako namesto praznega zaslona pokaže prijazno sporočilo in možnost, da poskusite znova, napaka pa se zabeleži.
- Preverite sami
- Odprite izmišljen naslov, na primer
/abc123, in enakega pod vsakim jezikom (/en/abc123). Pokazati se mora stran v tem jeziku s povezavo na začetno stran, ne angleški »This page could not be found.« iz ogrodja. V orodjih za razvijalce → »Network« mora biti pri tej strani status 404. Poskusite še z izmišljenim dogodkom ali člankom (/dogodki/abc123): besedilo »ni najdeno« s statusom 200 je tako imenovana mehka napaka 404. Strani 500 od zunaj ne morete sprožiti; prosite razvijalca, naj vam jo pokaže. - Za razvijalca
- Next.js:
app/not-found.tsx; z next-intl šenot-found.tsxin poti, ki ujame vse ostalo, pod[locale], sicer neznani naslovi padejo na korensko stran 404. Iskanje podatkov v strežniških komponentah kličenotFound().error.tsxinglobal-error.tsxobstajata in napake sporočata v dnevnik; obrazci, zemljevidi in igre dobijo svojo mejo napak (error boundary), da ena napaka ne podre vse strani. - Viri
Prazen seznam, ki to povePomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek, Potrebna je koda
- Zakaj
- Seznami, ki jih urejate v CMS-ju, so včasih prazni: sponzorjev še ni, program še ni objavljen, ta mesec ni novic. Dokončana stran to pove v enem stavku ali razdelek skrije, namesto da bi pokazala naslov nad praznino – ali se sesula, ker manjka polje, ki ga je pričakovala.
- Preverite sami
- Na predogledu ali kopiji strani v CMS-ju izpraznite seznam ali pobrišite neobvezno polje in poglejte stran. Pojdite čez vse strani s seznami – novice, dogodki, partnerji, galerija – in se vprašajte, kako bi bile videti brez vsebine.
- Za razvijalca
- Komponente s seznami obvladajo
[], neobvezna polja iz CMS-ja pa se preverijo, preden se berejo.
Obrazci, ki govorijo resnicoPomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Najhujše, kar lahko obrazec naredi, je, da reče »Hvala!«, ko ni bilo nič shranjeno ali poslano: kdor ne dobi odgovora, se prijavi še enkrat ali pa obupa. Dokončan obrazec uspeh sporoči šele, ko ga potrdi strežnik, pove, kaj je narobe, ob polju in v jeziku strani, in nikoli ne reče »poskusite znova« pri težavi, ki je ponoven poskus ne bo rešil.
- Preverite sami
- Pošljite obrazec z napako – e-naslov brez @, prazno obvezno polje. Sporočilo se mora pokazati ob polju, ki je narobe, v jeziku strani, še preden se kaj pošlje. Nato na testni kopiji v orodjih za razvijalce → »Network« izberite »Offline« in pošljite pravilno izpolnjen obrazec: dobiti morate pošteno sporočilo o napaki in drug način, kako priti do vas, ne pa »Hvala«. Po pravem testnem vnosu preverite, ali je prispel, kamor mora, in ali je prišlo potrdilo po e-pošti, če ga obrazec obljublja.
- Za razvijalca
- Stanje uspeha nastavite šele po
awaitodgovora strežnika; nobenega.then(), katerega rezultat se prezre. Preverjanje na strežniku zrcali preverjanje v brskalniku, zavrnitev strežnika pa se pokaže kot isto sporočilo ob istem polju. Napake se sporočijo zrole="alert"aliaria-live. - Vir
- Glejte tudi
- Stran z zahvalo, ki pove, kaj sledi, Obrazci, ki jih lahko izpolni vsak
Slabo omrežje in brez povezavePomembnost: Dobrodošlo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Obrazec, poslan na vlaku, naj reče »niste povezani, poskusite znova«, ne pa se vrti v neskončnost. Stran, katere spletni manifest pravi
display: standalone, obiskovalce vabi, naj jo dodajo na začetni zaslon; brez service workerja se ta nameščena »aplikacija« brez povezave odpre z brskalnikovim dinozavrom. - Preverite sami
- V orodjih za razvijalce → »Network« izberite »Offline« in pošljite obrazec: v nekaj sekundah morate dobiti jasno sporočilo. Če vam brskalnik na telefonu ponudi namestitev strani ali dodajanje na začetni zaslon, to storite, vklopite način za letalo in jo odprite.
- Za razvijalca
- Vsak
fetchima časovno omejitev incatch, vmesnik pa izrecno stanje napake. Stran naj ima service worker s stranjo za delo brez povezave, ali pa iz manifesta odstranitedisplay: standalone.
Stran za vzdrževanje, pripravljena vnaprejPomembnost: Dobrodošlo. Kdo lahko preveri: Potrebna je koda, Potrebni so vaši dostopi
- Zakaj
- Za selitev, prenos DNS ali izpad CMS-ja potrebujete eno stikalo, ki pokaže »kmalu smo spet tu« s statusom 503 in glavo
Retry-After. Običajna stran ali 404 v tem času iskalnikom sporoči, da strani ni več. - Preverite sami
- Vprašajte razvijalca: »Če bi morali stran nocoj za eno uro umakniti, kaj bi vklopili?« Pri dokončani strani je odgovor že pripravljen in se ga ne sestavlja tisti večer.
- Za razvijalca
- Okoljska spremenljivka, ki jo prebere middleware, ali vnaprej pripravljeno pravilo pri Vercelu ali Cloudflaru.
Strani, ki se spreminjajo s časomPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebna je koda, Potreben je človek
- Zakaj
- Prijave se zaprejo, dogodek mine, mesta se zapolnijo, kampanja se konča. Teden po dogodku dokončana stran ne vabi več k prijavi, in če se načrti spremenijo, to povedo tudi podatki, ki jih berejo iskalniki (
eventStatus, na primer prestavljen ali odpovedan). - Preverite sami
- Stran poglejte dan po dogodku ali roku ali pa prosite razvijalca za predogled s premaknjenim datumom. Gumbi in besedila se morajo spremeniti sami. V izvorni kodi strani poiščite
endDatein ga primerjajte z današnjim dnem. - Za razvijalca
- Datumi so v podatkih, vmesnik pa se odloča po trenutnem času v časovnem pasu dogodka (Europe/Ljubljana, Europe/Belgrade).
Na nesmisel jasen »ne«Pomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Kadar strežnik na napačno oblikovan naslov ali ID odgovori z napako 500, je nepreverjena vrednost običajno prišla vse do baze podatkov. Dokončana stran na napačen vnos odgovori s statusom 4xx in sporočilom, zato v dnevniku napak tudi ni šuma.
- Preverite sami
- Vzemite naslov, ki vsebuje ID ali ime – dogodka, članka –, in ta del zamenjajte z nesmislom, kot je
%%%, ali z zelo dolgim nizom. Dobiti morate stran 404 ali 400, nikoli 500 »Internal Server Error«. To počnite le z naslovi strani, ki jih lahko odprete; obrazcev ne pošiljajte.
Od obiska do dejanja
Večina strani obstaja zato, da bi kdo nekaj naredil: se prijavil, kupil vstopnico, rezerviral, pisal. S temi točkami je to preprosto.
Glejte tudi: Obrazci, ki govorijo resnico, Kratka obvestila, ki potrdijo dejanje
Jasen poziv k dejanju brez drsenjaPomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek, Od zunaj
- Zakaj
- Na straneh, ki štejejo – začetna stran, dogodek, storitev –, je tisto eno, kar želite, da obiskovalci naredijo, vidno že na prvem zaslonu, na telefonu enako kot na računalniku. Ubesedeno je kot dejanje samo, »Prijavite se za 3. oktober« in ne »Več o tem«, in ne tekmuje s štirimi enako pomembnimi gumbi. Če ga morajo ljudje iskati, ga nekateri ne bodo.
- Preverite sami
- Ključne strani odprite na telefonu in brez drsenja na glas povejte, kaj je tisto eno, kar vas stran prosi. Če tega ne znate ali je enakovrednih gumbov več, stran potrebuje eno jasno dejanje.
Lepljiv gumb za glavno dejanje na telefonihPomembnost: Dobrodošlo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Na dolgi strani, ki jo berete na telefonu, obiskovalcem majhna vrstica na dnu zaslona z glavnim dejanjem – Prijava, Nakup vstopnic – prihrani vračanje na vrh. Nikoli ne prekrije besedila, polj obrazca, pasice za piškotke ali sporočil strani, in se umakne tam, kjer bi se le ponavljala, na primer na obrazcu, h kateremu vodi.
- Preverite sami
- Na telefonu se pomaknite do samega konca dolge strani: zadnje vrstice in gumbi morajo biti nad vrstico še berljivi. Odprite pasico za piškotke in obrazec ter tapnite v polje, da se odpre tipkovnica: nič se ne sme prekrivati.
- Za razvijalca
- Zanjo rezervirajte prostor:
padding-bottomna strani v višini vrstice, skupaj zenv(safe-area-inset-bottom). Ko ima polje fokus, jo skrijte. - Glejte tudi
- Pasica za privolitev – le, ko teče kaj nenujnega
Stran z zahvalo, ki pove, kaj slediPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Ko je obrazec poslan, dokončana stran pokaže potrditev – stran ali jasno stanje –, ki pove, kaj je bilo prejeto, kaj in kdaj sledi ter na koga se lahko obrnete, v jeziku strani. Pokaže se šele, ko strežnik oddajo potrdi, in se ujema s tem, kar piše v potrdilu po e-pošti.
- Preverite sami
- Skozi vsak obrazec pošljite testni vnos in preberite, kaj se vrne: ali bi nekdo, ki je na strani prvič, vedel, da je uspelo, in kaj lahko pričakuje? Osvežite stran z zahvalo: obrazec se ne sme poslati še enkrat.
- Glejte tudi
- Obrazci, ki govorijo resnico, Potrdilo v obiskovalčevem jeziku
Pravi kontaktni podatki, ne le obrazecPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Ljudje zaupajo organizaciji, do katere lahko pridejo: njenemu imenu, e-naslovu, telefonski številki in poštnemu naslovu, na strani s kontakti in v nogi. Sam obrazec pusti dvom, ali ga kdo bere, in ne ponudi nobene poti, ko odpove prav obrazec.
- Preverite sami
- Z vsake strani v enem kliku poiščite ime organizacije, e-naslov, telefonsko številko in naslov. Enkrat pišite na e-naslov in pokličite številko: nekdo se mora oglasiti.
- Glejte tudi
- Podatki o ponudniku (impresum)
Zasebnost in privolitev
Kaj zakon zahteva od strani, ki zbira karkoli osebnega, in podrobnosti, od katerih je odvisno, ali politika zasebnosti in pasica za privolitev res zdržita.
Politika zasebnostiPomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Takoj ko stran zbira karkoli osebnega – prek obrazca, IP-naslovov v dnevnikih, analitike –, potrebuje obvestilo, ki pove, kdo je upravljavec in kako ga doseči, kaj se zbira in zakaj, na kateri pravni podlagi, katere storitve podatke obdelujejo, ali gredo iz EU, koliko časa se hranijo, kakšne pravice imajo posamezniki in kam se lahko pritožijo (v Sloveniji na Informacijskega pooblaščenca, v Srbiji na Poverenika). Javni organi navedejo še svojo pooblaščeno osebo za varstvo podatkov. Opisuje, kaj stran v resnici počne, in ni prepisana predloga.
- Preverite sami
- Poiščite povezavo do politike zasebnosti v nogi vsake strani in ob vsakem obrazcu, v vseh jezikih. Preberite jo, medtem ko imate na drugi strani odprta orodja za razvijalce → »Network«: vsaka zunanja storitev, ki jo vidite tam, mora biti v politiki navedena, in nič v politiki ne sme biti neresnično.
- Viri
Analitika in druga orodja: kaj potrebuje privolitevPomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
- Piškotki za sejo, prijavo, košarico in varnost – tudi Cloudflarov piškotek za zaznavanje botov – in jezik, ki ga je izbral obiskovalec, privolitve ne potrebujejo, v politiki zasebnosti pa morajo biti. Google Analytics, Metini in TikTokovi piksli, Hotjar, reCAPTCHA ter vdelani YouTube, Vimeo ali Google Zemljevidi najprej potrebujejo »da«; pri vdelavah zadošča nadomestek, ki vsebino naloži šele na klik. Analitiko brez piškotkov, kot sta Vercel in Cloudflare Web Analytics, mnogi obravnavajo kot izvzeto, v Sloveniji pa je siva cona; analitika iz strežniških dnevnikov, ki se naprave sploh ne dotakne, je najvarnejša izbira.
- Preverite sami
- V zasebnem oknu si ob prvem obisku v orodjih za razvijalce → »Network« zapišite vse zunanje strežnike in vsakega primerjajte s tem seznamom in s svojo politiko zasebnosti. Zemljevidne ploščice z OpenStreetMap, CARTO ali CDN-ja pasice ne potrebujejo, v politiki pa morajo biti navedene, ker do njih pride obiskovalčev IP-naslov.
- Za razvijalca
- Analitika, naložena po privolitvi, mora nehati pošiljati, ko obiskovalec privolitev prekliče (na primer z
beforeSend, ki vrnenull). Pravilo velja tudi za localStorage, piksle in prstne odtise naprave, ne le za piškotke (smernice EDPB 2/2023). - Viri
Skripte, dodane na poti do obiskovalcaPomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potrebni so vaši dostopi
- Zakaj
- Storitev pred vašo stranjo, na primer Cloudflare, lahko vsaki strani doda svoj merilnik obiskov (Cloudflare Web Analytics z »automatic setup«) ali prepiše e-naslove v HTML-ju. Pasica za piškotke ne more ustaviti skripte, ki je sploh ne vidi; izklopiti jo je treba v nadzorni plošči ponudnika.
- Preverite sami
- Primerjajte HTML, ki ga brskalnik dejansko prejme (izvorna koda strani), s tem, kar po besedah razvijalca stran vsebuje. Skripta, ki je ni dodal nihče od vaju, je prišla od storitve pred stranjo.
Pisave in skripte z lastnega strežnikaPomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
- Če se Google Fonts nalagajo z Googlovih strežnikov, gre IP-naslov vsakega obiskovalca h Googlu. Januarja 2022 je sodišče v Münchnu (LG München, 3 O 17493/20) obiskovalcu prav zaradi tega prisodilo 100 evrov, sledila so množična odškodninska pisma. Pasica tu ni prava rešitev: pisave gostite sami.
- Preverite sami
- V orodjih za razvijalce → »Network« osvežite stran in v filter vpišite
fonts.g: nič zfonts.googleapis.comalifonts.gstatic.comse ne sme pojaviti. Širše: vsak zahtevek mora iti na vašo domeno ali na storitev, v katero je obiskovalec privolil. - Za razvijalca
next/fontv Next.js pisavo prenese ob gradnji in jo streže z vaše domene, kar je v redu. Knjižnice vključite v paket, namesto da bi dodajali skripte s CDN-ja.- Vir
Nobenega snemanja tega, kar obiskovalci tipkajoPomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Orodja za snemanje sej in toplotne zemljevide (Hotjar, Microsoft Clarity, FullStory, LogRocket, snemanja PostHog, Sentry Replay) in nekateri pogovorni gradniki zajemajo, kar ljudje tipkajo, pogosto v obrazce. V EU je to obdelava brez pravne podlage, pogosto občutljivih podatkov; v Kaliforniji so sodišča takšne tožbe dopustila kot prestrezanje komunikacij.
- Preverite sami
- V orodjih za razvijalce → »Network« na vseh vrstah strani poiščite zahtevke k tem ponudnikom. Prosite razvijalca, naj preveri privzete nastavitve vsakega analitičnega orodja na strani – nekatera seje snemajo, če jim tega izrecno ne onemogočite.
- Za razvijalca
- Če je tako orodje res nujno: najprej privolitev, vsa polja zakrita, nikoli na obrazcih, plačilih ali uporabniških računih, in navedeno v politiki zasebnosti.
OtrociPomembnost: Obvezno. Kdo lahko preveri: Potreben je človek, Od zunaj
- Zakaj
- V Sloveniji lahko otrok sam privoli v spletno storitev od 15. leta; za mlajše privolitev da ali odobri starš oziroma skrbnik (ZVOP-2, 8. člen), meja 15 let velja tudi v Srbiji. Pri šolskih igrah in tekmovanjih se je na privolitev mladoletnih bolje sploh ne opirati, kjer je na voljo druga podlaga, na primer naloga v javnem interesu, ali pa e-naslova sploh ne zbirati. V ZDA za stran, namenjeno otrokom, mlajšim od 13 let, velja COPPA: preden se karkoli zbere, je potrebna preverljiva privolitev staršev.
- Preverite sami
- Preberite besedilo privolitve na obrazcu: ali pove, kdo ga sme poslati (»Imam vsaj 15 let ali pa obrazec pošiljam kot starš oziroma skrbnik«)? Nato obrazec izpolnite, pošljite in ga v istem brskalniku odprite znova, kot da ste nekdo drug: od prve osebe ne sme biti izpolnjeno nič.
- Viri
Privolitev, ki jo lahko dokažetePomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Kadar je pravna podlaga privolitev, mora organizacija znati pokazati, kdo je privolil, kdaj, v katero besedilo (različica in jezik) in na katerem obrazcu. Vnaprej obkljukano polje ni privolitev (Sodišče EU, Planet49), prav tako ne polje, ki je ob vrnitvi obiskovalca spet obkljukano. Prijava na dogodek privolitve večinoma sploh ne potrebuje, ker je to korak, ki ga je oseba sama zahtevala; privolitev je za dodatke, kot so e-novice, fotografije ali posredovanje podatkov sponzorjem, vsak posebej in neobkljukan.
- Preverite sami
- Obrazec odprite v zasebnem oknu: nobeno polje za privolitev ne sme biti obkljukano. Ob vsakem mora natančno pisati, v kaj privolite, in biti povezava do politike zasebnosti. Vprašajte razvijalca, kje se privolitve shranjujejo in ali vsak zapis vsebuje različico besedila in časovni žig – nekje trajno, ne le v dnevnikih.
- Viri
Osebni podatki ne sodijo v naslov straniPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Naslov, v katerem je ime ali e-naslov, ostane v zgodovini brskalnika, v strežniških dnevnikih in v analitiki. Najpogosteje se to zgodi, ko obrazec podatke pošlje z metodo GET, na primer kadar JavaScript odpove.
- Preverite sami
- Skozi vsak obrazec pošljite testni vnos, z vklopljenim in z izklopljenim JavaScriptom, in nato poglejte naslovno vrstico: za znakom
?ne sme biti imena, e-naslova ali telefonske številke. - Glejte tudi
- Stran je berljiva tudi brez JavaScripta
Obiskovalci iz SrbijePomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek
- Zakaj
- Srbski zakon o varstvu podatkov (ZZPL) povzema zahteve Splošne uredbe o obveščanju (23. člen) in velja tudi za organizacije zunaj Srbije, ki ponujajo storitve ljudem v Srbiji (3. člen, 4. odstavek). Taka organizacija mora v Srbiji pisno imenovati tudi predstavnika (44. člen), razen če je obdelava občasna in nizkega tveganja. Pritožbe v Srbiji obravnava Poverenik.
- Preverite sami
- Če ima stran srbsko različico ali obiskovalce iz Srbije usmerja nanjo, se zavestno odločite, ali velja izjema za občasno obdelavo, odločitev zapišite in v srbski politiki zasebnosti navedite Poverenika.
- Vir
Evidenca in pogodbe z obdelovalciPomembnost: Obvezno. Kdo lahko preveri: Potreben je človek, Potrebni so vaši dostopi
- Zakaj
- Splošna uredba o varstvu podatkov zahteva evidenco dejavnosti obdelave (30. člen) in pogodbo z vsako storitvijo, ki za vas obdeluje osebne podatke (28. člen): gostovanje, e-pošta, baza podatkov, analitika, zemljevidi. Kadar stran vodi agencija, je naročnik običajno upravljavec, agencija pa obdelovalec, za kar sta potrebna lastna pogodba in seznam storitev, ki jih agencija uporablja.
- Preverite sami
- Zapišite vse storitve, ki se dotikajo podatkov obiskovalcev, in ob vsaki, kje je njena pogodba o obdelavi – večina ponudnikov jo ponuja v nadzorni plošči ali v pogojih. Če stran vzdržuje nekdo drug, preverite, ali imate pogodbo tudi z njim, in njegov seznam podobdelovalcev.
- Vir
E-pošta
E-pošta dokončane strani prispe, pove, kdo jo pošilja, odgovori nanjo pa pridejo do človeka.
SPF, DKIM in DMARC na domeni pošiljateljaPomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potrebni so vaši dostopi
- Zakaj
- Ti trije zapisi DNS ponudnikom e-pošte povedo, da sporočilo z vaše domene res prihaja od vas. Gmail in Yahoo od februarja 2024 vse tri zahtevata od pošiljateljev, ki pošljejo več kot 5.000 sporočil na dan, manjši pošiljatelji pa v praksi naletijo na iste filtre. Brez njih potrdila pristanejo med neželeno pošto ali sploh ne prispejo.
- Preverite sami
- Prek obrazca na strani si pošljite sporočilo na naslov Gmail, ga odprite in izberite ⋮ → »Pokaži izvirnik«: pri SPF, DKIM in DMARC mora pisati PASS. Tistega, ki upravlja vaš DNS, vprašajte za zapis DMARC: vsebovati mora
rua=, da poročila pridejo do nekoga. - Za razvijalca
- En zapis
v=spf1z največ 10 poizvedbami DNS, v katerem so vsi pošiljatelji (poštni strežnik in ponudnik transakcijske pošte);-allšele, ko ste prepričani, da je popoln. DKIM za vsakega pošiljatelja (Resend na primer uporabljaresend._domainkeyin poddomenosend.za povratno pot). DMARC začne prip=nones poročilirua=; preberite poročila in nato preidite naquarantineinreject. - Viri
Vsako sporočilo pove, kdo ga pošiljaPomembnost: Obvezno. Kdo lahko preveri: Potreben je človek, Od zunaj
- Zakaj
- Sporočilo dokončane strani vsebuje ime in poštni naslov organizacije, delujoč naslov za odgovor, razlog, zakaj ga prejemnik dobiva, in povezavo do politike zasebnosti. V ZDA zakon CAN-SPAM v vsakem komercialnem sporočilu zahteva še možnost odjave in veljaven poštni naslov.
- Preverite sami
- Svoje potrdilo preberite, kot bi ga prebral neznanec: od koga je, zakaj ga dobivam, kam lahko odgovorim in kje je politika zasebnosti?
Potrdilo v obiskovalčevem jezikuPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Kdor pošlje obrazec, dobi e-sporočilo v svojem jeziku, ki pove, kaj je bilo prejeto, kaj sledi in na koga se lahko obrne. Pride z vaše domene, ne z naslova Gmail, pošlje se enkrat, tudi če je gumb pritisnjen dvakrat, in ne vsebuje oglasov.
- Preverite sami
- Obrazec pošljite sami v vsakem jeziku strani. Preverite jezik, naslov pošiljatelja in to, da dvojni pritisk na gumb ne prinese dveh sporočil.
Omejitve pošiljanja in vrnjena sporočilaPomembnost: Priporočljivo. Kdo lahko preveri: Potrebni so vaši dostopi
- Zakaj
- Brezplačni paketi za e-pošto imajo dnevne omejitve (v brezplačnem paketu Resend na primer 100 sporočil na dan), val prijav po objavi na družbenih omrežjih pa jih lahko preseže. Vrnjena sporočila in pritožbe zaradi neželene pošte morajo priti do nekoga, ki lahko ukrepa.
- Preverite sami
- V nadzorni plošči ponudnika e-pošte poiščite dnevno omejitev paketa in jo primerjajte s svojim najbolj obremenjenim dnem – običajno je to dan, ko se odprejo prijave. Preverite, kam gredo obvestila o vrnjenih sporočilih in pritožbah.
Spletna prodaja
Kadar stran sprejema plačila – vstopnice, članarine, naročnine. Točke si sledijo kot kupec: pred gumbom, gumb, po nakupu in pozneje.
Pogoji podaljšanja ob gumbu za plačiloPomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
- Tik pred gumbom, v istem pogledu, kupec vidi ceno, kako pogosto se naročnina podaljša, da se podaljšuje samodejno do preklica, in kako jo prekliče. Direktiva o pravicah potrošnikov (8. člen, 2. odstavek; v Sloveniji ZVPot-1) ključne pogoje zahteva prav na tem mestu; po kalifornijskem zakonu o samodejnem podaljševanju (Automatic Renewal Law) brez njih vse, kar je bilo dobavljeno, velja za darilo, podaljšanja pa je mogoče zahtevati nazaj.
- Preverite sami
- Pojdite skozi svojo blagajno in se ustavite pred plačilom. Ali ob gumbu preberete ceno, kako pogosto vam bo zaračunano, da se naročnina samodejno podaljšuje do preklica, in kako jo prekličete?
- Za razvijalca
- Povzetek Stripe Checkout sam ne pove, da se naročnina samodejno podaljšuje do preklica;
custom_text.submit.messageje prikazan tik nad gumbom.
Potrdilo, ki ga kupec obdržiPomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
- Po nakupu kupec dobi e-sporočilo, ki ga lahko shrani, s pogoji podaljšanja in navodilom za preklic, stran z zahvalo pa jih ponovi. Takšno potrdilo zahteva kalifornijski zakon o samodejnem podaljševanju.
- Preverite sami
- Opravite testni nakup (v testnem načinu, če ga ponudnik plačil ima) in preberite e-sporočilo in stran z zahvalo: sta pogoji podaljšanja in način preklica na obeh?
Preklic na spletu, enako preprost kot naročiloPomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potrebni so vaši dostopi
- Zakaj
- Naročnino je mogoče preklicati na spletu v približno toliko korakih, kot jih je zahtevalo naročilo – na primer prek Stripovega portala za stranke –, letni naročniki pa pred podaljšanjem dobijo opomnik.
- Preverite sami
- Postavite se v kožo stranke, ki bi rada odšla: ali lahko le z e-sporočilom o nakupu naročnino prekličete, ne da bi komurkoli pisali? Preštejte korake in jih primerjajte s tistimi ob naročilu.
Pogoji, 14 dni za odstop in gumb za odstopPomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Splošni pogoji ter pravila o odstopu in vračilu denarja so objavljeni in povezani, še preden začnete sprejemati prava plačila. Potrošniki v EU imajo 14 dni za odstop od pogodbe, sklenjene na spletu, od 19. junija 2026 pa mora imeti vsaka spletna pogodba s potrošniki jasno označeno funkcijo za odstop – gumb »odstopi od pogodbe tukaj« (Direktiva (EU) 2023/2673, 11.a člen Direktive o pravicah potrošnikov).
- Preverite sami
- Ali s strani blagajne v enem kliku pridete do pogojev in pravil o odstopu? Ali je na spletu jasno označen način za odstop od pogodbe, ki ga kupec najde, ne da bi koga spraševal?
- Glejte tudi
- Splošni pogoji, kadar jih potrebujete
Cene z DDV in dostavoPomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
- Slovenski ZEPT (5. člen) zahteva cene, iz katerih je jasno, ali vključujejo DDV in stroške dostave, srbski zakon o elektronski trgovini pa prav tako jasne cene.
- Preverite sami
- Poglejte vsako ceno na strani: je jasno, ali vključuje DDV, in so stroški dostave ali rezervacije prikazani pred zadnjim korakom?
- Viri
S potrošniki v Sloveniji v slovenščiniPomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
- Podjetje, ki posluje s potrošniki v Sloveniji, mora z njimi poslovati v slovenščini; druge jezike lahko ponudi poleg nje (Zakon o javni rabi slovenščine, dopolnjen leta 2024).
- Preverite sami
- Pojdite skozi ves nakup v slovenščini: strani izdelkov, blagajno, pogoje, potrdilo po e-pošti in stran z zahvalo. Nič od tega ne sme preskočiti v angleščino.
- Vir
Iskalniki in deljenje
Kako stran najdejo iskalniki, aplikacije za klepet in ljudje, ki imajo v roki plakat.
Naslov in opis na vsaki straniPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Zadetki iskanja, pa tudi mnoge deljene povezave, pokažejo naslov in opis strani. Dokončana spletna stran da vsaki strani svoj naslov (približno 50–60 znakov) in opis, napisan za ljudi (približno 150 znakov), v jeziku te strani. Enaki naslovi naredijo vse zadetke enake, slovenski opis na angleški strani pa vidijo angleški iskalci.
- Preverite sami
- Poglejte zavihek brskalnika pri nekaj straneh: vsak naslov mora biti drugačen in povedati, kaj je na strani. V izvorni kodi (Ctrl+U) poiščite
<title>indescriptionna podstrani in pri vsaki jezikovni različici.
Ikona strani, ikona za začetni zaslon in manifestPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Brskalniki, telefoni in aplikacije za klepet ikone iščejo na stalnih mestih, in kjer jih ne najdejo, pokažejo prazen kvadrat. Dokončan komplet ima
favicon.icona/favicon.ico, ikono SVG,apple-touch-iconvelikosti 180 × 180 (dosegljivo tudi na/apple-touch-icon.png) in spletni manifest z ikonama velikosti 192 in 512 slikovnih pik, imenom, kratkim imenom in barvami. - Preverite sami
- Na svoji strani odprite
/favicon.icoin/apple-touch-icon.pngter manifest (v izvorni kodi strani poiščitemanifest): vsak se mora naložiti. Stran dodajte na začetni zaslon telefona in poglejte ikono.
Zemljevid strani z vsemi stranmi v vseh jezikihPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Zemljevid strani iskalnikom pove, katere strani obstajajo. Dokončan našteje vse strani, ki jih želite v iskalnikih, v vseh jezikih, na enem pravem naslovu spletne strani in z resničnimi datumi zadnje spremembe; na večjezični strani vsak vnos navede še svoje jezikovne različice. Google
lastmodupošteva le, če je dosledno točen,priorityinchangefreqpa v celoti prezre. - Preverite sami
- Odprite
/sitemap.xml. Izberite nekaj naslovov in jih odprite: vsak se mora naložiti neposredno, brez preusmeritve. Za strani iz menija, ki jih v zemljevidu ni, se splača vprašati, zakaj. Datumlastmodprimerjajte s tem, kdaj se je stran res nazadnje spremenila. - Viri
- Glejte tudi
- Resnični datumi in sveža dejstva
robots.txt, ki pove, kar mislitePomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebni so vaši dostopi
- Zakaj
robots.txtnavede zemljevid strani in ne blokira CSS-ja, JavaScripta ali strani, ki jih želite v iskalnikih; strani, ki jih v zadetkih ne želite, potrebujejo oznakonoindex, ker iskalnik strani, blokirane v robots.txt, nikoli ne obišče in njenega noindex nikoli ne vidi. Če je stran za Cloudflarom, se njegov upravljani robots.txt doda na poti in brez opozorila nadomesti datoteko iz vaše kode.- Preverite sami
- Na živi strani odprite
/robots.txtin ga preberite. Če ima razvijalec datoteko v kodi, ju primerjajte; če se razlikujeta, preverite Cloudflarovo nastavitev za upravljani robots.txt. Katere pajke umetne inteligence spusti naprej, je odločitev zase. - Viri
- Glejte tudi
- Pajki umetne inteligence: odgovarjanje in učenje sta ločeni odločitvi
En kanonični naslov za vsako stranPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Vsaka stran kot kanonični naslov navede svoj polni naslov, na gostitelju, ki jo dejansko streže. Kanonični naslov, ki na vseh straneh kaže na začetno stran, Googlu sporoča, da so vse kopije začetne strani, tisti, ki kaže na naslov s preusmeritvijo, pa pošilja mešan signal.
- Preverite sami
- Odprite nekaj strani, poglejte izvorno kodo in poiščite
canonical. Naslov mora biti naslov te strani, in ko ga odprete, se mora stran naložiti neposredno, brez preusmeritve. - Za razvijalca
- Poln naslov z
https://, eden na stran, v HTML-ju, ki ga pošlje strežnik. Google odsvetuje, da bi ga pozneje spreminjal JavaScript, mnogi drugi pajki pa skripte sploh ne izvedejo. - Viri
Jezikovne različice, ki kažejo druga na drugoPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Na večjezični spletni strani vsaka stran navede vse svoje jezikovne različice – tudi sebe – in še
x-default, vsaka različica pa navede druge nazaj. Srbščina v latinici jesr-Latn: golo oznakosrveliko programov razume kot cirilico. - Preverite sami
- V izvorni kodi strani poiščite
hreflang. Najti morate po eno vrstico za vsak jezik in eno zax-default, ki kažejo na jezikovne različice te strani, ne začetne. Odprite eno od njih: v njeni izvorni kodi mora biti isti nabor. - Za razvijalca
- Uporabite en kanal – HTML
<link>, glavo HTTPLinkali zemljevid strani – ali pa poskrbite, da vsi kanali pravijo isto, na istem gostitelju. - Vir
Vsak jezik ima svoj naslovPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Izbirnik jezika, ki spremeni le nekaj v brskalniku, je za iskalnike neviden, povezave v tem jeziku ni mogoče deliti in je ne morete vstaviti v e-novice v tem jeziku. Dokončana stran da vsakemu jeziku svoj naslov, na primer
/en/…in/sr/…. - Preverite sami
- Zamenjajte jezik, kopirajte naslov in ga odprite v zasebnem oknu: odpreti se mora v jeziku, ki ste ga izbrali.
Stran pove, v katerem jeziku jePomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
<html lang>bralnikom zaslona pove, kako izgovarjati besedilo, brskalnikom pa, ali naj ponudijo prevod; berejo ga tudi iskalniki. Pravilen je za vsako jezikovno različico in nastavljen na strežniku, ne naknadno z JavaScriptom, odlomek v drugem jeziku pa dobi svojlang.- Preverite sami
- Poglejte izvorno kodo strani (ne pregledovalnika, ki stran pokaže po izvedbi skript) in vrstico
<html: na slovenskih stranehlang="sl", na angleškihlang="en", na srbskih v latinicilang="sr-Latn". - Vir
Strukturirani podatki za dogodke in organizacijePomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- JSON-LD iskalnikom v obliki, ki je ni treba ugibati, pove, o čem je stran:
Organizationz logotipom,Eventz začetkom in časovnim pasom, krajem, vstopnicami in statusom,LocalBusinessz delovnim časom in naslovom,BreadcrumbList. Iz tega so zgrajeni bogatejši zadetki za dogodke in lokalna podjetja. Opisuje le tisto, kar pokaže stran sama: Googlova pravila prepovedujejo označevanje česarkoli, česar bralci ne vidijo, datum ali cena, ki se razlikuje od vidne, pa je napaka, ne podrobnost. Google tudi jasno pove, da njegove funkcije umetne inteligence ne potrebujejo posebnih oznak. - Preverite sami
- V izvorni kodi strani poiščite
application/ld+json. Pri dogodku preverite, ali so datum, ura in kraj pravilni in ali se status spremeni, če je dogodek prestavljen ali odpovedan. Naslov prilepite v Googlov Rich Results Test ali v Schema Markup Validator (validator.schema.org): prebrati ga mora brez napak, vsako dejstvo v njem pa mora biti tudi na strani. - Viri
- Glejte tudi
- Strani, ki se spreminjajo s časom, Kdo je to napisal in kdo stoji za stranjo, Resnični datumi in sveža dejstva
Kratki naslovi in stare povezave se preusmerijoPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Ljudje vtipkajo, kar so videli na plakatu ali v zgodbi –
/prijava,/registracija,/kontakt,/en/contact–, povezave na prejšnjo stran pa živijo naprej v zaznamkih in na drugih straneh. Vsak tak naslov nekam pripelje: s trajno preusmeritvijo (301 ali 308), kjer ste prepričani, in z začasno (302 ali 307) za vzdevke, katerih cilj se lahko spremeni. - Preverite sami
- Za domeno vtipkajte besede, ki ste jih uporabili na plakatih in v objavah, in preizkusite nekaj naslovov s stare strani (našteje jih Wayback Machine na web.archive.org). Nobeden se ne sme končati s 404.
En naslov za vso spletno stranPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
http://inhttps://, zwwwin brez, s poševnico na koncu in brez: vsaka različica pride do enega pravega naslova z eno samo trajno preusmeritvijo. Kanonični naslovi, zemljevid strani in jezikovne povezave uporabljajo prav ta naslov, začasna preusmeritev pa iskalnikom sporoča, da se lahko še spremeni.- Preverite sami
- Domeno vtipkajte na štiri načine –
http://primer.si,http://www.primer.si,https://primer.si,https://www.primer.si– in preverite, ali se vsi štirje končajo na istem naslovu. Orodja za razvijalce → »Network« z obkljukanim »Preserve log« pokažejo, koliko skokov je bilo in ali so bili 301 ali 308.
Search Console in noben pozabljen noindexPomembnost: Dobrodošlo. Kdo lahko preveri: Potrebni so vaši dostopi, Od zunaj
- Zakaj
- Google Search Console in Bing Webmaster Tools pokažeta, katere strani so v indeksu in katere vaše kanonične izbire je iskalnik zavrnil; poročilo o uspešnosti v generativni umetni inteligenci v Search Console pokaže še, kako so strani uspešne v Googlovih funkcijah umetne inteligence. Predogledne različice morajo imeti
noindex(Vercel ga doda sam), živa stran pa ne. - Preverite sami
- Stran potrdite v Search Console in preberite poročilo o indeksiranju strani. Na živi strani v izvorni kodi poiščite
noindex, v orodjih za razvijalce → »Network« pa med glavami odgovoraX-Robots-Tag: na straneh, ki jih želite v iskalnikih, ne sme biti ne enega ne drugega. - Vir
Najdeni in navedeni v odgovorih umetne inteligence
ChatGPT, Claude, Perplexity, Gemini in Googlovi povzetki z umetno inteligenco (AI Overviews) odgovarjajo na vprašanja tako, da berejo strani in nekatere navedejo kot vir. Skrivnega recepta za to ni: Google pravi, da njegove funkcije umetne inteligence ne potrebujejo ničesar več kot običajno dobro prakso za iskalnike, drugi pa berejo iste javne strani. Pomagajo besedilo, ki ga stroj lahko prebere, dejstva, ki so resnična in datirana, jasno ime za njimi – in premišljena odločitev, katerim pajkom umetne inteligence sploh dovolite brati stran.
Glejte tudi: Naslov in opis na vsaki strani, En kanonični naslov za vsako stran, Zemljevid strani z vsemi stranmi v vseh jezikih, Strukturirani podatki za dogodke in organizacije, robots.txt, ki pove, kar mislite, Search Console in noben pozabljen noindex
Odgovori v HTML-ju, pod jasnimi nasloviPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Večina pajkov umetne inteligence prebere le HTML, ki ga pošlje strežnik. Ko je Vercel decembra 2024 opazoval pajke podjetij OpenAI, Anthropic, Meta, ByteDance in Perplexity, ni nobeden izvajal JavaScripta, zato besedila, ki se pokaže šele po izvedbi skripte ali je na sliki ali v PDF-ju, sploh niso videli; Googlov pajek skripte izvaja, a Google kljub temu priporoča izrisovanje na strežniku. Kar stran naredi lahko za pravilno navajanje, pomaga tudi bralcu, ki se mu mudi: en glavni naslov, podnaslovi, ki poimenujejo temo ali vprašanje, neposreden odgovor v prvem stavku ali dveh pod njimi in dejstva – datumi, cene, kraji, delovni čas –, zapisana kot besedilo, ne pokazana na sliki.
- Preverite sami
- Odprite izvorno kodo strani (Ctrl+U oziroma ⌘⌥U na Macu) in v njej poiščite (Ctrl+F) stavke, ki najbolj štejejo: datum naslednjega dogodka, ceno, delovni čas, kaj organizacija počne. Če jih v izvorni kodi ni, jih pajek, ki ne izvaja skript, nikoli ne vidi. Nato stran preberite kot neznanec z enim samim vprašanjem – »kdaj je?«, »koliko stane?« – in preverite, ali nanj odgovori en stavek.
- Za razvijalca
- Vsebino izrišite na strežniku (v Next.js so strežniške komponente in statično ali strežniško izrisovanje privzeti;
"use client"le za interaktivne dele). En<h1>, naslovi po vrsti,<main>okrog vsebine; zavihki in harmonike kot<details>ali z vsem besedilom v HTML-ju; besedilo, ne slike besedila; ključni dokumenti kot strani HTML, ne le kot PDF. - Viri
- Glejte tudi
- Stran je berljiva tudi brez JavaScripta, Naslov in opis na vsaki strani
Pajki umetne inteligence: odgovarjanje in učenje sta ločeni odločitviPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebni so vaši dostopi
- Zakaj
- Podjetja z umetno inteligenco za različna opravila pošiljajo različne pajke, in
robots.txtlahko vsakega obravnava posebej. Nekateri zbirajo strani za učenje modelov: OpenAI-jevGPTBot, AnthropicovClaudeBotinCCBotorganizacije Common Crawl, katere javni arhiv se pogosto uporablja za učenje. Google in Apple uporabljata imeniGoogle-ExtendedinApplebot-Extended, ki sami ne obiščeta ničesar: odločata, ali smejo strani, ki jih poberejo njuni iskalni pajki, učiti Gemini in utemeljevati njegove odgovore oziroma učiti Applove modele, nobeno pa ne spremeni, kako se stran pokaže v njunem iskanju. Drugi strani poberejo, da bi z njimi odgovarjali in jih navedli:OAI-SearchBotza iskanje v ChatGPT-ju,Claude-SearchBotinPerplexityBot. Tretja vrsta –ChatGPT-User,Claude-User,Perplexity-User– stran odpre, ko o njej vpraša človek: Anthropic pravi, da jeClaude-Usermogoče blokirati v robots.txt, OpenAI, da zaChatGPT-Userpravila iz robots.txt morda ne veljajo, Perplexity pa, da jihPerplexity-Userpraviloma ne upošteva. Kdor blokira vse, kar ima v imenu »AI«, se torej skrije tudi pred odgovori umetne inteligence, kdor ne blokira ničesar, pa dovoli učenje na svoji vsebini. V EU lahko vsebino strojno berljivo pridržite pred rudarjenjem besedil in podatkov (Direktiva (EU) 2019/790, 4. člen, 3. odstavek); običajen način je pravilo v robots.txt, Cloudflarova vrsticaContent-Signalpa isto pove z besedami. - Preverite sami
- Odprite
/robots.txtin poiščite zgornja imena. Za vsako vrsto mora biti odločitev sprejeta – dovoljeno, da vas najdejo in navedejo, ali blokirano, da ostanete zunaj učenja –, ne pa ostati to, kar je zapisala predloga ali vtičnik. Če je stran za Cloudflarom, tistega, ki ga upravlja, vprašajte, kako so nastavljeni pajki umetne inteligence (AI Crawl Control, »Block AI bots«, upravljani robots.txt): pajke lahko blokirajo ali robots.txt prepišejo, ne da bi to pisalo v kodi. Cloudflare od julija 2025 vsako novo domeno ob prijavi vpraša, ali naj pajke umetne inteligence spusti. - Za razvijalca
- Pajek upošteva le skupino, ki ga imenuje, in se k
User-agent: *zateče le, kadar ga ne imenuje nobena (RFC 9309), zato mora poimenovana skupina ponoviti tudi pravila za zasebne poti. Eden od načinov, da dovolite odgovarjanje in zavrnete učenje: skupina zGPTBot,ClaudeBot,CCBot,Google-ExtendedinApplebot-ExtendedterDisallow: /, natoUser-agent: *z običajnimi pravili strani in vrsticoSitemap:. OpenAI pravi, da njegovo iskanje spremembo upošteva v približno enem dnevu. - Viri
- OpenAI: pajki in uporabniški agenti
- Anthropic: njegovi pajki in kako jih lastniki strani blokirajo
- Perplexity: pajki
- Google: običajni pajki, med njimi Google-Extended
- Apple: o Applebotu in Applebot-Extended
- Common Crawl: CCBot
- RFC 9309: protokol za izključitev robotov (robots.txt)
- Direktiva (EU) 2019/790 o avtorski in sorodnih pravicah na enotnem digitalnem trgu – EUR-Lex
- Cloudflare: pajki umetne inteligence in nove domene, julij 2025
- Cloudflare: vsebinski signali (Content Signals)
- Glejte tudi
- robots.txt, ki pove, kar mislite
llms.txt: neobvezen in ne nadomesti straniPomembnost: Dobrodošlo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
/llms.txtje datoteka v Markdownu, ki orodjem umetne inteligence povzame spletno stran in poveže njene najbolj uporabne strani; septembra 2024 jo je predlagal Jeremy Howard. Gre za dogovor, ki se šele uveljavlja, ne za standard, in podpora je neenakomerna: Google pravi, da njegovo iskanje, skupaj s funkcijami umetne inteligence, take datoteke ne potrebuje, Chromov Lighthouse pa jo od leta 2026 preverja in manjkajočo datoteko označi kot »ni uporabno«, ne kot napako. Namenjena je orodjem umetne inteligence, ki stran preberejo v trenutku, ko nekdo o njej vpraša, in je zaenkrat najpogostejša v dokumentaciji za razvijalce. Če jo imate, mora biti resnična in sveža – zastarel povzetek je slabši kot nobeden – in ničesar ne spremeni pri tem, kaj smejo pajki brati: to je nalogarobots.txt.- Preverite sami
- Na svoji strani odprite
/llms.txt. Če obstaja, ga preberite: naslov z imenom strani, povzetek v enem odstavku in seznami povezav, ki delujejo in kažejo na trenutne strani. Če ga ni, ni nič pokvarjeno. - Za razvijalca
- Ustvarite ga iz istega vira kot zemljevid strani, da se od strani ne more oddaljiti. Navaden Markdown, postrežen kot
text/plainalitext/markdown; predlog priporoča še kopije strani v Markdownu na istem naslovu z dodanim.md. - Viri
- Glejte tudi
- Zemljevid strani z vsemi stranmi v vseh jezikih, Odgovori v HTML-ju, pod jasnimi naslovi
Resnični datumi in sveža dejstvaPomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek, Od zunaj
- Zakaj
- Pomočnik, ki navede lansko ceno ali pretekli dogodek kot prihodnjega, vašo stran navaja napačno – pod vašim imenom. Strani z dejstvi, ki se spreminjajo – cene, delovni čas, programi, ekipa, kontakti –, pokažejo, kdaj so bile nazadnje posodobljene, in ta datum je resničen: Google želi viden datum »Objavljeno« ali »Nazadnje posodobljeno«, ki se ujema z
datePublishedindateModifiedv strukturiranih podatkih,lastmodiz zemljevida strani pa upošteva le, če je dosledno točen. Datum, prestavljen naprej brez spremembe vsebine, ne prinese ničesar. - Preverite sami
- Zapišite pet dejstev, po katerih ljudje najpogosteje sprašujejo – ceno, datum, kraj, delovni čas, kontakt – in vsako danes preverite na živi strani. Pri člankih in vodnikih poiščite datum in ga primerjajte z
dateModifiedv izvorni kodi strani in zlastmodv/sitemap.xml. - Za razvijalca
lastmodindateModifiedvzemite iz dejanskega časa spremembe vsebine (vnosa v CMS-ju ali zapisa v Gitu), nikoli iz časa gradnje.- Viri
- Glejte tudi
- Strani, ki se spreminjajo s časom, Zemljevid strani z vsemi stranmi v vseh jezikih, Strukturirani podatki za dogodke in organizacije
Dostopnost
Cilj je WCAG 2.2, raven AA. Samodejni pregledovalniki najdejo približno tretjino težav; za preostale sta potrebna tipkovnica in bralnik zaslona, zato je večina teh preverjanj ročnih.
Glejte tudi: Namigi na gumbih, ki so samo ikona, Deluje na telefonu, že od 320 slikovnih pik, Stran pove, v katerem jeziku je
Besedilo, ki se ga da prebratiPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Besedilo mora imeti proti ozadju kontrast vsaj 4,5 : 1, veliko besedilo ter robovi gumbov in polj pa vsaj 3 : 1. Najpogostejša napaka je svetlo sivo na belem, sledi besedilo na fotografijah.
- Preverite sami
- Uporabite preverjevalnik kontrasta; orodja za razvijalce v Chromu pokažejo razmerje, ko pregledate besedilo in kliknete njegovo barvo. Začnite pri najsvetlejšem besedilu na strani: namigih v poljih, podnapisih, nogi, besedilu na slikah.
- Vir
Vse deluje s tipkovnico in vedno vidite, kje stePomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Nekateri ljudje miške ne morejo uporabljati. Do vsake povezave, gumba in polja se pride s tipko Tab in se jih uporabi z Enter ali preslednico, okvir fokusa je jasno viden in ga ne skrije lepljiva glava (WCAG 2.2, 2.4.11), povezava »Preskoči na vsebino« pa omogoča skok čez meni (2.4.1).
- Preverite sami
- Miško odložite in se s tipko Tab sprehodite po strani od vrha navzdol. Vedno morate videti, kje ste, priti do vsakega menija, odpreti in zapreti vsako okno in poslati vsak obrazec. Prvi Tab mora pokazati povezavo »Preskoči na vsebino«.
- Viri
Nadomestno besedilo na vsaki sliki in jasna zgradbaPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Slike, ki nosijo informacijo, imajo nadomestno besedilo, ki pove, kaj kažejo, okrasne pa prazen
alt="", da jih bralnik zaslona preskoči. Uporabniki bralnikov zaslona se po strani premikajo tudi po naslovih in področjih, zato si naslovi sledijo po vrsti, stran pa imaheader,nav,maininfooter. - Preverite sami
- V izvorni kodi strani mora imeti vsak
<imgatributalt. Na telefonu vklopite bralnik zaslona (VoiceOver na iPhonu, TalkBack na Androidu) in poslušajte stran: slike morajo biti opisane ali preskočene, nikoli prebrane kot imena datotek, naslovi pa se morajo slišati kot kazalo. - Vir
Obrazci, ki jih lahko izpolni vsakPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Vsako polje ima vidno oznako, napake bralniki zaslona tudi preberejo, ne le pokažejo, ljudi ne sprašujete dvakrat za isti podatek (WCAG 2.2, 3.3.7), prijava pa nikoli ni odvisna od uganke CAPTCHA ali od prepovedi lepljenja v polje za geslo (3.3.8). Pomoč – povezava do kontakta, telefonska številka – je na vsaki strani na istem mestu (3.2.6).
- Preverite sami
- Kliknite oznako vsakega polja: kazalec mora skočiti v polje. Prilepite geslo iz upravitelja gesel. Z vklopljenim bralnikom zaslona pošljite obrazec z napako in poslušajte: napaka mora biti prebrana.
- Vir
- Glejte tudi
- Obrazci, ki govorijo resnico
Dovolj veliki cilji za prstPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Gumbi in povezave merijo vsaj 24 × 24 slikovnih pik ali pa so dovolj razmaknjeni, da prst ne zadene soseda (WCAG 2.2, 2.5.8), vse, kar se počne z vlečenjem – drsnik, zemljevid, razvrščanje –, pa deluje tudi z enim dotikom ali klikom (2.5.7). Na telefonih je za najpogosteje uporabljene gumbe varnejši cilj 44 × 44, strožja raven WCAG (2.5.5).
- Preverite sami
- Na telefonu preizkusite vsak majhen gumb: za zapiranje, puščice v galerijah, povezave v nogi, izbirnik jezika. Če zadenete napačnega, je premajhen ali preblizu.
- Vir
Manj gibanja za tiste, ki to želijoPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Velike animacije, paralaksa in premikajoča se ozadja lahko nekaterim ljudem povzročijo vrtoglavico ali slabost. Telefoni in računalniki imajo nastavitev za zmanjšanje gibanja, dokončana stran pa jo upošteva.
- Preverite sami
- Vklopite zmanjšano gibanje (iPhone: Nastavitve → Dostopnost → Gibanje; Mac: Sistemske nastavitve → Dostopnost → Zaslon; Windows: Nastavitve → Dostopnost → Vizualni učinki, izklopljeni učinki animacije) in osvežite stran: velike animacije se morajo ustaviti ali postati preprosti prehodi.
- Vir
Ali za vas velja evropski akt o dostopnosti?Pomembnost: Obvezno. Kdo lahko preveri: Potreben je človek
- Zakaj
- Od 28. junija 2025 evropski akt o dostopnosti velja za storitve za potrošnike, med drugim za vsako spletno prodajo blaga ali storitev (tudi vstopnic), bančne storitve za potrošnike, e-knjige in potniški promet. Izvzeta so mikropodjetja, ki opravljajo storitve – manj kot 10 zaposlenih in največ 2 milijona evrov letnega prometa ali bilančne vsote –, in storitve med podjetji; v Sloveniji akt prenaša ZDPSI. Stran društva ali dogodka, ki nič ne prodaja, ni storitev po tem aktu; trgovina z dvanajstimi zaposlenimi je.
- Preverite sami
- Odgovorite na dve vprašanji: ali potrošnikom na spletu kaj prodajamo in ali smo mikropodjetje? Če prodajate potrošnikom in niste mikropodjetje, je dostopnost za vašo trgovino zakonska zahteva, ne le dobra praksa. Šteje tudi prodaja iz Srbije potrošnikom v EU.
- Viri
Javni organi: izjava o dostopnostiPomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- V Sloveniji za državne organe, občine in osebe javnega prava – tudi javne zavode – velja ZDSMA. Njihove spletne strani morajo ustrezati standardu EN 301 549 (WCAG 2.1 AA), objaviti izjavo o dostopnosti in ponuditi način za prijavo težav.
- Preverite sami
- Če je vaša organizacija javni organ ali javni zavod, poiščite povezavo do izjave o dostopnosti, običajno v nogi, in preverite, ali pove, kako prijaviti težavo, in ali se kdo odzove.
- Viri
Vsak zaslon: telefon, tablica, prenosnik, zložljivi telefon
Obiskovalci pridejo z zasloni, širokimi od približno 320 do več kot 2.500 slikovnih pik, jih držijo pokončno ali ležeče, nekateri telefoni pa se med branjem prepognejo na pol. Dokončana postavitev niso tri fiksne zasnove za tri naprave, ampak ena, ki se prilagodi prostoru, ki ga ima – in je preizkušena tudi pri širinah vmes.
Glejte tudi: Dovolj veliki cilji za prst, Lepljiv gumb za glavno dejanje na telefonih, Jasen poziv k dejanju brez drsenja
Deluje na telefonu, že od 320 slikovnih pikPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Večina telefonov strani prikaže v širini od 360 do 440 slikovnih pik, nekateri pa ožje: zunanji zaslon Samsungovega Galaxy Z Fold 5 je širok 344. Dokončana postavitev se prilega vsem, nič ne štrli ven in nikamor ni treba drseti vstran, vse do 320 slikovnih pik – toliko pokaže tudi okno, široko 1.280 slikovnih pik, pri 400-odstotni povečavi, kar je širina, pri kateri WCAG 2.2 zahteva, da se vsebina prelije v en stolpec (1.4.10). Stran telefonom naroči, naj uporabijo svojo pravo širino (oznaka viewport), in ljudem nikoli ne prepreči povečave. Gumbi ostanejo dovolj veliki za prst.
- Preverite sami
- Na telefonu odprite vsako vrsto strani – začetno, seznam, članek, obrazec – in se pomaknite od vrha do dna: če se stran premakne vstran, je nekaj preširoko. Na računalniku enako pokaže orodna vrstica naprav v orodjih za razvijalce (Ctrl+Shift+M) pri 320 px; nato navadno okno povečajte na 400 % (Ctrl ali ⌘ in +) in preberite stran. Na telefonu stran povečajte z razmikom dveh prstov: to mora delovati na vsaki strani.
- Za razvijalca
<meta name="viewport" content="width=device-width, initial-scale=1">, brezuser-scalable=noalimaximum-scale=1. Običajni krivci za drsenje vstran: fiksne širine, dolge besede in naslovi URL brezoverflow-wrap, tabele in bloki kode brez lastnega drsnega okvirja ter100vwob drsnem traku.- Viri
- Glejte tudi
- Dovolj veliki cilji za prst, Zložljivi telefoni: zaprti, odprti in napol odprti, Preizkušeno pri pravih širinah, na pravih napravah
Tablice in širine vmesPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Med telefonom in prenosnikom – približno od 600 do 1.100 slikovnih pik – se postavitve najpogosteje zlomijo: telefonska postavitev, raztegnjena v vrstice po 150 znakov, ali računalniška, stisnjena tako, da se meni prelomi pod logotip. iPad običajno zahteva računalniško različico strani (Safari v iPadOS se predstavi kot Mac), zato stran, ki postavitev izbira po vrsti naprave namesto po prostoru, ki je na voljo, iPadu pošlje menije, ki se odprejo le, ko se nad njimi ustavi miška, česar prst ne zmore. Dokončana postavitev se spremeni tam, kjer to potrebuje vsebina, ne pri širinah treh izbranih naprav, in vse, kar deluje z miško, deluje tudi z dotikom.
- Preverite sami
- Na računalniku odprite orodno vrstico naprav v orodjih za razvijalce, izberite »Responsive« in na začetni ter na dolgi strani širino počasi vlecite od 600 do 1.300 slikovnih pik: bodite pozorni na meni, ki se prelomi, dele, ki se prekrivajo, odrezano besedilo in zelo dolge vrstice. Na pravi tablici s prstom preizkusite meni in vsak spustni seznam, pokončno in ležeče.
- Za razvijalca
- Postavitev izbirajte po širini (
@media (min-width: …)), nikoli po uporabniškem agentu. Poizvedbe vsebnika (@container, v vseh glavnih brskalnikih od februarja 2023) kartici dovolijo, da se prilagodi stolpcu, v katerem stoji, namesto celotnemu zaslonu. Učinke ob premiku miške postavite v@media (hover: hover)in menija ali podatkov nikoli ne skrijte samo za premik miške. - Viri
- Glejte tudi
- Namigi na gumbih, ki so samo ikona, Prenosniki in veliki monitorji, Dovolj veliki cilji za prst
Prenosniki in veliki monitorjiPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Prenosnik je pogosto nižji, kot si mislimo: zaslon 1920 × 1080 pri običajnem 125- ali 150-odstotnem merilu v Windows da brskalniku 1.536 oziroma 1.280 slikovnih pik širine, po opravilni vrstici in vrsticah brskalnika pa pogosto manj kot 700 višine – zato celozaslonska slika na vrhu potisne vse drugo iz pogleda, visoka lepljiva glava pa zasede petino zaslona. Na velikem monitorju se zgodi obratno: besedilo, ki teče čez vso širino, se bere utrujajoče. Dokončana postavitev vrstice besedila omeji na približno 80 znakov (nasvet WCAG na najvišji ravni, 1.4.8), slikam in ozadjem pusti rasti, stolpcu besedila pa ne, in streže slike, dovolj ostre za zaslone z veliko gostoto pik.
- Preverite sami
- Okno brskalnika nastavite na 1.280 × 720 (orodna vrstica naprav v orodjih za razvijalce ga nastavi natančno) in poglejte začetno in svojo glavno stran: ali je glavno dejanje vidno brez pomikanja? Nato stran čez cel zaslon odprite na največjem monitorju, ki ga najdete: ali se vrstice še vedno udobno berejo in so slike ostre?
- Za razvijalca
max-widthna stolpcih besedila (približno70ch), postavitve, ki dodatno širino porabijo za stolpce ali robove, ne za daljše vrstice,srcsets slikami 2× in višine vsvhnamesto fiksnih pik za vse, kar mora biti na prvem zaslonu.- Vir
- Glejte tudi
- Jasen poziv k dejanju brez drsenja, Slike, video in ikone v lahkih formatih, Tablice in širine vmes
Pokončno in ležečePomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Nekateri ljudje telefon ali tablico držijo ležeče in je ne morejo zlahka obrniti – pritrjena je na invalidski voziček ali na stojalo –, zato WCAG 2.2 zahteva, da stran deluje v obeh usmeritvah, razen kjer je ena nujna (1.3.4). Ležeče ima telefon komaj 300 do 400 slikovnih pik višine, in fiksna glava, pasica za piškotke in lepljiv gumb lahko vsebini ali polju obrazca, ko je tipkovnica odprta, ne pustijo skoraj ničesar. Ko obiskovalec napravo obrne, ostane na istem mestu in z vsem, kar je že vtipkal.
- Preverite sami
- Telefon obrnite ležeče na začetni strani, na dolgem članku in na obrazcu. Ali pasico za piškotke še lahko preberete in zaprete? Tapnite v polje obrazca, da se odpre tipkovnica: ali vidite, kaj tipkate? Nekaj vtipkajte in telefon obrnite sem in tja: besedilo mora ostati.
- Za razvijalca
- Brez zaklepanja usmeritve in brez zaslonov »obrnite napravo«. Lepljive elemente v nizkih oknih zmanjšajte ali sprostite (
@media (max-height: 500px)) in namesto100vhuporabitedvhalisvh. - Vir
- Glejte tudi
- Lepljiv gumb za glavno dejanje na telefonih, Pasica za privolitev – le, ko teče kaj nenujnega, Izrezi, zaobljeni robovi in vrstice brskalnika
Zložljivi telefoni: zaprti, odprti in napol odprtiPomembnost: Dobrodošlo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Zložljivi telefon spremeni velikost, medtem ko je stran odprta. Zaprt ima zunanji zaslon ozkega telefona (pri Galaxy Z Fold 5 širok 344 slikovnih pik), odprt pa skoraj kvadraten notranji zaslon, blizu majhni tablici (približno 690 × 830). Ko ga odprete ali zaprete, se stran poveča ali zmanjša, ne da bi se znova naložila, zato dokončana stran obdrži obiskovalčevo mesto, odprt meni ali okno in vse, kar je vtipkal v obrazec. Napol odprte – v roki kot knjiga ali postavljene kot majhen prenosnik – nekatere naprave brskalniku sporočijo, da ima zaslon dva dela s pregibom vmes. Medijski lastnosti CSS
horizontal-viewport-segmentsinvertical-viewport-segmentsterwindow.viewport.segmentsv JavaScriptu (Viewport Segments API) postavitvi omogočijo, da seznam postavi na eno stran pregiba in podrobnosti na drugo, namesto čezenj. Delujejo v Chromu in Edgeu od različice 138 in v Samsung Internetu 30, v Safariju in Firefoxu pa ne, zato so dodatek, nikoli pogoj: povsem odprt je zložljivi telefon preprosto en zaslon. - Preverite sami
- Na zložljivem telefonu odprite obrazec, vtipkajte nekaj besed, nato telefon odprite in zaprite: besede, mesto na strani in odprt meni morajo ostati. Brez njega: orodna vrstica naprav v orodjih za razvijalce ima prednastavitve za zložljive naprave (Galaxy Z Fold 5, Asus Zenbook Fold, Surface Duo) z gumbom, ki preklaplja med zaprto in odprto napravo oziroma med enim in dvema zaslonoma.
- Za razvijalca
- Odzivajte se na
resize(aliResizeObserver), nikoli samo naorientationchange, in ob spremembi velikosti ne ponastavljajte stanja in ne nalagajte podatkov znova. Za dve podokni:@media (horizontal-viewport-segments: 2)s širinama izenv(viewport-segment-width 0 0)inenv(viewport-segment-width 1 0), enako zvertical-, kadar pregib teče počez; kjer podpore ni, ostane običajna postavitev. - Viri
- Glejte tudi
- Deluje na telefonu, že od 320 slikovnih pik, Tablice in širine vmes, Pokončno in ležeče
Izrezi, zaobljeni robovi in vrstice brskalnikaPomembnost: Dobrodošlo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Telefoni imajo izreze za kamero, zaobljene robove in vrstico za domači zaslon na dnu, orodne vrstice brskalnika pa med pomikanjem prihajajo in odhajajo. Stran, ki želi zapolniti ves zaslon (
viewport-fit=cover), mora besedilo in gumbe sama umakniti iz teh območij; sicer ležeče besedilo zdrsne pod izrez, gumb, pritrjen na dno, pa pod vrstico za domači zaslon. Razdelki na celo višino, merjeni v100vh, so višji od zaslona, dokler so orodne vrstice vidne, zato je njihov spodnji del – pogosto prav gumb – odrezan. - Preverite sami
- Na iPhonu z izrezom ali z Dynamic Islandom telefon obrnite ležeče in preberite robove strani: pod izrezom ne sme biti besedila. Poglejte vse, kar je pritrjeno na dno – pasico za piškotke, lepljiv gumb, oblaček klepeta –, ko je orodna vrstica brskalnika vidna in ko je skrita: nič ne sme biti pod vrstico za domači zaslon ali odrezano.
- Za razvijalca
- Pri
viewport-fit=coverfiksnim elementom in elementom od roba do roba dodajte odmikenv(safe-area-inset-*), na primerpadding-bottom: calc(1rem + env(safe-area-inset-bottom)). Za vse, kar mora biti na prvem zaslonu, uporabitesvh, za plošče na celo višinodvh, ne100vh. - Viri
- Glejte tudi
- Lepljiv gumb za glavno dejanje na telefonih, Pokončno in ležeče
Preizkušeno pri pravih širinah, na pravih napravahPomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek, Od zunaj
- Zakaj
- Postavitev, zasnovana pri treh širinah, se zlomi pri četrti. Emulatorji pomagajo, a so po Googlovih besedah le približek: ne pokažejo pravih vrstic brskalnika, zaslonske tipkovnice, ki prekrije polje, povečane pisave ali počasnega procesorja. Dokončana stran je preizkušena z vlečenjem čez vse širine od 320 slikovnih pik do širokega monitorja in na nekaj pravih napravah: majhnem telefonu z Androidom, iPhonu, tablici v obeh usmeritvah, prenosniku in velikem zaslonu – in na zložljivem telefonu, če jih vaši obiskovalci uporabljajo.
- Preverite sami
- Razvijalca vprašajte, na katerih pravih napravah je bila stran pred zagonom preizkušena in kdaj nazadnje. Preizkusite jo sami na napravah, ki jih imate, z velikostjo besedila ali povečavo strani v brskalniku na 200 % (v Safariju gumb aA, v Chromu Nastavitve → Dostopnost): nič ne sme biti odrezano ali se prekrivati (WCAG 1.4.4).
- Za razvijalca
- Odzivni način orodij za razvijalce uporabljajte z vlečenjem, ne s prednastavitvami, za vse, kar se zgodi le na telefonu, pa oddaljeno razhroščevanje na pravih napravah (Chrome za Android, Safari za iOS). Posnetki zaslona pri 320, 768, 1024, 1280 in 1920 slikovnih pikah, ki jih naredijo testi, ujamejo postavitev, ki se zlomi med dvema krogoma.
- Viri
- Glejte tudi
- Deluje na telefonu, že od 320 slikovnih pik, Počasni in stari telefoni, Brskalniki v aplikacijah: Instagram, Facebook, TikTok
Varnost
Večino tega je mogoče od zunaj videti v nekaj minutah; za popravek sta običajno potrebna koda ali dostop do gostovanja.
HTTPS povsod in HSTSPomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
- Vsaka stran se streže prek HTTPS z veljavnim certifikatom, vsak naslov
http://pa se preusmeri nanj. GlavaStrict-Transport-Security, nastavljena za leto dni ali več, brskalnikom pove, naj navadnega HTTP ne poskusijo nikoli več. - Preverite sami
- Vtipkajte svoj naslov z
http://spredaj: takoj morate pristati nahttps://. V orodjih za razvijalce → »Network« kliknite stran in med glavami odgovora poiščitestrict-transport-securityzmax-age=31536000ali več. - Za razvijalca
includeSubDomains; preloaddodajte šele, ko ste preverili, da HTTPS podpirajo vse poddomene – pošta, spletna pošta, stare storitve.- Vir
Varnostne glavePomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Nekaj glav odgovora ustavi cele vrste napadov: Content Security Policy (s
frame-ancestors, da vaše strani nihče ne vstavi v okvir),X-Content-Type-Options: nosniff,Referrer-Policy: strict-origin-when-cross-origininPermissions-Policy, ki zavrne kamero, mikrofon in lokacijo, če jih stran ne uporablja.X-Powered-Byje odstranjena. - Preverite sami
- V orodjih za razvijalce → »Network« kliknite stran in preberite glave odgovora ali pa naslov prilepite v storitev, ki ocenjuje glave. Glave iz zgornjega seznama poiščite na običajnih straneh ter na naslovih za administracijo in API.
- Za razvijalca
- Začnite s
Content-Security-Policy-Report-Only, teden dni berite poročila in šele nato politiko uveljavite. V Next.js politika z nonce vsako stran naredi dinamično; pri statični strani uporabite politiko z zgoščenimi vrednostmi ali s seznamom dovoljenih virov. - Viri
Nobenih skrivnosti in zasebnih datotek na javnemPomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Datoteke, kot so
/.env,/.git/config, izvorne preslikave (source maps) ali/backup.zip, včasih postanejo dostopne vsakomur, ključi pa končajo v JavaScriptu, ki ga prenese vsak obiskovalec. Vse, kar se imenujeNEXT_PUBLIC_, je po definiciji javno: ključ anon za Supabase v brskalniku je pričakovan, ključservice_roletam pa pomeni vdor. - Preverite sami
- Na svoji strani odprite
/.env,/.git/configin/.git/HEAD: vsak mora vrniti 404. Prosite razvijalca, naj čez vso zgodovino repozitorija požene iskalnik skrivnosti (na primer gitleaks ali trufflehog) in vam pokaže, kaj vsebujejo spremenljivkeNEXT_PUBLIC_. - Za razvijalca
- V zgrajenih paketih poiščite
sk_live_, ključe Resendre_, JWT-je, katerih vsebina pravi"role":"service_role", ključe AWS in zasebne ključe. Pri Vercelu spremenljivkaNEXT_PUBLIC_, označena kot Sensitive, povzroči, da gradnja vanjo vstavi dobesedno besedilo[SENSITIVE].
Pravila dostopa do bazePomembnost: Obvezno. Kdo lahko preveri: Potrebni so vaši dostopi, Potrebna je koda
- Zakaj
- Če stran uporablja Supabase ali Firebase, je ključ v brskalniku javen, zato tabele z osebnimi podatki z njim ne smejo biti berljive: Row Level Security je vklopljen, izpostavljene pa so le ozke, premišljene funkcije.
- Preverite sami
- V nadzorni plošči Supabase odprite varnostnega svetovalca (Security Advisor) in preberite, kaj poroča. Razvijalec lahko to potrdi tudi od zunaj, z zahtevkom z javnim ključem, ki vrstice le prešteje in ne prenese nobenih osebnih podatkov.
Administracija in CMSPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Strani za prijavo in urejanje imajo
noindex(kot oznako meta, ne kot blokado v robots.txt), ne dajo se prikazati v okvirju tuje strani in omejujejo poskuse prijave. Skripte zunanjega CMS-ja, ki imajo pravico pisanja, so pripete s Subresource Integrity, piškotki prijave pa soSecureinHttpOnlyter imajo izrecenSameSite. - Preverite sami
- Na Googlu poiščite naslov svoje administracije (
/admin,/wp-adminin podobno): ne sme se pojaviti. Nekajkrat se poskusite prijaviti z napačnim geslom: sistem vas mora upočasniti, ne pa vam pustiti ugibati v nedogled. Vprašajte razvijalca, ali so podatki za prijavo v administracijo uporabljeni še kje javno.
Zaščita pred spamom, ki ne kaznuje ljudiPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Zaščita v plasteh, najcenejša najprej: skrito polje (honeypot), ki ga preveri strežnik, časovna past, ki zavrne obrazce, poslane manj kot dve sekundi po nalaganju strani, preverjanje na strežniku in vsak vnos, sprejet le enkrat. Šele nato nevidni izziv, kot je Turnstile; uganke CAPTCHA izključijo ljudi z oviranostmi (WCAG 3.3.8).
- Preverite sami
- Poglejte izvorno kodo obrazca: ali ima skrito polje, ki ga ljudje ne vidijo? Obrazec pošljite, kot bi ga poslal človek: iti mora skozi brez uganke.
- Za razvijalca
- Honeypot preverite na strežniku za vsako vrsto vsebine – JSON in navadne obrazce enako –, sicer boti preprosto uporabijo drugo pot.
Omejitve zahtevkov, ki ne zaklenejo mobilnih uporabnikovPomembnost: Obvezno. Kdo lahko preveri: Potrebna je koda
- Zakaj
- Mobilni operaterji tisoče telefonov skrijejo za en javni IP-naslov (carrier-grade NAT), zato omejitev »en zahtevek na IP vsakih 20 sekund« blokira že drugo osebo, ki tapne vašo zgodbo na Instagramu. Dokončana stran ima radodarno zgornjo mejo na IP-naslov, omejitve na e-naslov ali račun, pri vratih z geslom pa ponavljajoče se poskuse na isti cilj upočasni in o njih obvesti nekoga, namesto da bi blokirala IP-naslove.
- Preverite sami
- Vprašajte razvijalca, kaj se zgodi, ko 30 ljudi v istem mobilnem omrežju v eni minuti pošlje obrazec. Odgovor ne sme biti »IP se blokira«.
- Za razvijalca
- Omejitve v pomnilniku pri funkcijah serverless veljajo za posamezen primerek, zato so le mehka zaščita; dodajte še globalne varovalke (circuit breakers).
- Viri
Posodobljene odvisnostiPomembnost: Obvezno. Kdo lahko preveri: Potrebna je koda
- Zakaj
- Varnostni popravki pridejo kot nove različice ogrodja in knjižnic, zato je stran, ki zaostaja za različico ali več, izpostavljena slabostim, ki so že javno znane. Dokončan projekt ima samodejne zahtevke za posodobitve (Dependabot ali Renovate), združene enkrat na mesec, varnostne popravke pa uveljavi v nekaj dneh.
- Preverite sami
- Prosite razvijalca, naj požene
pnpm audit --prod(alinpm audit) in vam pokaže rezultat ter pove, ali sta za repozitorij vklopljena Dependabot ali Renovate.
security.txtPomembnost: Dobrodošlo. Kdo lahko preveri: Od zunaj
- Zakaj
/.well-known/security.txtpove tistemu, ki je našel ranljivost, kam jo lahko prijavi. Vsebovati mora vrsticoContact:in datumExpires:, oddaljen manj kot leto dni (RFC 9116).- Preverite sami
- Na svoji strani odprite
/.well-known/security.txt. Če obstaja, preverite, ali kontakt deluje in ali datum poteka še ni mimo. - Vir
Urejen DNSPomembnost: Dobrodošlo. Kdo lahko preveri: Potrebni so vaši dostopi
- Zakaj
- Zapis
CAAnavede overitelje, ki smejo izdajati certifikate za vašo domeno; nobena poddomena ne kaže več (s CNAME) na izbrisano aplikacijo pri Vercelu, Netlifyju ali Heroku, ki bi si jo lahko prisvojil kdo drug; DNSSEC pa je vklopljen, kjer ga registrar podpira. - Preverite sami
- Tistega, ki upravlja vaš DNS, prosite za seznam zapisov in za vsako poddomeno vprašajte, čemu služi. Tista, ki kaže na storitev, ki je ne uporabljate več, mora iti.
Hitrost
Hitrost se meri na telefonih pravih obiskovalcev, ne na razvijalčevem prenosniku.
Glejte tudi: Predpomnjenje, da se stran odpre v trenutku, Obrisi vsebine med nalaganjem
Core Web Vitals v zelenemPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebni so vaši dostopi
- Zakaj
- Googlove tri mere občutka ob uporabi strani: glavna vsebina se pokaže hitro (LCP največ 2,5 s), stran se hitro odzove na dotik (INP največ 200 ms) in ne poskakuje (CLS največ 0,1) – merjeno za tri od štirih pravih obiskovalcev (75. percentil).
- Preverite sami
- Naslov prilepite v PageSpeed Insights (pagespeed.web.dev) in preberite rezultat za mobilne naprave. Majhne strani tam pogosto nimajo podatkov pravih obiskovalcev; takrat uporabite laboratorijski rezultat ali Vercel Speed Insights, če je vklopljen.
- Viri
Slike, video in ikone v lahkih formatihPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Fotografije se strežejo v velikosti, v kateri so prikazane, v formatu AVIF ali WebP, z nastavljeno širino in višino, da stran ne poskakuje; slike pod prvim zaslonom se naložijo pozneje, glavna slika pa najprej. Video je v formatu WebM z nadomestnim MP4 in sliko za predogled, kratek posnetek v zanki pa nadomesti vsak animirani GIF za delček njegove velikosti; ikone in logotipi so v formatu SVG, ostri v vsaki velikosti in pravilni v svetlem in temnem načinu. Na vsebinski strani nič ne tehta več kot približno 300 KB – nikakor ne fotografija naravnost s telefona, široka 4000 slikovnih pik in težka 5 MB.
- Preverite sami
- V orodjih za razvijalce → »Network« osvežite stran in razvrstite po velikosti. Pod filtrom »Img« je vredno popraviti vse, kar presega 300 KB ali je precej večje od prikaza na zaslonu, in vsak animirani .gif; ikone in logotipi naj bodo datoteke .svg ali pa jih na seznamu sploh ni, ker so narisani kar v strani. Pod filtrom »Media« naj bodo videi v formatu .webm ali .mp4, preden se predvajajo, pa naj se pokaže mirujoča slika.
- Za razvijalca
widthinheightaliaspect-ratio, atributsizes,loading=lazypod prvim zaslonom, slika LCP pa naložena takoj, sfetchpriority=high. Video:<video muted playsinline loop autoplay poster>z virom WebM (VP9 ali AV1) najprej in nadomestnim MP4 (H.264) terpreload=metadata. Ikone in logotipi kot SVG, v strani ali kot datoteke, sfill=currentColor, da sledijo temi; brez spritov PNG in brez ikonskih pisav.
Pisave, ki se naložijo hitro in imajo vse črkePomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Pisave se strežejo z vaše domene, obrezane na potrebne znake – z latin-ext za č, š, ž, ć in đ –, vnaprej naloženi sta največ ena ali dve, s
font-display: swapin z nadomestnimi merami, da besedilo ne poskoči, ko pisava prispe. - Preverite sami
- V polje vpišite ime s č, š, ž, ć in đ in poglejte naslove s temi črkami: vse morajo biti v isti pisavi. V orodjih za razvijalce → »Network« mora filter »Font« pokazati le nekaj datotek, vse z vaše domene.
- Glejte tudi
- Pisave in skripte z lastnega strežnika
Malo zunanjih skript, naloženih poznoPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Vsak pogovorni gradnik, vdelava in sledilnik doda težo in tekmuje z vašo vsebino. Dokončana stran ve, koliko JavaScripta naloži ob prvem obisku, zunanje skripte omeji na tiste, ki jih potrebuje, nebistvene pa naloži, ko je stran že uporabna.
- Preverite sami
- V orodjih za razvijalce → »Network« izberite filter »JS« in osvežite stran: preberite skupno velikost na dnu in poglejte, s katerih domen prihajajo skripte.
Omejitve gostovanja, ki tiho poslabšajo stranPomembnost: Priporočljivo. Kdo lahko preveri: Potrebni so vaši dostopi
- Zakaj
- Brezplačni in manjši paketi imajo omejitve, ki odpovejo brez hrupa. Vercelov paket Hobby na primer vključuje 5.000 pretvorb slik na mesec in ustavi Web Analytics, ko je kvota porabljena; galerija z nekaj sto fotografijami v več širinah lahko pretvorbe porabi.
- Preverite sami
- V nadzorni plošči gostovanja odprite stran s porabo in vsako kvoto primerjajte z obremenjenim mesecem.
- Vir
Tekoče delovanje
Kaj ohrani dokončano stran dokončano tudi po dnevu zagona.
Nadzor dosegljivosti, ki preverja vsebinoPomembnost: Obvezno. Kdo lahko preveri: Potrebni so vaši dostopi, Potreben je človek
- Zakaj
- Zunanji nadzornik vsakih 1–5 minut, iz več kot ene regije, preveri začetno stran in po eno globljo stran za vsak jezik, na strani išče besedo, ki mora biti tam, ne le status 200, opozorila pa pošilja na telefon. Točka za preverjanje stanja (health endpoint) pove, ali baza, e-pošta in obvezne nastavitve res delujejo, ne da bi razkrila katero koli od njihovih vrednosti.
- Preverite sami
- Vprašajte, kdo dobi opozorilo, ko stran pade, in kako. Nato vprašajte, kdaj se je to nazadnje zgodilo in koliko časa je minilo, preden je kdo opazil.
- Za razvijalca
/api/healthpreverja prave odvisnosti, odgovori s 503, ko obvezna ne deluje, in ne izpiše nobene vrednosti.
Dnevniki napak, ki jih lahko preberete še naslednji tedenPomembnost: Priporočljivo. Kdo lahko preveri: Potrebni so vaši dostopi, Potrebna je koda
- Zakaj
- Napake iz brskalnika in s strežnika gredo nekam, kjer jih je mogoče iskati, z opozorili. Dnevniki gostovanja so kratkoživi – Vercel izvajalne dnevnike hrani 1 uro v paketu Hobby in 1 dan v paketu Pro –, zato
console.errorni zapis o incidentu. V dnevnikih ni osebnih podatkov, ki niso potrebni: kdor beleži cele vnose iz obrazcev, spravi osebne podatke v shrambo tretje osebe. - Preverite sami
- Vprašajte razvijalca: »Pokaži mi napake od prejšnjega torka.« Če jih ni več, se napake ne hranijo.
- Za razvijalca
- Log drain (Vercel Pro), Sentry ali obvestilo po e-pošti ob napaki.
- Vir
Vnosi iz obrazcev, shranjeni trajnoPomembnost: Obvezno. Kdo lahko preveri: Potrebna je koda, Potrebni so vaši dostopi
- Zakaj
- Nabiralnik ni baza podatkov. Vnosi gredo v shrambo – bazo, shrambo datotek, preglednico prek spletnega kljuka (webhook) – skupaj z zapisi o privolitvi, da se nič ne izgubi, ko se sporočilo vrne ali ko nekdo počisti nabiralnik.
- Preverite sami
- Vprašajte, kje so vnosi iz prejšnjega meseca, poleg e-pošte. Odpreti bi jih morali, ne da bi brskali po nabiralniku.
- Glejte tudi
- Privolitev, ki jo lahko dokažete
Varnostne kopije in zgodovina vsebinePomembnost: Priporočljivo. Kdo lahko preveri: Potrebni so vaši dostopi
- Zakaj
- Pri strani, katere vsebina je v datotekah, je zgodovina v Gitu. Baza podatkov potrebuje varnostne kopije – preverite, kaj paket hrani in ali omogoča obnovo na izbrano točko v času –, podatki iz obrazcev pa se redno izvažajo.
- Preverite sami
- V nadzorni plošči ponudnika baze poiščite nastavitve varnostnih kopij in preberite, kako daleč nazaj lahko obnovite. Vprašajte, kdaj je bila obnova nazadnje preizkušena.
Potek domene in certifikataPomembnost: Obvezno. Kdo lahko preveri: Potrebni so vaši dostopi
- Zakaj
- Domena, ki poteče, s seboj odnese spletno stran in e-pošto. Pri dokončani postavitvi se domena podaljšuje samodejno, s kartice, ki ne bo potekla prej, registrirana je na ime organizacije, nekdo pa dobi opozorilo, ko ima certifikat manj kot 14 dni veljavnosti.
- Preverite sami
- Prijavite se pri registrarju in preverite samodejno podaljšanje, kartico in ime imetnika. Za domene
.sije javni zapis (WHOIS) na register.si, za.rspri RNIDS.
Redno preverjanje pokvarjenih povezavPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Povezave do partnerjev in sponzorjev se pokvarijo najhitreje. Tedensko preverjanje notranjih in zunanjih povezav jih najde, preden jih najdejo obiskovalci.
- Preverite sami
- Na svoji strani poženite brezplačen preverjevalnik povezav ali prosite, naj teče vsak teden. Začnite pri strani s partnerji in sponzorji.
Spremembe, ki res pridejo na živo stranPomembnost: Priporočljivo. Kdo lahko preveri: Potrebna je koda, Potrebni so vaši dostopi
- Zakaj
- Samodejna objava se lahko tiho izpusti – to smo že videli. Dokončana stran ima še drug način za sprožitev objave in pove, katero različico poganja, zato vprašanje »je popravek že gor?« ni ugibanje.
- Preverite sami
- Po naslednji spremembi na živi strani preverite, ali je tam. Vprašajte razvijalca, kje lahko vidite, katero različico stran poganja.
- Za razvijalca
- Oznako commita (SHA) izpišite v
/api/health.
Paket gostovanja, ki dovoljuje, kar stran počnePomembnost: Priporočljivo. Kdo lahko preveri: Potrebni so vaši dostopi
- Zakaj
- Vercelov paket Hobby je namenjen le nekomercialni, osebni rabi, zato strani podjetij in naročnikov sodijo v plačljiv paket ali na naročnikov lastni račun. Brezplačni paketi drugod imajo svoje omejitve: dnevne omejitve e-pošte, baze, ki se ob neaktivnosti ustavijo, omejitve dogodkov analitike.
- Preverite sami
- Preverite, v katerem paketu je stran in na čigavem računu.
- Vir
Kdo ima ključePomembnost: Priporočljivo. Kdo lahko preveri: Potreben je človek, Potrebni so vaši dostopi
- Zakaj
- Nekdo ve, kdo lahko pride do registrarja domene, DNS, gostovanja, ponudnika e-pošte in CMS-ja, računi pa so last organizacije, ne vezani na zasebni e-naslov zunanjega sodelavca. Obstaja postopek, kako nekomu odvzeti dostop, ko odide, in kratek priročnik za urednike.
- Preverite sami
- Naredite seznam: na čigav e-naslov je račun pri vsaki storitvi in kdo se še lahko prijavi? Vse, kar je registrirano na osebo, ki bi lahko odšla, je vredno prenesti.
Kje se zatakne pri pravih obiskovalcih
Stvari, ki se ne pokažejo, dokler stran nastaja in se predstavlja na prenosniku, pokažejo pa se pri pravih obiskovalcih.
Brskalniki v aplikacijah: Instagram, Facebook, TikTokPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Povezava, tapnjena v Instagramu, Facebooku, Messengerju ali TikToku, se odpre v brskalniku aplikacije, ne v Safariju ali Chromu. Ti brskalniki v stran vrivajo svoj JavaScript, datotek pogosto ne morejo prenesti (zato gumbi za koledar
.icsne naredijo ničesar), blokirajo prijavo z Googlom in piškotkov ne delijo z brskalnikom telefona. - Preverite sami
- Povezavo do svoje strani objavite v zgodbi ali sporočilu na Instagramu in jo odprite tam. Preizkusite glavni obrazec, vsak prenos, »Dodaj v koledar« in prijavo, če jo stran ima.
- Za razvijalca
- Prepoznajte uporabniške agente aplikacij (
Instagram,FBAN/FBAV,FB_IAB,musical_ly/BytedanceWebview,Line/), ob prenosih in prijavi pokažite majhen namig »Odpri v brskalniku«, pred.icsponudite povezavo za Google Koledar in obrazce ohranite na isti strani, brez pojavnih oken. - Viri
Samodejni prevod ne pokvari straniPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- Ko Chrome ali Google Translate prevede stran, besedilo ovije v svoje elemente; stran v Reactu, ki to besedilo pozneje posodobi, se lahko sesuje z napako »Failed to execute ‘removeChild’ on ‘Node’« in pusti prazno stran ali obrazec. Zadene prav obiskovalce, ki jezika strani ne berejo.
- Preverite sami
- Stran odprite v Chromu, z desnim klikom izberite »Prevedi v …« in jo nato uporabljajte: odprite meni, zamenjajte zavihke, pošljite obrazec. Nič ne sme postati prazno.
- Za razvijalca
- Ponudite jezik neposredno; okoli obrazcev postavite meje napak (error boundaries), ki si zapomnijo oddajo v teku; pogojno prikazano besedilo ovijte v svoj
<span>; imenom blagovnih znamk, kodam in živim števcem dodajtetranslate="no". - Viri
- Glejte tudi
- Vsak jezik ima svoj naslov
Stran je berljiva tudi brez JavaScriptaPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj
- Zakaj
- JavaScript odpove pogosteje, kot se zdi: v brskalnikih aplikacij, na starih telefonih, za blokatorji, v slabem omrežju ali ob sesutju med zagonom strani. Vsebina, ki je sprva nevidna in čaka, da jo prikaže skripta, ostane nevidna, obrazec, ki se pošilja le prek JavaScripta, pa ne naredi ničesar.
- Preverite sami
- V orodjih za razvijalce v Chromu pritisnite Ctrl+Shift+P (na Macu ⌘⇧P), vpišite »Disable JavaScript« in osvežite stran. Glavno besedilo mora biti na mestu in berljivo, obrazec pa se mora še vedno poslati.
- Za razvijalca
- Animacije prikazovanja omejite na
html.jsali@media (scripting: enabled). Obrazcem dajte praviactioninmethod, ki ju strežnik sprejme tudi kotapplication/x-www-form-urlencodedin odgovori s stranjo.
Vsiljeni temni načinPomembnost: Dobrodošlo. Kdo lahko preveri: Od zunaj
- Zakaj
- Samsung Internet in Chromov samodejni temni način obrneta barve strani, ki ne povedo, katere barvne sheme podpirajo, in včasih pustita temno besedilo na temnem ozadju. Dokončana stran navede
color-scheme: samo svetlo ali pa pravo podporo za temno. - Preverite sami
- Stran odprite v Samsung Internetu z vklopljenim temnim načinom ali v Chromu z zastavico »Auto Dark Mode for Web Contents«. Vse mora ostati berljivo.
- Za razvijalca
<meta name="color-scheme" content="light">ali pa pravi temni slogi.
Slovenščina, srbščina in njune podrobnostiPomembnost: Priporočljivo. Kdo lahko preveri: Od zunaj, Potrebna je koda
- Zakaj
- Slovenščina pri štetju pozna štiri oblike, dvojino vključno (1 dan, 2 dneva, 3 dnevi, 5 dni), zato je logika »ena ali več« napačna pri treh od njih, srbščina pa se piše v latinici in cirilici (
sr-Latn,sr-Cyrl). Imena, naslovi in zadeve e-sporočil ohranijo č, š, ž, ć in đ, telefonska polja sprejmejo +386, +381 in presledke, ure pa so prikazane v časovnem pasu dogodka. - Preverite sami
- Obrazec izpolnite kot »Đurđa Šćepanović« s telefonsko številko, kot je +381 64 123 4567, in preverite, ali se sprejme, shrani in pravilno prikaže, tudi v potrdilu po e-pošti. Poiščite števila na strani in jih preverite za 1, 2, 3 in 5 (»2 dni« namesto »2 dneva«?).
- Za razvijalca
Intl.PluralRulesza vsako štetje; nikolin === 1 ? a : b.
Blokatorji oglasov in zasebni brskalnikiPomembnost: Dobrodošlo. Kdo lahko preveri: Od zunaj
- Zakaj
- Blokatorji oglasov ustavijo naslove z besedami, kot so
analytics,trackaliads, zunanje vdelave, kot so obrazci Google Forms, pa se lahko pokažejo kot prazni okvirji. Na dokončani strani nič bistvenega ni odvisno od zunanjega okvirja. - Preverite sami
- Namestite razširjen blokator oglasov (na primer uBlock Origin) ali stran odprite v Bravu in opravite glavna opravila: branje, prijavo, plačilo, stik.
Počasni in stari telefoniPomembnost: Dobrodošlo. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Nima vsak novega telefona. Vsebinske strani, ki se večinoma izrišejo v brskalniku, so na starih napravah počasne tudi ob dobri povezavi.
- Preverite sami
- Stran odprite na najstarejšem telefonu, ki ga najdete, ali v orodjih za razvijalce → »Performance« s procesorjem, upočasnjenim za 4- ali 6-krat, ter se pomikajte in tapajte po njej.
Vsebina obiskovalcev
Velja, kadar lahko kdorkoli razen urednikov strani naloži ali objavi nekaj, kar vidijo drugi: komentarje, profilne slike, galerije, oglase. Urednik, ki prek CMS-ja nalaga v repozitorij strani, ni tak primer.
Način za prijavo nezakonite vsebinePomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Pogoji uporabe so objavljeni in obstaja preprost način – obrazec ali poseben naslov – za prijavo nezakonite vsebine ali kršitev pravic. Na prijave se odzovete hitro, prijavitelj pa dobi odgovor (Akt o digitalnih storitvah, 14. in 16. člen).
- Preverite sami
- Izberite katero koli vsebino obiskovalcev in jo poskusite prijaviti, kot bi to storil neznanec. Ste našli, kako, in bi prijavo kdo videl?
- Glejte tudi
- Splošni pogoji, kadar jih potrebujete
Enotna kontaktna točkaPomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
- Akt o digitalnih storitvah zahteva objavljeno enotno kontaktno točko za organe in za uporabnike (11. in 12. člen).
- Preverite sami
- Je na strani jasno naveden en kontakt za take zadeve in ga kdo bere?
Agent DMCA, če ste v ZDA ali ciljate nanjePomembnost: Obvezno. Kdo lahko preveri: Potreben je človek
- Zakaj
- Če je podjetje v ZDA ali cilja na uporabnike tam, pri ameriškem uradu za avtorske pravice (US Copyright Office) registrira pooblaščenega agenta DMCA (6 dolarjev, obnova vsaka tri leta) in ga objavi. Brez njega za vsebino, ki jo naložijo uporabniki, ni varnega pristana.
- Preverite sami
- V imeniku agentov DMCA pri US Copyright Office poiščite ime svojega podjetja in preverite, ali registracija ni potekla.
Kdo stoji za stranjo
Kdo je za stranjo, pod kakšnimi pogoji in kdo – ali kaj – odgovarja obiskovalcem.
Podatki o ponudniku (impresum)Pomembnost: Obvezno. Kdo lahko preveri: Od zunaj, Potreben je človek
- Zakaj
- Obiskovalci, stranke in organi morajo vedeti, s kom imajo opravka. V Sloveniji ZEPT (5. člen) od storitev informacijske družbe, ki so običajno plačljive, zahteva ime in sedež, delujoč e-naslov, matično in davčno številko, morebitni nadzorni organ in cene z DDV; brezplačna stran društva je verjetno zunaj njegovega dosega, a Splošna uredba o varstvu podatkov vseeno zahteva identiteto in kontakt upravljavca, družbe pa upoštevajo še ZGD-1 o poslovnih listinah. V Srbiji enake podatke, tudi na elektronskih dokumentih, zahtevata zakon o elektronski trgovini (6. člen) in zakon o gospodarskih družbah (25. člen).
- Preverite sami
- Ali lahko z vsake strani – v enem kliku, običajno iz noge – pridete do polnega uradnega imena organizacije, njenega naslova, delujočega e-naslova in, pri podjetju, matične in davčne številke (v Sloveniji SI in osem števk, v Srbiji devetmestni PIB)?
- Viri
- Glejte tudi
- Pravi kontaktni podatki, ne le obrazec
Splošni pogoji, kadar jih potrebujetePomembnost: Obvezno. Kdo lahko preveri: Potreben je človek, Od zunaj
- Zakaj
- Pogoji določajo pravila razmerja med stranjo in njenimi obiskovalci. Dokončana stran jih ima, objavljene in povezane pred trenutkom zaveze, kadar kaj prodaja – skupaj s pravili o odstopu in vračilu – in kadar lahko obiskovalci odprejo račun ali objavijo vsebino, ki jo vidijo drugi; takrat pogoji uporabe povedo tudi, kaj ni dovoljeno in kako to prijaviti.
- Preverite sami
- Če stran prodaja ali ima uporabniške račune: ali s strani blagajne ali obrazca za registracijo v enem kliku pridete do pogojev, v jeziku strani, in ali opisujejo, kar stran v resnici počne?
- Glejte tudi
- Pogoji, 14 dni za odstop in gumb za odstop, Način za prijavo nezakonite vsebine
Povejte, kdaj obiskovalci govorijo z umetno inteligencoPomembnost: Obvezno. Kdo lahko preveri: Od zunaj
- Zakaj
- Če ima stran klepetalnega robota ali pomočnika z umetno inteligenco, ljudje izvedo, da se pogovarjajo z umetno inteligenco. Ta obveznost preglednosti iz Akta o umetni inteligenci (50. člen) velja od 2. avgusta 2026.
- Preverite sami
- Odprite klepet, kot bi ga obiskovalec: ali pred začetkom ali ob njem jasno piše, da odgovore daje umetna inteligenca?
- Viri
Sredstva EU, prikazana, kot zahteva programPomembnost: Dobrodošlo. Kdo lahko preveri: Potreben je človek
- Zakaj
- Projekti, ki jih financira EU prek programa Interreg ali drugih programov, emblem EU in izjavo o financiranju prikažejo po pravilih o prepoznavnosti svojega programa.
- Preverite sami
- Če je stran ali projekt financiran iz sredstev EU, primerjajte nogo ali stran projekta z navodili programa za prepoznavnost.