Skip to main content
← Back to blog

SEO Vodič Korak 7: Sigurnost — Osnovni Standard koji Google Očekuje 2026.

·12 min read·by LANGR SEO

SEO Vodič Korak 7: Sigurnost

Ovo je Korak 7 od 13-Korak SEO Vodiča. Sigurnost nije samo o zaštiti korisnika — direktno utiče na vaše rangiranje pretraživača. Google koristi HTTPS kao signal za rangiranje od 2014. godine, a očekivanja su samo rasla.


Većina vlasnika sajtova sigurnost smatra binarnom: "Imamo SSL, tako da smo sigurni." U stvarnosti, Google procjenjuje desetine sigurnosnih signala. Sajtovi sa pravilnim sigurnosnim zaglavljima, važećim certifikatima, i bez miješanog sadržaja imaju bolje rangiranje od sajtova koji imaju samo osnovni SSL certifikat — pod uslovom da je sve ostalo jednako.

Dobra vijest: većina sigurnosnih popravki su jednokratne konfiguracije. Postavite ih jednom, i one će trajno štititi vaše rangiranje.

SSL Konfiguracija

SSL (tehnički TLS) enkriptuje vezu između vašeg servera i posjetilaca. Od 2014. godine, Google je eksplicitno potvrdio HTTPS kao signal za rangiranje. U 2026. godini, nemanje HTTPS nije samo pitanje rangiranja — Chrome označava HTTP sajtove kao "Nije Sigurno" u adresnoj traci, uništavajući povjerenje korisnika.

Zahtevi za pravilnim SSL-om:

ZahtevZaštoKako Proveriti
Važeći certifikatIstekao = upozorenje u pretraživaču = odskočni korisniciProverite datum isteka
Puni lanacNepotpuni lanci ne rade na nekim uređajimaSSL Labs test
TLS 1.2+Starije verzije imaju poznate ranjivostiSSL Labs test
Bez SHA-1Odbaceno, pretraživači to odbacujuDetalji o certifikatu
SAN pokrivenostwww i ne-www moraju biti pokriveniDetalji o certifikatu
Auto-obnovaSprečava katastrofe istekaLet's Encrypt / konfiguracija provajdera

SSL ocenjivanje:

100% = Važeći certifikat + Puni lanac + TLS 1.3 + Jake šifre + Auto-obnova
  0% = Istekao ili nedostajući certifikat

Uobičajene greške kod SSL-a:

  1. Certifikat ističe bez obaveštenja — Postavite monitoring (Korak 6) minimum 30 dana pre isteka
  2. Nepotpuni lanac certifikata — Server mora slati intermedijarne certifikate, a ne samo leaf certifikat
  3. Mješoviti sadržaj — HTTPS stranica učitava HTTP resurse (slike, skripte, stilove)
  4. Petlje preusmjeravanja — HTTP → HTTPS → HTTP ciklusi uzrokovani pogrešnom konfiguracijom CDN-a/proksija
  5. Neslaganje ne-www vs www — Certifikat pokriva jedan, ali ne i drugi

Brza pobjeda: Prođite kroz svoj domen na SSL Labs (ssllabs.com/ssltest). Sve ispod ocjene "A" ima probleme koji se moraju riješiti. Većina provajdera hostinga rešava ovo jednim klikom.

Sigurnosna Zaglavlja

Sigurnosna zaglavlja su HTTP odgovorna zaglavlja koja upućuju pretraživače kako da se ponašaju prilikom učitavanja vašeg sajta. Sprečavaju čitave kategorije napada — a Google-ovi crawleri ih proveravaju.

Osnovna sigurnosna zaglavlja:

Politika Sigurnosti Sadržaja (CSP)

CSP je najmoćnije sigurnosno zaglavlje. Govori pretraživačima tačno koje resurse (skripte, stilove, slike, fontove) je dozvoljeno učitati na vašim stranicama.

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';

Šta CSP sprečava:

  • Napadi međusajtskog skriptinga (XSS)
  • Napadi injekcije podataka
  • Klikanje (putem frame-ancestors)
  • Neovlašteno izvršavanje skripti (kriptomineri, injektori oglasa)

CSP strategija implementacije:

  1. Počnite sa Content-Security-Policy-Report-Only (beleži prekršaje bez blokiranja)
  2. Praćenje izveštaja tokom 1-2 nedelje
  3. Stavljanje na belu listu legitimnih izvora
  4. Pređite na režim primene
  5. Dodajte report-uri ili report-to za trajno beleženje prekršaja

X-Frame-Options

Sprečava da vaša stranica bude ugnježdena u iframe-ovima na drugim domenima (zaštita protiv klikanja).

X-Frame-Options: DENY

Ili ako je potrebno dozvoliti ugniježdena okvira iste domene:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

Sprečava pretraživače od MIME-type sniffinga (tumačenje fajlova kao različitih tipova od onih koje su deklarisane).

X-Content-Type-Options: nosniff

Ova linija sprečava napade gde .jpg fajl sadrži skriveni JavaScript koji pretraživač može izvršiti.

Referrer-Policy

Kontroliše koliko referrer informacija se šalje kada korisnici kliknu na linkove sa vašeg sajta.

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

Ovo šalje punu URL adresu za zahteve iste domene, ali samo izvor (domen) za zahteve različitih domena. Balansira potrebe analitike sa privatnošću.

Permissions-Policy

Kontroliše koje funkcije pretraživača (kamera, mikrofon, geolokacija, itd.) mogu biti korišćene na vašem sajtu.

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

Onemogućavanje funkcija koje ne koristite sprečava treće strane da ih zloupotrebljavaju.

Primer implementacije zaglavlja (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' },
      ]
    }]
  }
}

Implementacija zaglavlja (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"

Implementacija zaglavlja (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;

Brza pobjeda: Dodajte svih 5 zaglavlja iznad u svoju serversku konfiguraciju. Ovo traje 5 minuta i odmah poboljšava vašu sigurnost u bilo kojem alatu za skeniranje.

HSTS Preload

HTTP Strict Transport Security (HSTS) govori pretraživačima da uvijek koriste HTTPS za vašu domenu — čak i prije prvog zahteva. Bez HSTS, prva poseta vašem sajtu još uvijek može koristiti HTTP (rana podložna presretanju) prije nego što preusmerenje na HTTPS bude izvršeno.

HSTS zaglavlje:

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

Tri direktive:

DirektivaZnačenje
max-age=31536000Zapamti ovo na 1 godinu (u sekundama)
includeSubDomainsPrimeni na sve poddomene
preloadZahteva uključivanje u preload liste pretraživača

HSTS preload lista:

Konačna HSTS zaštita. Pretraživači dolaze sa ugrađenom listom domena koje uvijek moraju koristiti HTTPS. Podnošenje vaše domene na hstspreload.org znači:

  • Prvi posjetioci odmah dobijaju HTTPS (bez HTTP → HTTPS preusmjeravanja)
  • Nemoguće je za napadače da smanje veze
  • Trajno (teško je ukloniti nakon podnošenja)

Zahtevi za HSTS preload:

  1. Važeći HTTPS certifikat
  2. Preusmerite sve HTTP na HTTPS (uključujući poddomene)
  3. HSTS zaglavlje sa max-age >= 31536000
  4. HSTS zaglavlje uključuje includeSubDomains
  5. HSTS zaglavlje uključuje preload
  6. Sve poddomene moraju podržavati HTTPS

Upozorenje: Podnose samo za preload ako SVE vaše poddomene podržavaju HTTPS. Direktiva includeSubDomains znači da će svaki HTTP-only poddomen postati nedostupan.

Brza pobjeda: Ako već imate HTTPS na svim poddomenama, dodajte puno HSTS zaglavlje i podnesite na hstspreload.org. Obrada traje nekoliko nedelja, ali zaštita je trajna.

Skeniranje Ranjivosti

Automatizovano skeniranje ranjivosti identifikuje poznate sigurnosne probleme u vašem sistemu pre nego što ih napadači iskoriste.

Šta proverava skeniranje ranjivosti:

  • Zastarela softverska rešenja: WordPress, dodaci, JavaScript biblioteke sa poznatim CVE-ovima
  • Izloženi fajlovi: .env, .git, wp-config.php, dumps baze podataka
  • Curenje informacija: Zaglavlja verzija servera, debug režim, stack tragovi
  • Defaultni kredencijali: Administratorske stranice bez autentifikacije, default lozinke
  • Otvoreni portovi/usluge: Nepotrebne usluge izložene internetu
  • Tačke injekcije: Obrasci bez CSRF zaštite, nevalidirani unosi

Uobičajene ranjivosti po platformama:

PlatformaNajveća RanjivostRešenje
WordPressZastareli dodaciAuto-aktuelizacija + WAF
ShopifyDozvole aplikacija trećih stranaRevizija liste aplikacija svaka tri meseca
Next.jsIzložene API ruteAutentifikacijski middleware + limitiranje brzine
Staticki sajtoviPogrešna konfiguracija CDN-aPregled pravila keširanja
PrilagođeniSQL injekcijaParametrizovani upiti

Učestalost skeniranja:

  • Dnevno: Automatizovano skeniranje površine (SSL, zaglavlja, izloženi fajlovi)
  • Nedeljno: Provera ranjivosti zavisnosti (npm audit, WordPress plugin skener)
  • Monthly: Dubinsko skeniranje sa autentifikovanim testiranjem
  • Posle svake implementacije: Provera regresije

Brza pobjeda: Pokrenite npm audit (Node.js) ili proverite svoju CMS listu dodataka za zastarele komponente. Odmah rešite kritične/visoke probleme.

Miješani Sadržaj

Miješani sadržaj se javlja kada HTTPS stranica učitava resurse (slike, skripte, stilove, iframe-ove) putem HTTP-a. Ovo delimično kvari enkripciju i pokreće upozorenja u pretraživaču.

Tipovi miješanog sadržaja:

TipOzbiljnostPrimerPonašanje pretraživača
AktivniVisokHTTP skripta, iframe, CSSBlokiran po defaultu
PasivniSrednjiHTTP slika, video, audioUčitava se uz upozorenje

Aktivni miješani sadržaj je blokiran od strane modernih pretraživača — što znači da vaša skripta i stilovi jednostavno neće učitati. Pasivni miješani sadržaj se učitava, ali prikazuje sigurnosna upozorenja.

Pronaći miješani sadržaj:

  1. Otvorite Chrome DevTools → Console
  2. Potražite "Miješano Sadržaj" upozorenja
  3. Alternativno, skenirajte sa crawler-om (Screaming Frog, LANGR)

Uobičajeni izvori miješanog sadržaja:

  • Hardkodirani http:// URL-ovi u sadržaju (blog postovi, opisi proizvoda)
  • Dodaci trećih strana koji učitavaju HTTP resurse
  • Ugrađeni sadržaj (stari YouTube embed-ovi, widgeti društvenih mreža)
  • CSS background-image sa HTTP URL-ovima
  • Fontovi učitani putem HTTP-a

Popravka miješanog sadržaja:

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

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

<!-- Najbolje (protokol-relativno, prilagođava se protokolu stranice) -->
<img src="//example.com/image.jpg" />

Ispravka baze podataka (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');

Brza pobjeda: Otvorite svoju početnu stranicu u Chrome-u, pritisnite F12, proverite konzolu za upozorenja o miješanom sadržaju. Popravite svaku koja se pojavi — ovo su direktno vidljive Google-u.

Rizici Skripti Trećih Strana

Svaka eksternalna skripta koju učitate je potencijalna sigurnosna (i performansna) odgovornost. Skripte trećih strana mogu:

  • Biti kompromitovane (napadi na lance snabdevanja)
  • Pratiti vaše korisnike bez pristanka (GDPR povreda)
  • Usporiti vašu stranicu (blokada renderovanja, mrežna latencija)
  • Pokvariti funkcionalnost (ažuriranja verzija, prekidi)
  • Umetnuti neželjeni sadržaj (pogrešne skripte oglasa)

Revizija vaših skripti trećih strana:

SkriptaNeophodna?Nivo RizikaAlternativa
Google AnalyticsČesto daNizakPraćenje na serveru
Chat widgetiMoždaSrednjiRešenja koja se hostuju sami
Dugmadi za deljenje na društvenim mrežamaRetkoSrednjiStatčki linkovi za deljenje
A/B testiranjePonekadVisokoServer-side testiranje
Retargeting pikselaOdluka firmeVisokoPodaci prvih strana
Font CDN-oviPovoljnoNizakSamostalno hostovani fontovi

Ublažavanje rizika za neophodne skripte trećih strana:

  1. Subresource Integrity (SRI): Hash verifikacija sprečava učitavanje izmenjenih skripti
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
        crossorigin="anonymous"></script>
  1. CSP ograničenja: Dozvolite samo skripte sa poznatih domena
  2. Sandboxed iframe-ovi: Izolujte widgete trećih strana
  3. Redovne revizije: Kvartalni pregled svih eksternalnih resursa
  4. Monitoring: Upozorenje na nove eksternal domeine koje se pojavljuju na vašim stranicama

Brza pobjeda: Napravite listu svih