Skip to main content
← Back to blog

SEO Vodnik Korak 7: Varnost — Osnovna raven, ki jo Google pričakuje leta 2026

·12 min read·by LANGR SEO

SEO Vodnik Korak 7: Varnost

To je Korak 7 iz 13-korakovega SEO Vodnika. Varnost ni le zaščita uporabnikov — neposredno vpliva na vaše iskalne uvrstitve. Google uporablja HTTPS kot signal za uvrstitev od leta 2014 in pričakovanja so le še povečana.


Večina lastnikov spletnih strani varnost dojema kot binarno: "Imamo SSL, torej smo varni." V resnici Google ocenjuje ducate varnostnih signalov. Spletne strani s pravilnimi varnostnimi glavami, veljavnimi certifikati in brez mešane vsebine presegajo spletne strani s preprosto osnovno SSL certifikacijo — ob vseh drugih dejavnikih enakih.

Dobra novica: večina popravkov varnosti je enkratna konfiguracija. Nastavite jih enkrat in zaščitite svoje uvrstitve trajno.

Konfiguracija SSL

SSL (tehnično TLS) šifrira povezavo med vašim strežnikom in obiskovalci. Od leta 2014 je Google izrecno potrdil HTTPS kot signal za uvrstitev. Leta 2026 ne imeti HTTPS ni samo vprašanje uvrstitve — Chrome označuje HTTP spletne strani kot "Niso varne" v naslovni vrstici, kar uničuje zaupanje uporabnikov.

Zahteve za pravilno SSL:

ZahtevaZakajKako preveriti
Veljaven certifikatPotekel = opozorilo brskalnika = odhod uporabnikovPreverite datum poteka
Popolna verigaNepopolne verige odpovejo na nekaterih napravahTestiranje SSL Labs
TLS 1.2+Starejše različice imajo znane ranljivostiTestiranje SSL Labs
Brez SHA-1Preklican, brskalniki ga zavrnejoPodrobnosti certifikata
SAN pokritostwww in ne-www morata biti pokritaPodrobnosti certifikata
Avtomatsko obnavljanjePreprečuje katastrofe ob pretekuLet's Encrypt / konfiguracija ponudnika

Ocena SSL:

100% = Veljavna certifikacija + Popolna veriga + TLS 1.3 + Močan cifer + Avtomatsko obnavljanje
  0% = Potekel ali manjkajoč certifikat

Pogoste napake pri SSL:

  1. Certifikat poteka brez opozorila — Nastavite nadzor (Korak 6) vsaj 30 dni pred potekom
  2. Nepopolna veriga certifikatov — Strežnik mora poslati vmesne certifikate, ne le zadnjega
  3. Mešana vsebina — HTTPS stran nalaga HTTP vire (slike, skripte, sloge)
  4. Krožne preusmeritve — HTTP → HTTPS → HTTP cikli, ki jih povzročajo napačno konfigurirani CDN/proxy
  5. Neenakost www in non-www — Certifikat pokriva enega, ne pa drugega

Hiter uspeh: Preverite svojo domeno preko SSL Labs (ssllabs.com/ssltest). Vse, kar je pod oceno "A", ima vprašljive težave. Večina ponudnikov gostovanja to odpravi s svojim klikom.

Varnostne glave

Varnostne glave so HTTP odzivne glave, ki usmerjajo brskalnike, kako naj se obnašajo pri nalaganju vaše strani. Preprečujejo celotne kategorije napadov — in Googleovi pajki jih preverjajo.

Osnovne varnostne glave:

Politika varnosti vsebine (CSP)

CSP je najmočnejša varnostna glava. Brskalnikom pove natanko, kateri viri (skripti, slogi, slike, pisave) so dovoljeni za nalaganje na vaših straneh.

Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none';

Kaj CSP preprečuje:

  • Napadi med spletnimi stranmi (XSS)
  • Napadi injiciranja podatkov
  • Clickjacking (prek frame-ancestors)
  • Neavtorizirano izvajanje skript (kriptominarji, injektorji oglasov)

Strategija dokončne uvedbe CSP:

  1. Začnite z Content-Security-Policy-Report-Only (dnevnik kršitev brez blokiranja)
  2. Spremljajte poročila 1-2 tedna
  3. Dovolite legitimne vire
  4. Preklopite v način uveljavitve
  5. Dodajte report-uri ali report-to za nadaljnje beleženje kršitev

X-Frame-Options

Preprečuje, da bi bila vaša stran vstavljena v iframe na drugih domenah (zaščita pred clickjackingom).

X-Frame-Options: DENY

Ali, če potrebujete dovoliti ohranjanje iste izvorne domene:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

Preprečuje brskalnikom, da bi prepoznali MIME-tip (interpretacija datotek kot druge vrste kot je navedeno).

X-Content-Type-Options: nosniff

Ta enojni ukaz preprečuje napade, kjer datoteka .jpg vsebuje skriti JavaScript, ki ga brskalnik morda izvede.

Referrer-Policy

Ureja, koliko informacij o referentih se pošlje, ko uporabniki kliknejo povezave iz vaše strani.

Referrer-Policy: strict-origin-when-cross-origin

To pošlje celotno URL za zahtevke istega izvora, vendar samo izvor (domeno) za zahtevke med različnimi viri. Uravnava analitične potrebe s zasebnostjo.

Permissions-Policy

Ureja, katere funkcije brskalnika (kamera, mikrofon, geolokacija itd.) se lahko uporabljajo na vaši spletni strani.

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()

Onemogočanje funkcij, ki jih ne uporabljate, preprečuje zlorabe s strani skript drugih podjetij.

Primer uvedbe glav (Next.js):

// next.config.js
module.exports = {
  async headers() {
    return [{
      source: '/(.*)',
      headers: [
        { key: 'X-Content-Type-Options', value: 'nosniff' },
        { key: 'X-Frame-Options', value: 'SAMEORIGIN' },
        { key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
        { key: 'Permissions-Policy', value: 'camera=(), microphone=(), geolocation=()' },
        { key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload' },
      ]
    }]
  }
}

Uvedba glav (Apache .htaccess):

Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Uvedba glav (Nginx):

add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Hiter uspeh: Dodajte vseh 5 zgoraj omenjenih glav v konfiguracijo svojega strežnika. To traja 5 minut in takoj izboljša vašo varnostno stanje v kateremkoli orodju za skeniranje.

HSTS Predpomnjenje

HTTP Strict Transport Security (HSTS) pove brskalnikom, da vedno uporabljajo HTTPS za vašo domeno — celo pred prvo zahtevo. Brez HSTS lahko prva obisk vaše strani še vedno uporablja HTTP (ranljivo na prestrezanje), preden se zgodi preusmeritev na HTTPS.

HSTS glava:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Tri direktive:

DirektivaPomen
max-age=31536000Zapomni si to za 1 leto (v sekundah)
includeSubDomainsUporabi tudi za vse poddomene
preloadZahteva vključitev v predpomnilniške sezname brskalnikov

Seznam HSTS predpomnjenja:

Najboljša zaščita HSTS. Brskalniki vključujejo vgrajen seznam domen, ki morajo vedno uporabljati HTTPS. Oddaja vaše domene na hstspreload.org pomeni:

  • Obiskovalci prvič dobijo HTTPS takoj (brez HTTP → HTTPS preusmeritve)
  • Napadalcem je nemogoče znižati povezave
  • Trajno (težko se je odstraniti, ko je enkrat oddano)

Zahteve za HSTS predpomnjenje:

  1. Veljaven HTTPS certifikat
  2. Preusmerite vse HTTP na HTTPS (vključno s poddomenami)
  3. HSTS glava z max-age >= 31536000
  4. HSTS glava vključuje includeSubDomains
  5. HSTS glava vključuje preload
  6. Vse poddomene morajo podpirati HTTPS

Opozorilo: Oddajte na predpomnjenje le, če vse vaše poddomene podpirajo HTTPS. Direktiva includeSubDomains pomeni, da bo katera koli poddomena, ki podpira samo HTTP, postala nedostopna.

Hiter uspeh: Če že imate HTTPS na vseh poddomenah, dodajte celotno HSTS glavo in oddajte na hstspreload.org. Obdelava traja nekaj tednov, toda zaščita je trajna.

Skeniranje Ranljivosti

Avtomatizirano skeniranje ranljivosti identificira znane varnostne težave v vaši tehnologiji, preden jih napadalci izkoristijo.

Kaj skeniranje ranljivosti preverja:

  • Zastarela programska oprema: WordPress, dodatki, JavaScript knjižnice z znanimi CVE-ji
  • Izpostavljene datoteke: .env, .git, wp-config.php, izpisi podatkovnih baz
  • Opuščanje informacij: Glave različice strežnika, način za odpravljanje napak, sledi namestitve
  • Privzete poverilnice: Administratorske strani brez avtentikacije, privzeta gesla
  • Odprte porte/storitve: Nepotrebne storitve, izpostavljene internetu
  • Mesta za injiciranje: Obrazci brez zaščite CSRF, nepreverjeni vnosi

Pogoste ranljivosti po platformah:

PlatformaNajboljša ranljivostPopravek
WordPressZastareli dodatkiSamoobnovitev + WAF
ShopifyDovoljenja aplikacij tretjih strankRevizija seznama aplikacij četrtletno
Next.jsIzpostavljene API potiAvtentikacijska srednja programska oprema + omejevanje hitrosti
Statične straniNapačna konfiguracija CDNPregled pravil predpomnjenja
Po meriSQL injekcijaParametrizirana poizvedba

Pogostost skeniranja:

  • Dnevno: Avtomatizirano površinsko skeniranje (SSL, glave, izpostavljene datoteke)
  • Tedensko: Preverjanje ranljivosti odvisnosti (npm audit, skener dodatkov WordPress)
  • Mesečno: Globinsko skeniranje z avtentikacijo
  • Po vsaki namestitvi: Preverjanje regresije

Hiter uspeh: Zaženite npm audit (Node.js) ali preverite seznam dodatkov vašega CMS za zastarele komponente. Takoj odpravite kritične/visoke nevarnosti.

Mešana vsebina

Mešana vsebina se pojavi, ko HTTPS stran nalaga vire (slike, skripte, sloge, iframes) preko HTTP. To delno prekine šifriranje in sproži opozorila brskalnika.

Vrste mešane vsebine:

TipResnostPrimerObnašanje brskalnika
AktivnaVisokaHTTP skript, iframe, CSSPrivzeto blokirano
PasivnaSrednjaHTTP slika, video, avdioNaloži z opozorilom

Aktivna mešana vsebina je blokirana z modernimi brskalniki — kar pomeni, da vaši skripti in slogi preprosto ne bodo naloženi. Pasivna mešana vsebina se naloži, vendar prikazuje varnostna opozorila.

Iskanje mešane vsebine:

  1. Odprite Chrome DevTools → Konzola
  2. Poiščite opozorila "Mešana vsebina"
  3. Alternativno, skenirajte s pajkom (Screaming Frog, LANGR)

Pogosti viri mešane vsebine:

  • Hardkodirani http:// URL-ji v vsebinah (objave na blogu, opisi izdelkov)
  • Vtičniki tretjih strank, ki nalagajo HTTP vire
  • Vdelana vsebina (stari YouTube embed, vtičniki socialnih omrežij)
  • CSS background-image z HTTP URL-ji
  • Pisave, naložene preko HTTP

Odpravljanje mešane vsebine:

<!-- Slabo -->
<img src="http://example.com/image.jpg" />

<!-- Dobro -->
<img src="https://example.com/image.jpg" />

<!-- Najbolje (protokol-relativen, prilagaja se protokolu strani) -->
<img src="//example.com/image.jpg" />

Popravek baze podatkov (WordPress):

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');

Hiter uspeh: Odprite svojo domačo stran v Chromu, pritisnite F12, preverite zavihek Konzola za opozorila o mešani vsebini. Odpravite vse, kar se prikaže — te napake so neposredno vidne Googlu.

Tveganja tretjih oseb v skriptih

Vsak zunanji skript, ki ga naložite, predstavlja potencialno varnostno (in zmogljivostno) tveganje. Skripti tretjih oseb lahko:

  • Bodo ogroženi (napadi dobavne verige)
  • Sledijo vašim uporabnikom brez soglasja (kršitev GDPR)
  • Upčasnijo vašo stran (blokira renderiranje, zakasnitev omrežja)
  • Zlomijo funkcionalnost (posodobitve različic, izpadi)
  • Vbrizgajo nezaželeno vsebino (skripti oglasov so se pokvarili)

Revizija vaših skript tretjih oseb:

SkriptPotreben?TveganjeAlternativa
Google AnalyticsPogosto jaNizkoSledenje na strežniški strani
Vtičniki za klepetMordaSrednjeRešitve, ki jih gostite sami
Gumbi za deljenje po socialnih omrežjihRedkoSrednjeStatistične povezave za deljenje
A/B testiranjeVčasihVisokoTestiranje na strežniški strani
Pikseli za ponovno ciljanjePoslovna odločitevVisokoPodatki prve stranke
CDN-ji za pisavePrihodnjiNizkoSamo-gostilne pisave

Zmanjšavanje tveganja za ključne skripte tretjih oseb:

  1. Celovitost podreja (SRI): Preverjanje hasha preprečuje nalaganje spremenjenih skript
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
        crossorigin="anonymous"></script>
  1. Omejitve CSP: Dovolite samo skripte iz znanih domen
  2. Izolirane iframe: Izolacija vtičnikov tretjih strank
  3. Redne revizije: Četrtletni pregled vseh zunanjih virov
  4. Nadzor: Opozorilo o novih zunanjih domenah, ki se pojavijo na vaših straneh

Hiter uspeh: Naštejte vsak