Skip to main content
Back to blog

SEO Guide Steg 7: Sikkerheit — Grunnlaget Google Forventar i 2026

·11 min read·by LANGR SEO

SEO Guide Steg 7: Sikkerheit

Dette er Steg 7 av 13-Stega SEO-guiden. Sikkerheit handlar ikkje berre om å beskytte brukarar — det påverkar direkte rangeringa di. Google har brukt HTTPS som eit rangeringstegn sidan 2014, og forventningane har kun auka.


Dei fleste nettsideeigarar tenkjer på sikkerheit som eit binært spørsmål: "Vi har SSL, så vi er trygge." I verkelegheita evaluerer Google dusinvis av sikkerheitstegn. Nettsider med riktig sikkerheits-hovud, gyldige sertifikat og ingen blanding av innhald rangerer høgare enn sider med kun eit grunnleggjande SSL-sertifikat — alt anna likt.

Dei gode nyheitene: dei fleste sikkerheitsfiksar er éin-gongs konfigurasjonar. Sett dei opp ein gong, og dei vernar om rangeringa di permanent.

SSL Konfigurasjon

SSL (teknisk TLS) krypterer tilknytinga mellom serveren din og besøkande. Sidan 2014 har Google uttrykkjeleg bekrefta HTTPS som eit rangeringstegn. I 2026 er det ikkje berre eit rangeringstema å ikkje ha HTTPS — Chrome merkjer HTTP-sider som "Ikke sikker" i adressefeltet, noko som øydelegg brukartrust.

Krav til korrekt SSL:

| Krav | Kvifor | Korleis sjekke | |------|--------|----------------| | Gyldig sertifikat | Utløpt = nettlesarvarsling = brukarar forlater | Sjekk utløpsdato | | Full kjede | Incomplete kjeder feiler på enkelte einheiter | SSL Labs test | | TLS 1.2+ | Gamle versjonar har kjente sårbarheiter | SSL Labs test | | Ingen SHA-1 | Utdatert, nettlesarar avviser det | Sertifikatdetaljar | | SAN dekning | www og ikkje-www må begge dekke | Sertifikatdetaljar | | Automatisk fornying | Forhindre katastrofer ved utløp | Let's Encrypt / leverandørkonfig |

SSL poenggiving:

100% = Gyldig sertifikat + Full kjede + TLS 1.3 + Sterk krypto + Automatisk fornying
  0% = Utløpt eller manglande sertifikat

Vanlege SSL-feil:

  1. Sertifikat utløper utan varsel — Sett opp overvåking (Steg 6) minst 30 dagar før utløp
  2. Ufullstendig sertifikatkjede — Server må sende mellomliggjande sertifikat, ikkje berre det nederste
  3. Blandet innhald — HTTPS-side lastar HTTP-ressursar (bilete, skript, stilsett)
  4. Redirect-looper — HTTP → HTTPS → HTTP syklusar forårsaka av feilkonfigurert CDN/proxy
  5. Ikkje-www vs www mismatch — Sertifikatet dekker eine men ikkje den andre

Rask seier: Kjør domenet ditt gjennom SSL Labs (ssllabs.com/ssltest). Alt under ein "A" vurdering har handlingsbare problem. Dei fleste hostingleverandørar rettar dette med eitt klikk.

Sikkerheits-hovud

Sikkerheits-hovud er HTTP-respons-hovud som instruerer nettlesarar korleis dei skal oppføre seg når dei lastar nettsida di. Dei forhindrar heile kategoriar av angrep — og Google sine spidarar sjekkar for dei.

Dei essensielle sikkerheits-hovuda:

Innhalds-Sikkerheitspolitikk (CSP)

CSP er det mest kraftfulle sikkerheits-hovudet. Det fortel nettlesarar nøyaktig kva ressursar (skrift, stil, bilete, skrifttypar) som kan lastast på sidene dine.

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

Det CSP forhindrar:

  • Cross-site scripting (XSS) angrep
  • Data-injeksjonsangrep
  • Clickjacking (via frame-ancestors)
  • Uautorisert skriptutføring (kryptovaluta-minere, annonseinjektor)

CSP distribusjonsstrategi:

  1. Start med Content-Security-Policy-Report-Only (loggar brot utan å blokkere)
  2. Overvåk rapportar i 1-2 veker
  3. Lista legitime kjelder kvitt
  4. Bytt til håndheva modus
  5. Legg til report-uri eller report-to for pågåande bruddlogg

X-Frame-Options

Forhindrar at nettsida di blir embedda i iframes på andre domener (beskyttelse mot clickjacking).

X-Frame-Options: DENY

Eller om du må tillate same-opphav framing:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

Forhindrar nettlesarar frå MIME-type sniffing (tolkar filene som ulike typar enn erklært).

X-Content-Type-Options: nosniff

Denne eintlinjeskoden forhindrar angrep der ein .jpg fil inneheld skjult JavaScript som nettlesaren kan utføre.

Referrer-Policy

Kontrollerer kor mykje referrer-informasjon som blir sendt når brukarar klikkar lenker frå nettsida di.

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

Dette sender den fulle URL-en for same-opphav førespurnader, men berre opphavet (domene) for tverropphavs førespurnader. Balansere analytiske behov med personvern.

Permissions-Policy

Kontrollerer kva nettlesarfunksjonar (kamera, mikrofon, geolokalisering, osv.) som kan brukast på nettsida di.

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

Å inaktivere funksjonar du ikkje brukar forhindrar tredjeparts skript frå å utnytte dei.

Hovudimplementering eksempel (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' },
      ]
    }]
  }
}

Hovudimplementering (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"

Hovudimplementering (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;

Rask seier: Legg til alle 5 hovuda ovanfor i serverkonfigurasjonen din. Dette tar 5 minutt og forbetrar umiddelbart sikkerheitsinnstillingane dine i kvar skanneverktøy.

HSTS Preload

HTTP Strict Transport Security (HSTS) fortel nettlesarar å alltid bruke HTTPS for domenet ditt — sjølv før den første førespørselen. Uten HSTS kan det første besøket til nettsida di framleis bruke HTTP (sårbar for avlytting) før viderekoblinga til HTTPS skjer.

HSTS-hovud:

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

Dei tre direktivene:

| Direktiv | Meining | |----------|---------| | max-age=31536000 | Hugs dette i 1 år (i sekund) | | includeSubDomains | Gjelder også alle underdomener | | preload | Be om inkludering på nettlesarens preload-lister |

HSTS preload-liste:

Den ultimate HSTS-beskyttinga. Nettlesarar leveres med ei innebygd liste over domener som alltid må bruke HTTPS. Å sende inn domenet ditt til hstspreload.org betyr:

  • Første-gong besøkande får HTTPS umiddelbart (ingen HTTP → HTTPS viderekobling)
  • Umogleg for angriparar å nedgradere tilknytningar
  • Permanent (vanskeleg å fjerne når det først er sendt inn)

Krav til HSTS preload:

  1. Gyldig HTTPS-sertifikat
  2. Viderekobling av all HTTP til HTTPS (inkludert underdomener)
  3. HSTS-hovud med max-age >= 31536000
  4. HSTS-hovud inkluderer includeSubDomains
  5. HSTS-hovud inkluderer preload
  6. Alle underdomener må støtte HTTPS

Advarsel: Send berre inn til preload dersom ALLE underdomenene dine støtter HTTPS. includeSubDomains direktivet betyr at alle HTTP-berre underdomener vil bli utilgjengelege.

Rask seier: Om du allerede har HTTPS på alle underdomener, legg til det fulle HSTS-hovudet og send inn til hstspreload.org. Behandlinga tar nokre veker, men beskyttinga er permanent.

Sårbarheitskanning

Automatisert sårbarheitskanning identifiserer kjente sikkerheitsproblem i stakken din før angriparar utnyttar dei.

Hva sårbarheitskanning sjekker:

  • Utdaterte programvarer: WordPress, pluginar, JavaScript-bibliotek med kjente CVE-er
  • Uteksponerte filer: .env, .git, wp-config.php, database dump
  • Informasjonslekkasje: Server-versjons-hovud, debug-modus, stack spor
  • Standardlegitimasjonar: Adminsider utan autentisering, standard passord
  • Opne portar/tjenester: Unødige tenester uteksponert for internett
  • Injeksjons-punkter: Skjema utan CSRF-beskyttelse, uvaliderte innganger

Vanlege sårbarheiter etter plattform:

| Plattform | Toppsårbarheit | Fiks | |-----------|----------------|------| | WordPress | Utdaterte pluginar | Automatisk oppdatering + WAF | | Shopify | Tredjeparts app-rettar | Kontrollér applista kvart kvartal | | Next.js | Uteksponerte API-ruter | Autentisering middleware + hastighetsbegrensning | | Statisk sider | CDN-feilkonfigurering | Gå gjennom cache-reglar | | Tilpassa | SQL-injeksjon | Parametriserte førespurnader |

Skannefrekvens:

  • Dagleg: Automatisk overflateskanning (SSL, hovud, uteksponerte filer)
  • Kvar veke: Sjekk av avhengigheits-sårbarheit (npm audit, WordPress plugin skanner)
  • Kvar månad: Dyp skanning med autentisert testing
  • Etter kvar distribusjon: Regression sjekk

Rask seier: Kjør npm audit (Node.js) eller sjekk plugin-lista di for utdaterte komponentar. Fiks kritiske/høge alvorlegheitsgrad problem umiddelbart.

Blandet Innhald

Blandet innhald skjer når ein HTTPS-side lastar ressursar (bilete, skript, stilsett, iframes) over HTTP. Dette bryt delvis krypteringa og utløysar nettlesarvarslingar.

Typar av blandet innhald:

| Type | Alvorlegheit | Eksempel | Nettlesaroppførsel | |------|--------------|----------|---------------------| | Aktiv | Høg | HTTP skript, iframe, CSS | Blokkert som standard | | Passiv | Medium | HTTP bilete, video, lyd | Lastast med varsling |

Aktiv blanding av innhald blir blokkerte av moderne nettlesarar — noko som betyr at skripta og stilsettet dine berre ikkje vil lastast. Passiv blanding av innhald blir lasta, men viser sikkerheitsvarslingar.

Finne blanding av innhald:

  1. Open Chrome DevTools → Console
  2. Sjekk etter "Blandet innhald" varslingar
  3. Alternativt, skann med ein crawler (Screaming Frog, LANGR)

Vanlege kjelder til blandet innhald:

  • Hardkoda http:// URL-ar i innhald (blogginnlegg, produktbeskrivingar)
  • Tredjeparts-widgetar som lastar HTTP-ressursar
  • Embedda innhald (gamle YouTube-embed, sosiale media-widgetar)
  • CSS background-image med HTTP URL-ar
  • Skrifttypar lasta over HTTP

Fikse blandet innhald:

<!-- Dårleg -->
<img src="http://example.com/image.jpg" />

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

<!-- Best (protokoll-relativ, tilpassar seg sidens protokoll) -->
<img src="//example.com/image.jpg" />

Database-fix (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');

Rask seier: Open startsida di i Chrome, trykk F12, sjekk Console-fanen for varslingar om blandet innhald. Fiks eventuelle varslingar som dukkar opp — desse er direkte synlege for Google.

Risikoen med Tredjeparts Skript

Kva som helst eksternt skript du lastar er ein potensiell sikkerheits- (og ytelses-) risiko. Tredjeparts skript kan:

  • Bli kompromitterte (forsyningskjedeangrep)
  • Spore brukarar dine utan samtykke (GDPR-brot)
  • Sørge for at nettsida di blir treg (render-blokkerande, nettverkslatens)
  • Bryte funksjonalitet (versjonsoppdateringar, nedetid)
  • Injisere uønskt innhald (annonse-skript som mislykkas)

Revisjon av tredjeparts skript:

| Skript | Nødvendig? | Risiko-nivå | Alternativ | |--------|-----------|-------------|------------| | Google Analytics | Oftast ja | Lav | Server-side tracking | | Chat-widgetar | Kanskje | Medium | Selvhosta løysingar | | Sosiale deleknappar | Sjelden | Medium | Statisk delingslenker | | A/B testing | Av og til | Høg | Server-side testing | | Retargeting pixels | Forretningsbeslutning | Høg | Førstepartsdata | | Skrifttypar CDNs | Praktisk | Lav | Selvhosta skrifttypar |

Risiko-mitigeringsstrategiar for nødvendige tredjeparts skript:

  1. Subresource Integrity (SRI): Hash-verifikasjon forhindrar at tamperte skript lastar
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
        crossorigin="anonymous"></script>
  1. CSP-restriksjonar: Tillat berre skript frå kjente domener
  2. Sandkassa iframes: Isoler tredjeparts-widgetar
  3. Regelmessige revisjonar: Kvart kvartal gjennomgang av alle eksterne ressursar
  4. Overvåking: Varsel om nye eksterne domener som dukkar opp på sidene dine

Rask seier: Lista opp kvar