SEO-opas Vaihe 7: Turvallisuus — Perustaso, jota Google odottaa vuonna 2026
SEO-opas Vaihe 7: Turvallisuus
- Tämä on vaihe 7 13-vaiheisessa SEO-oppaassa. Turvallisuus ei ole vain käyttäjien suojaamista — sillä on suora vaikutus hakutuloksiisi. Google on käyttänyt HTTPS:ää ranking-signaalina vuodesta 2014, ja odotukset ovat vain kasvaneet. *
Useimmat sivuston omistajat ajattelevat turvallisuutta binäärisesti: "Meillä on SSL, joten olemme turvallisia." Todellisuudessa Google arvioi kymmeniä turvallisuussignaaleja. Sivustot, joilla on asianmukaiset turvallisuusotsikot, voimassa olevat sertifikaatit ja ei sekoitettua sisältöä, ylittävät sivustot, joilla on vain perus SSL-sertifikaatti — kaikki muu ollessa tasapuolista.
Hyviä uutisia: suurin osa turvallisuuskorjauksista on kertaluonteisia määrityksiä. Aseta ne kerran, ja ne suojaavat sijoituksiasi pysyvästi.
SSL-määritys
SSL (teknisesti TLS) salaa yhteyden palvelimesi ja kävijöiden välillä. Vuodesta 2014 lähtien Google on nimenomaisesti vahvistanut HTTPS:n ranking-signaalina. Vuonna 2026 ilman HTTPS:ää ei ole vain sijoitusongelma — Chrome merkitsee HTTP-sivustot "Ei turvalliseksi" osoiterivillä, tuhoamalla käyttäjien luottamuksen.
Odotukset asianmukaiselle SSL:lle:
| Vaatimus | Miksi | Kuinka tarkistaa | |----------|-------|------------------| | Voimassa oleva sertifikaatti | Vanhentunut = selainvaroitus = käyttäjät poistuvat | Tarkista voimassaoloaika | | Täydellinen ketju | Epätäydelliset ketjut epäonnistuvat joillakin laitteilla | SSL Labs -testi | | TLS 1.2+ | Vanhemmissa versioissa on tunnettuja haavoittuvuuksia | SSL Labs -testi | | Ei SHA-1 | Poistettu käytöstä, selaimet hylkäävät sen | Sertifikaatin tiedot | | SAN-kattavuus | www- ja ei-www-alustat on molemmat katettava | Sertifikaatin tiedot | | Automaattinen uusiminen | Estää vanhenemiseen liittyvät katastrofit | Let's Encrypt / palveluntarjoajan asetukset |
SSL-pisteytys:
100% = Voimassa oleva sertifikaatti + Täydellinen ketju + TLS 1.3 + Vahva salaus + Automaattinen uusiminen
0% = Vanhenneet tai puuttuvat sertifikaatit
Yleiset SSL-virheet:
- Sertifikaatti vanhenee ilman ilmoitusta — Aseta seuranta (vaihe 6) vähintään 30 päivää ennen vanhenemista
- Epätäydellinen sertifikaattiketju — Palvelimen on lähetettävä välikomponenttisertifikaatit, ei vain lehtisertejä
- Sekoitettu sisältö — HTTPS-sivu lataa HTTP-resursseja (kuvia, skriptejä, tyylitiedostoja)
- Uudelleenohjauslenkit — HTTP → HTTPS → HTTP -syklikot, jotka johtuvat väärin konfiguroidusta CDN:stä/proxysta
- Non-www vs www -epäyhtenäisyys — Sertifikaatti kattaa toisen mutta ei toista
Nopea voitto: Suorita domainisi SSL Labsin läpi (ssllabs.com/ssltest). Kaikki, mikä on alle "A" -arvosanan, sisältää toiminnallisia ongelmia. Useimmat hosting-palveluntarjoajat korjaavat nämä yhdellä napsautuksella.
Turvallisuusotsikot
Turvallisuusotsikot ovat HTTP-vastausotsikoita, jotka ohjeistavat selaimia, miten toimia ladataessa sivustoasi. Ne estävät kokonaisia hyökkäysluokkia — ja Googlen indeksoijat tarkistavat niitä.
Keskeiset turvallisuusotsikot:
Content-Security-Policy (CSP)
CSP on tehokkain turvallisuusotsikko. Se kertoo selaimille tarkalleen, mitkä resurssit (skriptit, tyylit, kuvat, fontit) saavat ladata sivuillesi.
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';
Mitä CSP estää:
- Cross-site-skripting (XSS) -hyökkäykset
- Tietojen injektointihyökkäykset
- Clickjacking (kautta
frame-ancestors) - Luvattoman skriptin suorittaminen (kryptovaluuttojen louhintavelhot, mainosinjektorit)
CSP:n käyttöönotto strategia:
- Aloita
Content-Security-Policy-Report-Only-tilassa (kirjaa rikkomukset ilman estämistä) - Seuraa raportteja 1-2 viikon ajan
- Lisää hyväksytyt lähteet
- Siirry pakottavaan tilaan
- Lisää
report-uritaireport-tojatkuvaa rikkomusraportointia varten
X-Frame-Options
Estää sivustosi upottamisen iframeihin muilla domaineilla (clickjacking-suojaus).
X-Frame-Options: DENY
Tai jos sinun on sallittava samaan alkuperään perustuva upottaminen:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
Estää selaimia MIME-tyyppisen tunnistamisen (tiedostojen tulkitsemisen eri tyypeiksi kuin ilmoitettu).
X-Content-Type-Options: nosniff
Tämä yksi rivi estää hyökkäykset, joissa .jpg-tiedostossa on piilotettua JavaScriptiä, jota selain voi suorittaa.
Referrer-Policy
Säätelee, kuinka paljon referrer-tietoa lähetetään, kun käyttäjät napsauttavat linkkejä sivustoltasi.
Referrer-Policy: strict-origin-when-cross-origin
Tämä lähettää koko URL-osoitteen samaan alkuperään kohdistuvissa pyyntöissä, mutta vain alkuperän (domainin) ristiin kohdistuvissa pyyntöissä. Tasapainottaa analytiikan tarpeita yksityisyyden kanssa.
Permissions-Policy
Säätelee, mitkä selainominaisuudet (kamera, mikrofoni, sijainnin määritys jne.) voivat olla käytössä sivustollasi.
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
Poistamalla käytöstä ominaisuuksia, joita et käytä, estetään kolmannen osapuolen skriptejä käytöstä.
Otsikoiden toteutus-esimerkki (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' },
]
}]
}
}
Otsikoiden toteutus (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"
Otsikoiden toteutus (Nginx):
add_header X-Content-Type-Options "nosniff" aina;
add_header X-Frame-Options "SAMEORIGIN" aina;
add_header Referrer-Policy "strict-origin-when-cross-origin" aina;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" aina;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" aina;
Nopea voitto: Lisää kaikki 5 yllä olevista otsikosta palvelimen määrityksiisi. Tämä vie 5 minuuttia ja parantaa välittömästi turvallisuusasentoasi missä tahansa skannausvälineessä.
HSTS Preload
HTTP Strict Transport Security (HSTS) kertoo selaimille, että heidän on aina käytettävä HTTPS:ää domainillesi — jopa ensimmäisen pyynnön aikana. Ilman HSTS:ää ensimmäinen käynti sivustollasi voi silti käyttää HTTP:tä (haavoittuva väliintulolle) ennen kuin uudelleenohjaus HTTPS:ään tapahtuu.
HSTS-otsikko:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Kolme ohjetta:
| Ohje | Merkitys | |------|----------| | max-age=31536000 | Muista tämä 1 vuodeksi (sekunteina) | | includeSubDomains | Soveltuu myös kaikkiin alidomaineihin | | preload | Pyydä sisällyttämistä selainten preload-luetteloihin |
HSTS-preload-luettelo:
Äärimmäinen HSTS-suojaus. Selainohjelmat toimitetaan sisäänrakennetun luettelon kanssa domaineista, jotka on aina käytettävä HTTPS:ää. Domainisi lähettäminen hstspreload.org-sivustolle tarkoittaa:
- Ensikertaiset vierailijat saavat HTTPS:n heti (ei HTTP → HTTPS -uudelleenohjausta)
- Hyökkääjien on mahdotonta heikentää yhteyksiä
- Pysyvä (vaikea poistaa lähettämisen jälkeen)
HSTS-preloadin vaatimukset:
- Voimassa oleva HTTPS-sertifikaatti
- Uudelleenohjaa kaikki HTTP HTTPS:ään (mukaan lukien alidomains)
- HSTS-otsikko
max-age>= 31536000 - HSTS-otsikko sisältää
includeSubDomains - HSTS-otsikko sisältää
preload - Kaikkien alidomainien on tuettava HTTPS:ää
Varoitus: Lähetä preload vain, jos KAIKKI alidomainisi tukevat HTTPS:ää. includeSubDomains -ohje tarkoittaa, että mikä tahansa vain HTTP:llä toimiva alidomain tulee käyttökelvottomaksi.
Nopea voitto: Jos sinulla on jo HTTPS kaikilla alidomaineilla, lisää koko HSTS-otsikko ja lähetä hstspreload.org-sivustolle. Käsittely kestää muutaman viikon, mutta suojaus on pysyvä.
Haavoittuvuusskannaus
Automaattinen haavoittuvuusskannaus tunnistaa tunnettuja turvallisuusongelmia pinostasi ennen kuin hyökkääjät hyväksikäyttävät niitä.
Mitä haavoittuvuusskannaus tarkistaa:
- Päätön ohjelmisto: WordPress, liitännäiset, JavaScript-kirjastot, joissa on tunnettuja CVEitä
- Altistuneet tiedostot:
.env,.git,wp-config.php, tietokannan varmuuskopiot - Tietojen vuotaminen: Palvelimen version otsikot, virheenkorjaustila, pinojen jäljet
- Oletustunnistetiedot: Hallintasivut ilman todennusta, oletussalasanat
- Avoimet portit/palvelut: Tarpeettomat palvelut, jotka ovat altistuneita internetissä
- Injektio-pisteet: Lomakkeet ilman CSRF-suojaa, validoimattomat syötteet
Yleiset haavoittuvuudet alustoittain:
| Alusta | Suurin haavoittuvuus | Korjaus | |--------|----------------------|---------| | WordPress | Vanhenneet liitännäiset | Automaattinen päivitys + WAF | | Shopify | Kolmannen osapuolen sovellusten oikeudet | Toon sovellusten lista neljännesvuosittain | | Next.js | Altistuneet API-reitit | Todennus middleware + nopeusrajoitus | | Staattiset sivustot | CDN:n väärinkonfigurointi | Tarkista välimuistinsäännöt | | Räätälöity | SQL-injektio | Parametrisoidut kyselyt |
Skannaustiheys:
- Päivittäin: Automaattinen pinnan skannaus (SSL, otsikot, altistuneet tiedostot)
- Viikoittain: Riippuvuus-haavoittuvuuden tarkistus (npm audit, WordPress-liitännäisten skannaus)
- Kuukausittain: Syvä skannaus todennettuina testeinä
- Jokaisen julkaisemisen jälkeen: Regressiotarkistus
Nopea voitto: Suorita npm audit (Node.js) tai tarkista CMS:si liitännäisten lista vanhentuneista komponenteista. Korjaa kriittiset/korkean vakavuuden ongelmat välittömästi.
Sekoitettu sisältö
Sekoitettu sisältö tapahtuu, kun HTTPS-sivu lataa resursseja (kuvia, skriptejä, tyylitiedostoja, iframes) HTTP:n kautta. Tämä rikkoo osittain salauksen ja laukaisee selaimen varoitukset.
Sekoitettu sisältö tyypit:
| Tyyppi | Vakavuus | Esimerkki | Selaimen käyttäytyminen | |--------|----------|-----------|-------------------------| | Aktiivinen | Korkea | HTTP-skripti, iframe, CSS | Estetään oletusarvoisesti | | Passiivinen | Keskiverto | HTTP-kuva, video, ääni | Ladataan varoituksella |
Aktiivinen sekoitettu sisältö estetään nykyaikaisissa selaimissa — mikä tarkoittaa, että skriptisi ja tyylit eivät vain lataa. Passiivinen sekoitettu sisältö ladataan, mutta näyttää turvallisuusvaroituksia.
Sekoitetun sisällön löytämisessä:
- Avaa Chrome DevTools → Konsoli
- Etsi "Sekoitettu sisältö" -varoituksia
- Vaihtoehtoisesti voit skannata kävijäohjelmalla (Screaming Frog, LANGR)
Yleiset sekoitetun sisällön lähteet:
- Koodattu
http://URL-osoitteet sisällössä (blogikirjoitukset, tuotekuvaukset) - Kolmannen osapuolen widgetit, jotka lataavat HTTP-resursseja
- Upotettu sisältö (YouTuben vanhat upotukset, sosiaalisen median widgetit)
- CSS
background-imageHTTP-URL-osoitteilla - Fontit ladataan HTTP:n kautta
Sekoitettu sisällön korjaaminen:
<!-- Huono -->
<img src="http://example.com/image.jpg" />
<!-- Hyvä -->
<img src="https://example.com/image.jpg" />
<!-- Paras (protokollariippumaton, sopeutuu sivun protokollaan) -->
<img src="//example.com/image.jpg" />
Tietokannan korjaus (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');
Nopea voitto: Avaa etusivusi Chromessa, paina F12, tarkista Konsoli-välilehti sekoitetun sisällön varoituksille. Korjaa kaikki, jotka ilmestyvät — nämä ovat suoraan näkyvissä Googlelle.
Kolmannen osapuolen skriptivaarat
Jokainen ulkoinen skripti, jonka lataat, on potentiaalinen turvallisuus- (ja suorituskyvyn) riski. Kolmansien osapuolten skriptit voivat:
- Olla vaarantuneita (toimitusketjun hyökkäykset)
- Seurata käyttäjiäsi ilman suostumusta (GDPR-rikkomus)
- Hidastaa sivustoa (renderöinti-estot, verkkoviive)
- Rikkoa toiminnallisuutta (version päivitykset, katkoksena)
- Syöttää ei-toivottua sisältöä (mainosskriptit menivät pieleen)
Tarkista kolmannet osapuolen skriptisi:
| Skripti | Tarpeellinen? | Riskitaso | Vaihtoehto | |---------|---------------|-----------|------------| | Google Analytics | Usein kyllä | Matala | Server-puolen seuranta | | Keskusteluwidgetit | Ehkä | Keskiverto | Itse isännöidyt ratkaisut | | Sosiaaliset jakopainikkeet | Harvoin | Keskiverto | Staattiset jakolinkit | | A/B-testaus | Joskus | Korkea | Server-puolen testaaminen | | Uudelleen kohdistus pikselit | Liiketoimintapäätös | Korkea | Ensimmäisen osapuolen tiedot | | Fonttien CDN:t | Kätevät | Matala | Itse isännöidyt fontit |
Riskien vähentäminen olennaisille kolmannen osapuolen skripteille:
- Aliresurssien eheys (SRI): Hash-tarkistus estää muokattujen skriptien lataamisen
<script src="https://cdn.example.com/lib.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
crossorigin="anonymous"></script>
- CSP-rajoitukset: Salli vain skriptit tunnetuilta domaineilta
- Sankaroitut iframet: Eristä kolmansien osapuolten widgetit
- Säännölliset tarkastukset: Neljännesvuosittainen tarkistus kaikista ulkoisista resursseista
- Seuranta: Hälytys uusista ulkoisista domaineista, jotka näkyvät sivuillasi
Nopea voitto: Listaa jokainen -tagi HTML:ssä, joka lataa ulkoisesta domainista. Poista kaikki, joita et tunnista tai joita et enää tarvitse. Jokainen poisto parantaa sekä turvallisuutta että sivun latausnopeutta.
Haittaohjelmien tunnistaminen & Google Safe Browsing
Google ylläpitää Safe Browsing -luetteloa verkkosivustoista, jotka tunnetaan haittaohjelmien jakamisesta tai phishing-sisällön isännöimisestä. Täällä luetuksi tuleminen on katastrofaalista SEO:lle — Google näyttää täysikokoisen varoituksen ennen kuin sallii käyttäjien vierailla sivustollasi.
Kuinka sivustot merkitään:
- Vaarantunut sivusto, joka jakaa haittaohjelmia (hankittu WordPress jne.)
- Injektoidut skriptit, jotka ohjaavat haitallisiin sivustoihin
- Phishing-sivut, joita isännöidään domainillasi
- Käyttäjien tuottama sisältö, joka linkittää haittaohjelmiin
- Vaarallisiksi merkittyjen tiedostojen isännöinti
Tarkasta Safe Browsing -tilasi:
https://transparencyreport.google.com/safe-browsing/search?url=yourdomain.com
Tai Google Search Consolessa: Turvallisuusongelmat-osiossa.
Ennaltaehkäisy:
- Pidä kaikki ohjelmistot ajan tasalla (CMS, liitännäiset, kirjastot)
- Käytä vahvoja, ainutlaatuisia hallintasalasanoja + 2FA
- Seuraa tiedostojen eheyttä (tunnista luvattomat muutokset)
- Skannaa käyttäjien lataama sisältö
- Poista käyttämättömät liitännäiset/teemat
- Tarkista hallintokäyttäjät säännöllisesti
Jos sinut merkitään:
- Tunnista ja poista haittaohjelmat/phishing-sisältö
- Päivitä kaikki ohjelmistot ja vaihda kaikki salasanat
- Pyydä tarkastusta Google Search Consolessa
- Tarkastukset kestävät tyypillisesti 1-3 päivää
- Seuraa tarkasti 30 päivän ajan (uudelleen tartunta on yleistä)
Nopea voitto: Tarkista sivustosi transparencyreport.google.com-sivustolla. Jos se on puhdas, varmista, että CMS:si ja kaikki liitännäiset ovat ajan tasalla pysyäksesi puhtaana.
Turvallisuuden SEO-tarkistuslista
- [ ] Voimassa oleva SSL-sertifikaatti, jossa on automaattinen uusiminen määritetty
- [ ] HTTP → HTTPS -uudelleenohjaus kaikilla sivuilla (301, ei 302)
- [ ] HSTS-otsikko, jonka
max-age>= 31536000 - [ ] Content-Security-Policy -otsikko määritetty
- [ ] X-Content-Type-Options: nosniff
- [ ] X-Frame-Options: DENY tai SAMEORIGIN
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Permissions-Policy, joka poistaa käyttämättömät ominaisuudet
- [ ] Ei sekoitettua sisältöä (HTTP-resursseja HTTPS-sivuilla)
- [ ] Ei herkkiä tiedostoja altistuneena (.env, .git, config-tiedostot)
- [ ] Palvelimen version otsikot poistettu tai geneerisiä
- [ ] Kaikki ohjelmistot/liitännäiset ajan tasalla
- [ ] Google Safe Browsing -status: puhdas
- [ ] Kolmannen osapuolen skriptit tarkastettu ja minimoitu
- [ ] SRI-hashit kriittisissä ulkoisissa skripteissä
Yleisimmät turvallisuusvirheet (SEO-vaikutuksen mukaan)
- Vanhentunut SSL-sertifikaatti — Välitön sijoitusputoaminen + selainvaroitus
- Sekoitettu sisältö — Heikentää luottamusmerkkejä, osittainen salaus hyödytön
- Ei HSTS:ää — Ensimmäinen pyyntö haavoittuva, signaalit heikko turvallisuustaso
- Puuttuva CSP — Sallii minkä tahansa skriptin suorittamisen (XSS- vektori)
- Altistuneet herkät tiedostot —
.envAPI-avaimilla,.gitlähdekoodilla - Vanhenneet CMS/liitännäiset — Tunnetut hyökkäykset, lopulta vaarantumiset
- Ei turvallisuusotsikoita lainkaan — Signaalit, ettei turvallisuutta ole huomioitu
- Liian sallivat kolmannen osapuolen skriptit — Turvallisuusaukot, joita et voi hallita
Mitä seuraavaksi?
Vaihe 8: AI-näkyvyys — SEO:n huipputeknologia vuonna 2026. Kuinka optimoida Google AI -katsaukselle, ChatGPT-lainauksille, Perplexity-viittauksille ja Gemini:lle — nopeimman kasvavan löytökanavan, jota useimmat kilpailijat eivät ole edes miettineet.
- Tämä opas on osa LANGR:n 13-vaiheista SEO-sarjaa. Suorita ilmainen tarkastus nähdäksesi, missä tilassa sivustosi on kaikilla 13 alueella. *