Skip to main content
← Back to blog

SEO Vodič Korak 7: Bezbednost — Osnova koju Google Očekuje 2026.

·12 min read·by LANGR SEO

SEO Vodič Korak 7: Bezbednost

Ovo je Korak 7 iz 13-koraka SEO Vodiča. Bezbednost nije samo zaštita korisnika — direktno utiče na vaše rangiranje u pretraživačima. Google koristi HTTPS kao signal za rangiranje od 2014. godine, a očekivanja su se samo povećala.


Većina vlasnika sajtova misli o bezbednosti kao o binarnom faktoru: "Imamo SSL, što znači da smo zaštićeni." U stvarnosti, Google procenjuje desetine sigurnosnih signala. Sajtovi sa pravilnim sigurnosnim zaglavljima, važećim sertifikatima i bez mešanog sadržaja bolje se rangiraju od sajtova koji imaju samo osnovni SSL sertifikat — pod svim ostalim faktorima jednakim.

Dobra vest: većina bezbednosnih popravki je jednokratna konfiguracija. Podesite ih jednom, i one trajno štite vaše rangiranje.

Konfiguracija SSL-a

SSL (tehnički TLS) šifruje vezu između vašeg servera i posetilaca. Od 2014. godine, Google je izričito potvrdio HTTPS kao signal za rangiranje. U 2026. godini, neimanje HTTPS-a nije samo pitanje rangiranja — Chrome označava HTTP sajtove kao "Nema bezbednost" u adresnoj traci, uništavajući poverenje korisnika.

Zahtevi za pravilno SSL:

ZahtevZaštoKako proveriti
Važeći sertifikatIsteče = upozorenje pretraživača = odustali korisniciProverite datum isteka
Puna lanacNepotpuni lanci ne funkcionišu na nekim uređajimaSSL Labs test
TLS 1.2+Starije verzije imaju poznate ranjivostiSSL Labs test
Nema SHA-1Zastarjelo, pregledači to odbacujuDetalji sertifikata
SAN pokrivenostwww i non-www moraju biti obuhvaćeniDetalji sertifikata
Automatsko obnavljanjeSprečava katastrofe usled istekaLet's Encrypt / podešavanje provajdera

Ocena SSL-a:

100% = Važeći sertifikat + Puna lanac + TLS 1.3 + Jaki šifarnik + Automatsko obnavljanje
  0% = Istečeni ili nedostajući sertifikat

Uobičajene greške u SSL-u:

  1. Sertifikat isteče bez upozorenja — Podesite monitoring (Korak 6) najmanje 30 dana pre isteka
  2. Nepotpuni lanac sertifikata — Server mora slati međusobne sertifikate, a ne samo dužinu
  3. Mješoviti sadržaj — HTTPS stranica učitava HTTP resurse (slike, skripte, stilove)
  4. Petlje preusmeravanja — HTTP → HTTPS → HTTP ciklusi uzrokovani pogrešno konfigurisanim CDN/proxy
  5. Neusklađenost non-www i www — Sertifikat pokriva jedan, ali ne i drugi

Brza pobeda: Provedite svoju domenu kroz SSL Labs (ssllabs.com/ssltest). Sve što je ispod "A" rejtinga ima probleme koji zahtevaju delovanje. Većina provajdera hosting-a rešava ovo jednim klikom.

Sigurnosna zaglavlja

Sigurnosna zaglavlja su HTTP odgovarajući zaglavlja koja uputstava preglednike kako da se ponašaju prilikom učitavanja vašeg sajta. Ona sprečavaju čitave kategorije napada — a Googleovi roboti ih proveravaju.

Osnovna sigurnosna zaglavlja:

Politika sigurnosti sadržaja (CSP)

CSP je najmoćnije sigurnosno zaglavlje. To govori pregledačima tačno koji su resursi (skripte, stilovi, slike, fontovi) dozvoljeni za učitavanje 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 skripti između sajtova (XSS)
  • Napadi na umetanje podataka
  • Clickjacking (putem frame-ancestors)
  • Neovlašćeno izvršavanje skripti (kriptovaluti, ad-injektori)

Strategija implementacije CSP:

  1. Počnite sa Content-Security-Policy-Report-Only (prijavljuje povrede bez blokiranja)
  2. Pratite izveštaje 1-2 nedelje
  3. Dodajte legitimačne izvore na belu listu
  4. Pređite u režim primene
  5. Dodajte report-uri ili report-to za kontinuirano logovanje povreda

X-Frame-Options

Sprečava vaš sajt da bude ugrađen u iframes na drugim domenima (zaštita od clickjackinga).

X-Frame-Options: DENY

Ili, ako treba da omogućite oblikovanje iz iste domene:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

Sprečava pretraživače da "njuškanje" MIME tipa (tumačenje datoteka kao različitih tipova od onoga što je deklarisano).

X-Content-Type-Options: nosniff

Ova linija sprečava napade gde .jpg datoteka sadrži skrivene JavaScript kodove koje pregledač može izvršiti.

Referrer-Policy

Kontroliše koliko informacija o referer-u 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 iz iste domene, ali samo origin (domen) za zahteve preko domena. Balansira potrebe analitike sa privatnošću.

Permissions-Policy

Kontroliše koje funkcionalnosti pregledača (kamera, mikrofon, geolokacija itd.) mogu biti korišćene na vašem sajtu.

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

Onemogućavanje funkcionalnosti koje ne koristite sprečava zloupotrebu od strane skripti trećih strana.

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 pobeda: Dodajte svih 5 zaglavlja iznad u konfiguraciju vašeg servera. To traje 5 minuta i odmah poboljšava vašu bezbednost u bilo kojem alatu za skeniranje.

HSTS Preload

HTTP Strict Transport Security (HSTS) govori pregledačima da uvek koriste HTTPS za vašu domenu — čak i pre prvog zahteva. Bez HSTS-a, prvi poset vašem sajtu može još uvek koristiti HTTP (ranjiv na presretanje) pre nego što se desi preusmeravanje na HTTPS.

HSTS zaglavlje:

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

Tri direktive:

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

HSTS preload lista:

Ultimatna zaštita HSTS. Pregledači dolaze sa ugrađenom listom domena koje moraju uvek koristiti HTTPS. Slanjem svoje domene na hstspreload.org, to znači:

  • Posetioci prvi put dobijaju HTTPS odmah (nema HTTP → HTTPS preusmeravanja)
  • Nemoguće je za napadače da osakate veze
  • Trajno (teško je ukloniti jednom kada se dostavi)

Zahtevi za HSTS preload:

  1. Važeći HTTPS sertifikat
  2. Preusmeriti 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: Samo pošaljite na preload ako SVE vaše poddomene podržavaju HTTPS. Direktiva includeSubDomains znači da će svaka HTTP-jedina poddomena postati nedostupna.

Brza pobeda: Ako već imate HTTPS na svim poddomenama, dodajte potpuno HSTS zaglavlje i pošaljite 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 skeniranje ranjivosti proverava:

  • Zastarjeli softver: WordPress, dodaci, JavaScript biblioteke sa poznatim CVE-ima
  • Izložene datoteke: .env, .git, wp-config.php, dumpovi baza podataka
  • Curjenje informacija: Zaglavlja verzije servera, režim debagovanja, stack trace
  • Podrazumevani kredencijali: Administratorske stranice bez autentifikacije, podrazumevane lozinke
  • Otvorene portove/usluge: Nepotrebne usluge izložene internetu
  • Tačke umetanja: Forme bez CSRF zaštite, nevalidirani unosi

Uobičajene ranjivosti po platformama:

PlatformaNajveća ranjivostRešavanje
WordPressZastarjeli dodaciAutomatsko ažuriranje + WAF
ShopifyDozvole aplikacija trećih stranaRevizija liste aplikacija svaka tri meseca
Next.jsIzložene API ruteAuth middleware + ograničavanje brzine
Statički sajtoviPogrešna konfiguracija CDN-aPregled pravila keširanja
PrilagođeniSQL injekcijaParametrizovani upiti

Frekvencija skeniranja:

  • Dnevno: Automatizovano skeniranje površine (SSL, zaglavlja, izložene datoteke)
  • Nedeljno: Provera ranjivosti zavisnosti (npm audit, WordPress skener)
  • Mesečno: Duboko skeniranje sa autentifikovanim testiranjem
  • Posle svake isporuke: Provera regresije

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

Mešani sadržaj

Mešani sadržaj se dešava kada HTTPS stranica učitava resurse (slike, skripte, stilove, iframes) preko HTTP-a. Ovo delimično prekida šifrovanje i izaziva upozorenja u pregledaču.

Tipovi mešanog sadržaja:

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

Aktivni mešani sadržaj blokiraju moderni pregledači — što znači da se vaše skripte i stilovi prosto neće učitati. Pasivni mešani sadržaj se učitava, ali prikazuje sigurnosna upozorenja.

Pronalazak mešanog sadržaja:

  1. Otvorite Chrome DevTools → Konzola
  2. Potražite "Mešani sadržaj" upozorenja
  3. Alternativno, skenirajte sa crawler-om (Screaming Frog, LANGR)

Uobičajeni izvori mešanog sadržaja:

  • Hardkodirane http:// URL adrese u sadržaju (blog postovi, opisi proizvoda)
  • Vidžeti trećih strana koji učitavaju HTTP resurse
  • Ugrađeni sadržaji (stari YouTube ugrađivači, vidžeti društvenih mreža)
  • CSS background-image sa HTTP URL-ovima
  • Fontovi učitani preko HTTP-a

Popravka mešanog sadržaja:

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

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

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

Popravka 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 pobeda: Otvorite svoju početnu stranicu u Chrome-u, pritisnite F12, proverite tab Konzole za upozorenja o mešanom sadržaju. Popravite sve što se pojavi — ovo je direktno vidljivo Google-u.

Rizici skripti trećih strana

Svaka eksterna skripta koju učitate je potencijalna bezbednosna (i performansna) opasnost. Skripte trećih strana mogu:

  • Biti kompromitovane (napadi na lanac snabdevanja)
  • Praćenje vaših korisnika bez pristanka (kršenje GDPR-a)
  • Usporiti vaš sajt (blokiranje prikaza, mrežna latencija)
  • Pokvariti funkcionalnost (ažuriranja verzija, prekidi)
  • Umetati neželjeni sadržaj (skripte za oglase koje ne rade)

Revizija vaših skripti trećih strana:

SkriptaNeophodna?Stepen rizikaAlternativa
Google AnalyticsČesto daNizakPraćenje na strani servera
Chat vidžetiMoždaSrednjiRešenja koja se hostuju sama
Dugmad za deljenje na društvenim mrežamaRetkoSrednjiStatički linkovi za deljenje
A/B testiranjePonekadVisokiTestiranje na strani servera
Pixel za ponovno ciljanjePoslovna odlukaVisokiPodaci prvih strana
Font CDN-oviPraktičnoNizakFontovi koji se sami hostuju

Smanjenje rizika za bitne skripte trećih strana:

  1. Integritet podresursa (SRI): Verifikacija haša sprečava učitavanje skripti koje su prepravili
  2. <script src="https://cdn.example.com/lib.js"
            integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
            crossorigin="anonymous"></script>
  1. CSP ograničenja: Dozvolite samo skripte iz poznatih domena
  2. Sandboxovane iframe: Izoluju vidžete trećih strana
  3. Redovne revizije: Kvartalni pregled svih eksternih resursa
  4. Monitoring: Upozorenje na nove spoljne domene koji se pojavljuju na vašim stranicama

Brza pobeda: Napravite listu svih