SEO Průvodce Krok 7: Bezpečnost — Základní standard, který Google očekává v roce 2026
SEO Průvodce Krok 7: Bezpečnost
Tohoto krok je součástí 13-krokového SEO průvodce. Bezpečnost není jen o ochraně uživatelů — přímo ovlivňuje vaše pozice ve vyhledávání. Google používá HTTPS jako signál pro hodnocení od roku 2014 a očekávání stále rostou.
Většina majitelů stránek se na bezpečnost dívá jako na binární otázku: "Máme SSL, takže jsme v bezpečí." Ve skutečnosti Google hodnotí desítky bezpečnostních signálů. Stránky s odpovídajícími bezpečnostními hlavičkami, platnými certifikáty a bez smíšeného obsahu mají lepší pozice než stránky s pouze základním SSL certifikátem — za stejných podmínek.
Dobrou zprávou je, že většina bezpečnostních oprav jsou jednorázové konfigurace. Nastavte je jednou a navždy ochrání vaše hodnocení.
Konfigurace SSL
SSL (technicky TLS) šifruje spojení mezi vaším serverem a návštěvníky. Od roku 2014 Google jasně potvrdil HTTPS jako signál pro hodnocení. V roce 2026, nemít HTTPS není jen problém hodnocení — Chrome označuje HTTP stránky jako "Není zabezpečeno" v adresním řádku, čímž narušuje důvěru uživatelů.
Požadavky na správné SSL:
| Požadavek | Proč | Jak zkontrolovat | |-----------|------|------------------| | Platný certifikát | Expirace = varování prohlížeče = odchozí uživatelé | Zkontrolovat datum expirace | | Úplný řetězec | Neúplné řetězce selhávají na některých zařízeních | Test SSL Labs | | TLS 1.2+ | Starší verze mají známé zranitelnosti | Test SSL Labs | | Žádný SHA-1 | Zastaralé, prohlížeče je odmítají | Podrobnosti certifikátu | | Pokrytí SAN | www a non-www musí být oba pokryty | Podrobnosti certifikátu | | Automatické obnovení | Zabrání katastrofám při expiraci | Konfigurace Let's Encrypt / poskytovatele |
Hodnocení SSL:
100% = Platný certifikát + Úplný řetězec + TLS 1.3 + Silný šifrovací algoritmus + Automatické obnovení
0% = Expirace nebo chybějící certifikát
Běžné chyby SSL:
- Certifikát expiruje bez upozornění — Nastavte monitorování (Krok 6) minimálně 30 dní před expirací
- Neúplný certifikátový řetězec — Server musí odesílat mezilehlé certifikáty, ne jen list
- Smíšený obsah — HTTPS stránka načítá HTTP zdroje (obrázky, skripty, styly)
- Cyklus přesměrování — HTTP → HTTPS → HTTP cykly způsobené špatně nakonfigurovaným CDN/proxy
- Nesoulad non-www vs www — Certifikát pokrývá jednu, ale ne druhou
Rychlé vítězství: Proveďte test své domény v SSL Labs (ssllabs.com/ssltest). Cokoli pod hodnocením "A" má řešitelné problémy. Většina poskytovatelů hostingu tyto problémy opraví jedním kliknutím.
Bezpečnostní hlavičky
Bezpečnostní hlavičky jsou HTTP odpovědní hlavičky, které instrukují prohlížeče, jak se chovat při načítání vaší stránky. Zabraňují celým kategoriím útoků — a Google je kontroluje.
Základní bezpečnostní hlavičky:
Content-Security-Policy (CSP)
CSP je nejsilnější bezpečnostní hlavička. Říká prohlížečům, které zdroje (skripty, styly, obrázky, písma) jsou povoleny na vašich stránkách.
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';
Co CSP zabraňuje:
- Útoky cross-site scripting (XSS)
- Útoky na injekci dat
- Clickjacking (pomocí
frame-ancestors) - Neautorizované provedení skriptů (kryptoměnoví těžaři, injektory reklam)
Strategie nasazení CSP:
- Začněte s
Content-Security-Policy-Report-Only(logy porušení bez blokování) - Monitorujte zprávy po dobu 1-2 týdnů
- Přidejte legitimní zdroje do whitelistu
- Přepněte do vynucovacího režimu
- Přidejte
report-urineboreport-topro pokračující logování porušení
X-Frame-Options
Zabraňuje vaší stránce být zařazena do iframe na jiných doménách (ochrana proti clickjacking).
X-Frame-Options: DENY
Nebo pokud potřebujete povolit rámování stejného původu:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
Zabraňuje prohlížečům ve sniffování typu MIME (interpretace souborů jako jiných typů, než jsou deklarovány).
X-Content-Type-Options: nosniff
Tento jednoduchý řádek zabraňuje útokům, kde soubor .jpg obsahuje skrytý JavaScript, který by mohl být prohlížečem proveden.
Referrer-Policy
Řídí, kolik informací o refererovi je odesíláno, když uživatelé kliknou na odkazy z vaší stránky.
Referrer-Policy: strict-origin-when-cross-origin
Toto odesílá celou URL pro požadavky stejného původu, ale pouze původ (doména) pro požadavky z jiného původu. Balancuje analytické potřeby s ochranou soukromí.
Permissions-Policy
Řídí, které funkce prohlížeče (kamera, mikrofon, geolokace atd.) mohou být použity na vaší stránce.
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
Zakázání funkcí, které nepoužíváte, zabraňuje třetím stranám v jejich zneužívání.
Příklad implementace hlaviček (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' },
]
}]
}
}
Implementace hlaviček (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"
Implementace hlaviček (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;
Rychlé vítězství: Přidejte všechny výše uvedené 5 hlaviček do vaší serverové konfigurace. To zabere 5 minut a okamžitě zlepší váš bezpečnostní postoj v jakémkoliv skenovacím nástroji.
HSTS Preload
HTTP Strict Transport Security (HSTS) říká prohlížečům, aby vždy používaly HTTPS pro vaši doménu — ještě před prvním požadavkem. Bez HSTS může první návštěva vaší stránky stále používat HTTP (zranitelné vůči odposlechu) před přesměrováním na HTTPS.
HSTS hlavička:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Tři direktivy:
| Direktiva | Význam | |-----------|--------| | max-age=31536000 | Pamatujte si to po dobu 1 roku (v sekundách) | | includeSubDomains | Platí také pro všechny subdomény | | preload | Požádejte o zařazení do preload seznamů prohlížeče |
HSTS preload seznam:
Nejvyšší ochrana HSTS. Prohlížeče mají vestavěný seznam domén, které musí vždy používat HTTPS. Odeslat svou doménu na hstspreload.org znamená:
- První návštěvníci získají HTTPS ihned (žádné HTTP → HTTPS přesměrování)
- Útočníkům je znemožněno snižovat úroveň spojení
- Trvalé (těžké odstranit po odeslání)
Požadavky pro HSTS preload:
- Platný HTTPS certifikát
- Přesměrování všeho HTTP na HTTPS (včetně subdomén)
- HSTS hlavička s
max-age>= 31536000 - HSTS hlavička zahrnuje
includeSubDomains - HSTS hlavička zahrnuje
preload - Všechny subdomény musí podporovat HTTPS
Upozornění: Odesílejte na preload pouze pokud VŠECHNY vaše subdomény podporují HTTPS. Direktiva includeSubDomains znamená, že jakákoli subdoména pouze s HTTP se stane nedostupnou.
Rychlé vítězství: Pokud již máte HTTPS na všech subdoménách, přidejte plnou HSTS hlavičku a odešlete ji na hstspreload.org. Zpracování trvá několik týdnů, ale ochrana je trvalá.
Skenování zranitelností
Automatizované skenování zranitelností identifikuje známé bezpečnostní problémy ve vašem stacku předtím, než je útočníci zneužijí.
Co skenování zranitelností kontroluje:
- Zastaralý software: WordPress, pluginy, JavaScriptové knihovny se známými CVE
- Odkryté soubory:
.env,.git,wp-config.php, výpisy databáze - Únik informací: Hlavičky verze serveru, režim ladění, stopy zásobníku
- Defaultní pověření: Administrátorské stránky bez autentizace, defaultní hesla
- Otevřené porty/služby: Nepotřebné služby vystavené internetu
- Bodové injekce: Formuláře bez CSRF ochrany, neověřené vstupy
Běžné zranitelnosti podle platformy:
| Platforma | Hlavní zranitelnost | Oprava | |-----------|----------------------|--------| | WordPress | Zastaralé pluginy | Automatické aktualizace + WAF | | Shopify | Povolení aplikací třetích stran | Revize seznamu aplikací čtvrtletně | | Next.js | Odkryté API trasy | Middleware pro autentizaci + limitování rychlosti | | Statické stránky | Nesprávná konfigurace CDN | Revize pravidel cachování | | Vlastní | SQL injekce | Parametrizované dotazy |
Frekvence skenování:
- Denně: Automatizované povrchové skenování (SSL, hlavičky, odkryté soubory)
- Týdně: Kontrola zranitelností závislostí (npm audit, skener pluginů WordPress)
- Měsíčně: Hluboké skenování s autentizovaným testováním
- Po každém nasazení: Kontrola regresí
Rychlé vítězství: Spusťte npm audit (Node.js) nebo zkontrolujte svůj seznam pluginů CMS na zastaralé komponenty. Okamžitě opravte problémy kritické/vysoké závažnosti.
Smíšený obsah
Smíšený obsah se vyskytuje, když stránka HTTPS načítá zdroje (obrázky, skripty, styly, iframe) přes HTTP. To částečně narušuje šifrování a spouští varování prohlížeče.
Typy smíšeného obsahu:
| Typ | Závažnost | Příklad | Chování prohlížeče | |-----|-----------|---------|---------------------| | Aktivní | Vysoké | HTTP skript, iframe, CSS | Ve výchozím nastavení blokováno | | Pasivní | Střední | HTTP obrázek, video, audio | Načítáno s varováním |
Aktivní smíšený obsah je blokován moderními prohlížeči — což znamená, že vaše skripty a styly se jednoduše nenačtou. Pasivní smíšený obsah se načítá, ale zobrazuje bezpečnostní varování.
Jak najít smíšený obsah:
- Otevřete Chrome DevTools → Konzole
- Hledejte varování "Smíšený obsah"
- Alternativně, skenovat pomocí crawlera (Screaming Frog, LANGR)
Běžné zdroje smíšeného obsahu:
- Hardcoded
http://URL v obsahu (příspěvky na blogu, popisy produktů) - Widgety třetích stran načítající HTTP zdroje
- Vložený obsah (staré vložení YouTube, widgety sociálních médií)
- CSS
background-images HTTP URL - Písma načítaná přes HTTP
Oprava smíšeného obsahu:
<!-- Špatně -->
<img src="http://example.com/image.jpg" />
<!-- Dobře -->
<img src="https://example.com/image.jpg" />
<!-- Nejlépe (protokolově relativní, přizpůsobí se protokolu stránky) -->
<img src="//example.com/image.jpg" />
Oprava databáze (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');
Rychlé vítězství: Otevřete svou domovskou stránku v Chrome, stiskněte F12, zkontrolujte záložku Konzole na varování o smíšeném obsahu. Opravit jakákoliv, která se objeví — tyto jsou přímo viditelné Googlu.
Rizika třetích stran
Každý externí skript, který načítáte, je potenciální bezpečnostní (a výkonová) zátěž. Skripty třetích stran mohou:
- Být kompromitovány (útoky na dodavatelský řetězec)
- Sledovat vaše uživatele bez souhlasu (porušení GDPR)
- Zpomalit váš web (blokování renderování, latence v síti)
- Rozbít funkčnost (aktualizace verzí, výpadky)
- Vložit nežádoucí obsah (nepovedené skripty reklam)
Auditorujte své skripty třetích stran:
| Skript | Nezbytný? | Úroveň rizika | Alternativa | |--------|-----------|---------------|-------------| | Google Analytics | Často ano | Nízké | Sledování na serveru | | Chatové widgety | Možná | Střední | Samostatná řešení | | Tlačítka pro sdílení na sociálních sítích | Zřídka | Střední | Statické odkazy na sdílení | | A/B testování | Někdy | Vysoké | Testování na serveru | | Retargetingové pixely | Obchodní rozhodnutí | Vysoké | Data první strany | | Fontové CDN | Pohodlné | Nízké | Samostatné fonty |
Mitigace rizika pro nezbytné skripty třetích stran:
- Integrita podřízených zdrojů (SRI): Ověření hash zabraňuje načítání zmanipulovaných skriptů
<script src="https://cdn.example.com/lib.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
crossorigin="anonymous"></script>
- Omezení CSP: Povolit pouze skripty z známých domén
- Sandboxované iframes: Izolujte widgety třetích stran
- Pravidelné audity: Čtvrtletní revize všech externích zdrojů
- Monitoring: Upozornění na nové externí domény, které se objevují na vašich stránkách
Rychlé vítězství: Seznamte se s každým tagem ve vašem HTML, který se načítá z externí domény. Odeberte jakékoli, které nepoznáváte nebo již nepotřebujete. Každé odstranění zlepšuje jak bezpečnost, tak rychlost stránky.
Detekce malwaru & Google Safe Browsing
Google udržuje seznam Safe Browsing webových stránek, které jsou známé tím, že distribuují malware nebo hostují phishingový obsah. Být na tomto seznamu je katastrofální pro SEO — Google zobrazuje varování na celé stránce před tím, než uživatelům umožní navštívit vaši stránku.
Jak se webové stránky označují:
- Kompromitovaná stránka distribuující malware (např. hacknutý WordPress)
- Vložené skripty přesměrovávající na škodlivé stránky
- Phishingové stránky hostované na vaší doméně
- Uživatelé generovaný obsah odkazující na malware
- Hostování souborů označených jako nebezpečné
Kontrola vašeho stavu v Safe Browsing:
https://transparencyreport.google.com/safe-browsing/search?url=yourdomain.com
Nebo v Google Search Console: sekce Bezpečnostní problémy.
Prevence:
- Udržujte veškerý software aktualizovaný (CMS, pluginy, knihovny)
- Používejte silná, unikátní admin hesla + 2FA
- Monitorujte integritu souborů (detekce neoprávněných změn)
- Skenujte obsah nahraný uživateli
- Odstraňte nepoužívané pluginy/šablony
- Pravidelně revidujte administrátory
Pokud vás označí:
- Zjistěte a odstraňte malware/phishingový obsah
- Aktualizujte veškerý software a změňte všechna hesla
- Požádejte o revizi v Google Search Console
- Revize obvykle trvá 1-3 dny
- Pečlivě monitorujte 30 dní (reinfiltrace je běžná)
Rychlé vítězství: Zkontrolujte svůj web na transparencyreport.google.com. Pokud je čistý, ujistěte se, že váš CMS a všechny pluginy jsou aktuální, aby to tak zůstalo.
Kontrolní seznam bezpečnosti SEO
- [ ] Platný SSL certifikát s nastaveným automatickým obnovováním
- [ ] Přesměrování HTTP → HTTPS na všech stránkách (301, nikoli 302)
- [ ] HSTS hlavička s max-age >= 31536000
- [ ] Hlavička Content-Security-Policy nakonfigurována
- [ ] X-Content-Type-Options: nosniff
- [ ] X-Frame-Options: DENY nebo SAMEORIGIN
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Permissions-Policy zakazující nepoužívané funkce
- [ ] Žádný smíšený obsah (HTTP zdroje na HTTPS stránkách)
- [ ] Žádné citlivé soubory neodkryté (.env, .git, konfigurační soubory)
- [ ] Hlavičky verze serveru odstraněny nebo generické
- [ ] Všechen software/pluginy aktuální
- [ ] Stav Google Safe Browsing: čistý
- [ ] Skripty třetích stran auditoriovány a minimalizovány
- [ ] SRI hashe na kritických externích skriptech
Běžné chyby v bezpečnosti (Seřazeno podle dopadu na SEO)
- Expirace SSL certifikátu — Okamžitý pokles hodnocení + varování prohlížeče
- Smíšený obsah — Snižuje signály důvěry, částečná šifrování k ničemu
- Žádné HSTS — první požadavek zranitelný, signály slabého bezpečnostního postoje
- Chybějící CSP — Umožňuje jakýkoli skript se provést (XSS vektor)
- Odkryté citlivé soubory —
.envs API klíči,.gitse zdrojovým kódem - Zastaralý CMS/pluginy — Známé exploity, nakonec kompromitace
- Žádné bezpečnostní hlavičky vůbec — Signály, že jste nezvažovali bezpečnost
- Příliš povolující skripty třetích stran — Bezpečnostní otvory, které nemůžete kontrolovat
Co dál?
Krok 8: Viditelnost AI — Nejmodernější SEO v roce 2026. Jak optimalizovat pro Google AI Overview, citace ChatGPT, odkazy na Perplexity a Gemini — nejrychleji rostoucí kanál objevování, o kterém většina konkurentů ani neuvažovala.
Tento průvodce je součástí 13-krokové SEO série LANGR. Proveďte zdarma audit, abyste zjistili, jak na tom vaše stránka stojí napříč všemi 13 disciplínami.