Skip to main content
Back to blog

SEO Príručka Krok 7: Bezpečnosť — Základný štandard, ktorý Google očakáva v roku 2026

·11 min read·by LANGR SEO

SEO Príručka Krok 7: Bezpečnosť

Toto je Krok 7 z 13-krokovej SEO príručky. Bezpečnosť nie je len o ochrane používateľov — ovplyvňuje tiež vaše vyhľadávacie pozície. Google používa HTTPS ako signál pre hodnotenie od roku 2014 a očakávania sa len zvýšili.


Väčšina vlastníkov stránok vníma bezpečnosť ako binárnu záležitosť: "Máme SSL, takže sme bezpeční." V skutočnosti Google hodnotí desiatky signálov bezpečnosti. Stránky s riadnymi bezpečnostnými hlavičkami, platnými certifikátmi a bez zmiešaného obsahu prekonávajú stránky s len základným SSL certifikátom — za rovnakých podmienok.

Dobrou správou je, že väčšina opráv bezpečnosti sú jednorazové konfigurácie. Nastavte ich raz a ochránite svoje pozície natrvalo.

Konfigurácia SSL

SSL (technicky TLS) šifruje pripojenie medzi vaším serverom a návštevníkmi. Od roku 2014 Google výslovne potvrdil HTTPS ako signál pre hodnotenie. V roku 2026, nemanie HTTPS nie je len problémom s hodnotením — Chrome označuje HTTP stránky ako "Nie je zabezpečená" v adresnom riadku, čím narúša dôveru používateľov.

Požiadavky na správne SSL:

| Požiadavka | Prečo | Ako skontrolovať | |------------|-------|------------------| | Platný certifikát | Vypršaný = varovanie prehliadača = odchod používateľov | Skontrolujte dátum vypršania | | Celý reťazec | Neúplné reťazce nezobrazujú na niektorých zariadeniach | Test SSL Labs | | TLS 1.2+ | Staršie verzie majú známe zraniteľnosti | Test SSL Labs | | Žiadny SHA-1 | Zastarané, prehliadače to odmietajú | Detaily certifikátu | | SAN pokrytie | www a non-www musia byť pokryté | Detaily certifikátu | | Automatické obnovovanie | Zabraňuje katastrofám pri vypršaní | Nastavenie Let's Encrypt / poskytovateľa |

Hodnotenie SSL:

100% = Platný cert + Celý reťazec + TLS 1.3 + Silný algoritmus + Automatické obnovovanie
  0% = Vypršaný alebo chýbajúci certifikát

Bežné chyby SSL:

  1. Certifikát vyprší bez upozornenia — Nastavte monitoring (Krok 6) minimálne 30 dní pred vypršaním
  2. Neúplný reťazec certifikátu — Server musí posielať medzicertifikáty, nie len listový certifikát
  3. Zmiešaný obsah — HTTPS stránka načítava HTTP zdroje (obrázky, skripty, štýly)
  4. Cyklus presmerovania — HTTP → HTTPS → HTTP cykly spôsobené nesprávne nakonfigurovaným CDN/proxy
  5. Nesúlad non-www a www — Certifikát pokrýva jeden, ale nie druhý

Rýchle víťazstvo: Spustite svoju doménu cez SSL Labs (ssllabs.com/ssltest). Čokoľvek pod hodnotením "A" má realizovateľné problémy. Väčšina poskytovateľov hostingu tieto problémy opraví jedným kliknutím.

Bezpečnostné hlavičky

Bezpečnostné hlavičky sú HTTP odpovedné hlavičky, ktoré inštruujú prehliadače, ako sa správať pri načítavaní vašej stránky. Zabraňujú celým kategóriám útokov — a Google a jeho crawleri ich kontrolujú.

Základné bezpečnostné hlavičky:

Content-Security-Policy (CSP)

CSP je najvýkonnejšia bezpečnostná hlavička. Umožňuje prehliadačom presne vedieť, ktoré zdroje (skripty, štýly, obrázky, fonty) sú povolené na načítanie na vašich stránkach.

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

Čo CSP zabraňuje:

  • Útoky na skriptovanie medzi stránkami (XSS)
  • Útoky na injekciu údajov
  • Clickjacking (cez frame-ancestors)
  • Neoprávnené spúšťanie skriptov (kryptomanéri, injektory reklám)

Stratégia nasadenia CSP:

  1. Začnite s Content-Security-Policy-Report-Only (posiela porušovania bez blokovania)
  2. Monitorujte správy po dobu 1-2 týždňov
  3. Whitelistujte legitímne zdroje
  4. Prepnite na vynúcovací režim
  5. Pridajte report-uri alebo report-to na priebežné zaznamenávanie porušení

X-Frame-Options

Zabraňuje vašej stránke byť vloženou do iframes na iných doménach (ochrana proti clickjackingu).

X-Frame-Options: DENY

Ale ak potrebujete povoliť rámcovanie z rovnakého pôvodu:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

Zabraňuje prehliadačom v sniffovaní MIME typov (interpretácie súborov ako iných typov, než sú deklarované).

X-Content-Type-Options: nosniff

Tento krátky kód zabraňuje útokom, kde súbor .jpg obsahuje skrytý JavaScript, ktorý môže prehliadač vykonať.

Referrer-Policy

Kontroluje, koľko informácií o refererovi sa posiela, keď používateľ klikne na odkazy z vašej stránky.

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

Toto posiela celú URL pre požiadavky z rovnakého pôvodu, ale len pôvod (doménu) pre požiadavky z iného pôvodu. Vyváži potreby analýzy s ochranou súkromia.

Permissions-Policy

Kontroluje, ktoré funkcie prehliadača (kamera, mikrofón, geolokácia atď.) môžu byť použité na vašej stránke.

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

Vypnutie funkcií, ktoré nepoužívate, zabraňuje zneužívaniu tretími stranami.

Príklad implementácie hlavičiek (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' },
      ]
    }]
  }
}

Implementácia hlavičiek (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"

Implementácia hlavičiek (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;

Rýchle víťazstvo: Pridajte všetkých 5 uvedených hlavičiek do svojej serverovej konfigurácie. To zaberie 5 minút a okamžite zlepší vašu bezpečnostnú pozíciu v akomkoľvek skenovacom nástroji.

HSTS Preload

HTTP Strict Transport Security (HSTS) hovorí prehliadačom, aby vždy používali HTTPS pre vašu doménu — dokonca aj pred prvou požiadavkou. Bez HSTS môže byť prvá návšteva vašej stránky stále cez HTTP (vulnerabilné voči odpočúvaniu) pred presmerovaním na HTTPS.

HSTS hlavička:

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

Tri direktívy:

| Direktíva | Význam | |-----------|--------| | max-age=31536000 | Pamätaj si to na 1 rok (v sekundách) | | includeSubDomains | Platí aj pre všetky subdomény | | preload | Požiadavka na zaradenie do preloaderových zoznamov prehliadača |

Zoznam HSTS preload:

Ultimátna HSTS ochrana. Prehliadače dodávajú so zabudovaným zoznamom domén, ktoré musia vždy používať HTTPS. Odoslanie vašej domény na hstspreload.org znamená:

  • Návštevníci pri prvej návšteve dostanú HTTPS okamžite (žiadne HTTP → HTTPS presmerovanie)
  • Útočníci nemajú šancu na zníženie spojenia
  • Trvalé (ťažké odstrániť po odoslaní)

Požiadavky na HSTS preload:

  1. Platný HTTPS certifikát
  2. Presmerujte všetky HTTP na HTTPS (vrátane subdomén)
  3. HSTS hlavička s max-age >= 31536000
  4. HSTS hlavička obsahuje includeSubDomains
  5. HSTS hlavička obsahuje preload
  6. Všetky subdomény musia podporovať HTTPS

Varovanie: Odošlite na preload iba v prípade, ak VŠETKY vaše subdomény podporujú HTTPS. Direktiv includeSubDomains znamená, že akákoľvek subdoména len s HTTP sa stane neprístupnou.

Rýchle víťazstvo: Ak už máte HTTPS na všetkých subdoménach, pridajte plnú HSTS hlavičku a odošlite na hstspreload.org. Spracovanie trvá niekoľko týždňov, ale ochrana je trvalá.

Skenovanie zraniteľností

Automatizované skenovanie zraniteľností identifikuje známe bezpečnostné problémy vo vašej infraštruktúre skôr, než ich útočníci zneužijú.

Čo skenovanie zraniteľností kontroluje:

  • Zastaralý softvér: WordPress, pluginy, JavaScript knižnice so známymi CVE
  • Odhalené súbory: .env, .git, wp-config.php, výpisy databáz
  • Únik informácií: Hlavičky verzie servera, debug mód, zásobníky chýb
  • Predvolené poverenia: Administrátorské stránky bez autentifikácie, predvolené heslá
  • Otvorené porty/služby: Nepotrebné služby odhalené na internete
  • Injekčné body: Formuláre bez ochrany CSRF, nevalidované vstupy

Bežné zraniteľnosti podľa platformy:

| Platforma | Hlavná zraniteľnosť | Oprava | |-----------|---------------------|--------| | WordPress | Zastaralé pluginy | Automatické aktualizácie + WAF | | Shopify | Povolenia aplikácií tretích strán | Kontrola zoznamu aplikácií štvrťročne | | Next.js | Odhalené API trasy | Auth middleware + obmedzenie rýchlosti | | Statické stránky | Nesprávna konfigurácia CDN | Preskúmajte pravidlá vyrovnávacej pamäte | | Vlastné | SQL injekcia | Parametrické dotazy |

Frekvencia skenovania:

  • Denne: Automatizované skenovanie povrchu (SSL, hlavičky, odhalené súbory)
  • Týždenne: Kontrola zraniteľnosti závislostí (npm audit, skener pluginov WordPress)
  • Mesačne: Hlboké skenovanie s autentifikovaným testovaním
  • Po každom nasadení: Regresná kontrola

Rýchle víťazstvo: Spustite npm audit (Node.js) alebo skontrolujte zoznam pluginov CMS na zastarané komponenty. Kritické/vysoko závažné problémy opravte okamžite.

Zmiešaný obsah

Zmiešaný obsah sa vyskytuje, keď stránka HTTPS načítava zdroje (obrázky, skripty, štýly, iframes) cez HTTP. To čiastočne narúša šifrovanie a spúšťa varovania prehliadača.

Typy zmiešaného obsahu:

| Typ | Závažnosť | Príklad | Správanie prehliadača | |-----|-----------|---------|-----------------------| | Aktívny | Vysoký | HTTP skript, iframe, CSS | Predvolene zablokovaný | | Pasívny | Stredný | HTTP obrázok, video, zvuk | Načítaný s varovaním |

Aktívny zmiešaný obsah je blokovaný modernými prehliadačmi — čo znamená, že vaše skripty a štýly sa jednoducho nenačítajú. Pasívny zmiešaný obsah sa načíta, ale zobrazuje bezpečnostné varovania.

Nájdenie zmiešaného obsahu:

  1. Otvorte Chrome DevTools → Konzola
  2. Hľadajte varovania "Zmiešaný obsah"
  3. Alternatívne skontrolujte pomocou crawlera (Screaming Frog, LANGR)

Bežné zdroje zmiešaného obsahu:

  • Tvrdé kódované http:// URL v obsahu (blogové príspevky, popisy produktov)
  • Widgety tretích strán načítavajúce HTTP zdroje
  • Vložený obsah (staré vloženia YouTube, widgety sociálnych médií)
  • CSS background-image s HTTP URL
  • Fonty načítané cez HTTP

Oprava zmiešaného obsahu:

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

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

<!-- Najlepšie (protokolovo relatívne, prispôsobuje sa protokolu stránky) -->
<img src="//example.com/image.jpg" />

Oprava databázy (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');

Rýchle víťazstvo: Otvorte svoju domovskú stránku v Chrome, stlačte F12, skontrolujte kartu Konzola pre varovania zo zmiešaného obsahu. Opravte akékoľvek, ktoré sa objavia — tieto sú priamo viditeľné pre Google.

Riziká skriptov tretích strán

Každý externý skript, ktorý načítate, predstavuje potenciálnu bezpečnostnú (a výkonnostnú) hrozbu. Skripty tretích strán môžu:

  • Byť kompromitované (útoky na dodávateľský reťazec)
  • Sledovať vašich používateľov bez súhlasu (porušenie GDPR)
  • Spomaliť vašu stránku (blokovanie vykreslenia, sieťová latencia)
  • Narúšať funkčnosť (aktualizácie verzií, výpadky)
  • Injektovať nechcený obsah (nefungujúce reklamné skripty)

Auditujte svoje skripty tretích strán:

| Skript | Nevyhnutný? | Úroveň rizika | Alternatíva | |--------|-------------|---------------|-------------| | Google Analytics | Často áno | Nízke | Sledovanie zo servera | | Widgety chatu | Možno | Stredné | Samo-hostované riešenia | | Tlačidlá na zdieľanie | Zriedka | Stredné | Statické zdieľacie odkazy | | A/B testovanie | Niekedy | Vysoké | Testovanie na serveri | | Retargeting pixely | Rozhodnutie firmy | Vysoké | Údaje prvej strany | | Fonty CDNs | Pohodlné | Nízke | Samosťané fonty |

Zmiernenie rizika pre nevyhnutné skripty tretích strán:

  1. Integrita podreťazcov (SRI): Hashová overenie zabraňuje načítavaniu pozmenených skriptov
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
        crossorigin="anonymous"></script>
  1. Obmedzenia CSP: Umožnite len skripty z známych domén
  2. Izolované iframes: Izolujte widgety tretích strán
  3. Pravidelné audity: Štvrťročný prehľad všetkých externých zdrojov
  4. Monitoring: Upozorniť na nové externé domény objavujúce sa v vašich stránkach

Rýchle víťazstvo: Zaznamenajte každý