Skip to main content
Tillbaka till bloggen

SEO Guide Steg 7: Säkerhet — Grundnivån Google Förväntar sig 2026

·11 min lästid·av LANGR SEO

SEO Guide Steg 7: Säkerhet

Detta är Steg 7 av 13-stegs SEO-guiden. Säkerhet handlar inte bara om att skydda användare — det påverkar direkt dina sökrankningar. Google har använt HTTPS som en rankningssignal sedan 2014, och förväntningarna har endast ökat.


De flesta webbplatsägare ser på säkerhet som en binär fråga: "Vi har SSL, så vi är säkra." I verkligheten utvärderar Google dussintals säkerhetssignaler. Webbplatser med korrekt säkerhetsrubriker, giltiga certifikat och inget blandat innehåll rankas högre än webbplatser med bara ett grundläggande SSL-certifikat — allt annat lika.

Den goda nyheten: de flesta säkerhetsåtgärder är engångskonfigurationer. Ställ in dem en gång, så skyddar de dina rankningar permanent.

SSL-konfiguration

SSL (tekniskt sett TLS) krypterar anslutningen mellan din server och besökare. Sedan 2014 har Google uttryckligen bekräftat HTTPS som en rankningssignal. År 2026 är avsaknaden av HTTPS inte bara ett rankningsproblem — Chrome markerar HTTP-webbplatser som "Inte säker" i adressfältet, vilket fördärvar användarnas förtroende.

Krav för korrekt SSL:

| Krav | Varför | Hur man kontrollerar | |-------------|-----|--------------| | Giltigt certifikat | Utgånget = webbläsarvarning = studsbeteende hos användare | Kontrollera utgångsdatum | | Full kedja | Ofullständiga kedjor misslyckas på vissa enheter | SSL Labs-test | | TLS 1.2+ | Äldre versioner har kända sårbarheter | SSL Labs-test | | Ingen SHA-1 | Uråldrig, webbläsare avvisar den | Certifikatsdetaljer | | SAN-täckning | www och icke-www måste båda omfattas | Certifikatsdetaljer | | Automatisk förnyelse | Förhindrar utgångskatastrofer | Let's Encrypt / leverantörskonfiguration |

SSL-poängsättning:

100% = Giltigt cert + Full kedja + TLS 1.3 + Stark kryptering + Automatisk förnyelse
  0% = Utgånget eller saknat certifikat

Vanliga SSL-misstag:

  1. Certifikat går ut utan meddelande — Ställ in övervakning (Steg 6) minst 30 dagar före utgång
  2. Ofullständig certifikatkedja — Servern måste skicka mellanliggande certifikat, inte bara bladet
  3. Blandat innehåll — HTTPS-sidan laddar HTTP-resurser (bilder, skript, stilmallar)
  4. Omdirigeringsloopar — HTTP → HTTPS → HTTP cykler orsakade av felkonfigurerad CDN/proxy
  5. Mismatch mellan non-www och www — Certifikatet täcker ena men inte den andra

Snabbvinst: Kör din domän genom SSL Labs (ssllabs.com/ssltest). Allt under en "A" rating har åtgärdbara problem. De flesta webbhotell fixar dessa med ett klick.

Säkerhetsrubriker

Säkerhetsrubriker är HTTP-svarsrubriker som instruerar webbläsare hur de ska bete sig när de laddar din webbplats. De förhindrar hela kategorier av attacker — och Googles crawler kontrollerar dem.

De avgörande säkerhetsrubrikerna:

Content-Security-Policy (CSP)

CSP är den mest kraftfulla säkerhetsrubriken. Den talar om för webbläsare exakt vilka resurser (skript, stilar, bilder, typsnitt) som får laddas på dina sidor.

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

Vad CSP förhindrar:

  • Cross-site scripting (XSS) attacker
  • Datainjektionsattacker
  • Clickjacking (via frame-ancestors)
  • Obehörig skriptexekvering (kryptovaluta-gruvor, annonsinjektorer)

CSP-implementeringsstrategi:

  1. Börja med Content-Security-Policy-Report-Only (loggar överträdelser utan att blockera)
  2. Övervaka rapporterna i 1-2 veckor
  3. Whitelist legitima källor
  4. Byt till tvångsläge
  5. Lägg till report-uri eller report-to för pågående överträdelse-loggning

X-Frame-Options

Förhindrar att din webbplats bäddas in i iframe på andra domäner (clickjacking-skydd).

X-Frame-Options: DENY

Eller om du behöver tillåta same-origin inramning:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

Förhindrar webbläsare från MIME-typ sniffning (tolkar filer som olika typer än deklarerade).

X-Content-Type-Options: nosniff

Denna rad förhindrar attacker där en .jpg-fil innehåller dold JavaScript som webbläsaren kan köra.

Referrer-Policy

Kontrollerar hur mycket referensinformation som skickas när användare klickar på länkar från din webbplats.

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

Detta skickar den fullständiga URL:en för same-origin-förfrågningar men endast ursprunget (domän) för cross-origin-förfrågningar. Balanserar analysbehov med integritet.

Permissions-Policy

Kontrollerar vilka webbläsarfunktioner (kamera, mikrofon, geolokalisering, etc.) som kan användas på din webbplats.

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

Att inaktivera funktioner du inte använder hindrar tredjeparts skript från att missbruka dem.

Exempel på headerimplementering (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' },
      ]
    }]
  }
}

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

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

Snabbvinst: Lägg till alla 5 rubriker ovan i din serverkonfiguration. Detta tar 5 minuter och förbättrar omedelbart din säkerhetsställning i alla skanningsverktyg.

HSTS Preload

HTTP Strict Transport Security (HSTS) talar om för webbläsare att alltid använda HTTPS för din domän — även före den första förfrågan. Utan HSTS kan det första besöket på din webbplats fortfarande använda HTTP (utsatt för avlyssning) innan omdirigeringen till HTTPS sker.

HSTS-rubrik:

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

De tre direktiven:

| Direktive | Betydelse | |-----------|---------| | max-age=31536000 | Kom ihåg detta i 1 år (i sekunder) | | includeSubDomains | Tillämpa även på alla subdomäner | | preload | Begär inkludering i webbläsares preload-listor |

HSTS preload-lista:

Det ultimata HSTS-skyddet. Webbläsare levereras med en inbyggd lista över domäner som alltid måste använda HTTPS. Att skicka din domän till hstspreload.org innebär:

  • Första gången besökare får HTTPS omedelbart (ingen HTTP → HTTPS-omdirigering)
  • Omöjligt för angripare att nedgradera anslutningar
  • Permanent (svårt att ta bort när det väl har skickats)

Krav för HSTS preload:

  1. Giltigt HTTPS-certifikat
  2. Omdirigera all HTTP till HTTPS (inklusive subdomäner)
  3. HSTS-header med max-age >= 31536000
  4. HSTS-header inkluderar includeSubDomains
  5. HSTS-header inkluderar preload
  6. Alla subdomäner måste stödja HTTPS

Varning: Skicka endast in för preload om ALLA dina subdomäner stöder HTTPS. includeSubDomains-direktivet betyder att varje HTTP-endast subdomän blir otillgänglig.

Snabbvinst: Om du redan har HTTPS på alla subdomäner, lägg till den fullständiga HSTS-headern och skicka in till hstspreload.org. Bearbetningen tar några veckor, men skyddet är permanent.

Sårbarhetsskanning

Automatiserad sårbarhetsskanning identifierar kända säkerhetsproblem i din stack innan angripare utnyttjar dem.

Vad sårbarhetsskanning kontrollerar:

  • Utdaterad programvara: WordPress, plugins, JavaScript-bibliotek med kända CVE:er
  • Exponerade filer: .env, .git, wp-config.php, databasdump
  • Informationsläckage: Serverversionsrubriker, debug-läge, stackspår
  • Standardinloggningar: Administrationssidor utan autentisering, standardlösenord
  • Öppna portar/tjänster: Onödiga tjänster exponerade mot internet
  • Injektionspunkter: Formulär utan CSRF-skydd, icke validerade inmatningar

Vanliga sårbarheter efter plattform:

| Plattform | Topp sårbarhet | Åtgärd | |----------|-------------------|-----| | WordPress | Utdaterade plugins | Automatisk uppdatering + WAF | | Shopify | Tredjepartsappbehörigheter | Granska applista kvartalsvis | | Next.js | Exponerade API-rutter | Auth-mellanprogram + taktsbegränsning | | Statisk webbplats | CDN-felkonfiguration | Granska cache-regler | | Anpassad | SQL-injektion | Parametriserade frågor |

Skanningsfrekvens:

  • Dagligen: Automatisk yterskanning (SSL, rubriker, exponerade filer)
  • Veckovis: Kontroller av beroendesårbarheter (npm audit, WordPress plugin-skanner)
  • Månatligen: Djup skanning med autentiseringstestning
  • Efter varje deployment: Regressionstest

Snabbvinst: Kör npm audit (Node.js) eller kontrollera din CMS-pluginlista för utdaterade komponenter. Åtgärda kritiska/höga sårbarhetsproblem omedelbart.

Blandat Innehåll

Blandat innehåll uppstår när en HTTPS-sida laddar resurser (bilder, skript, stilmallar, iframes) över HTTP. Detta bryter delvis krypteringen och utlöser varningar i webbläsare.

Typer av blandat innehåll:

| Typ | Allvarlighetsgrad | Exempel | Webbläsarbeteende | |------|----------|---------|------------------| | Aktiv | Hög | HTTP-skript, iframe, CSS | Blockeras som standard | | Passiv | Medium | HTTP-bild, video, ljud | Laddas med varning |

Aktivt blandat innehåll blockeras av moderna webbläsare — vilket innebär att dina skript och stilar helt enkelt inte laddas. Passivt blandat innehåll laddas men visar säkerhetsvarningar.

Hitta blandat innehåll:

  1. Öppna Chrome DevTools → Console
  2. Leta efter varningar om "Blandat innehåll"
  3. Alternativt, skanna med en crawler (Screaming Frog, LANGR)

Vanliga källor till blandat innehåll:

  • Hårdkodade http:// URL:er i innehåll (blogginlägg, produktbeskrivningar)
  • Tredjepartswidgets som laddar HTTP-resurser
  • Inbäddat innehåll (gamla YouTube-inbäddningar, sociala medier-widgets)
  • CSS background-image med HTTP-URL:er
  • Typsnitt laddade över HTTP

Åtgärda blandat innehåll:

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

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

<!-- Bästa (protokollrelativt, anpassar sig till sidans protokoll) -->
<img src="//example.com/image.jpg" />

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

Snabbvinst: Öppna din startsida i Chrome, tryck på F12, kolla fliken Console för varningar om blandat innehåll. Åtgärda eventuella som visas — dessa är direkt synliga för Google.

Risker med Tredjeparts Skript

Varje extern skript du laddar är en potentiell säkerhets- (och prestanda) risk. Tredjeparts skript kan:

  • Vara komprometterade (leveranskedjeattacker)
  • Spåra dina användare utan samtycke (GDPR-överträdelse)
  • Sänka din webbplats (render-blockering, nätverksfördröjning)
  • Bryta funktionalitet (versionsuppdateringar, driftstopp)
  • Injicera oönskat innehåll (annonskript som går fel)

Granska dina tredjeparts skript:

| Skript | Nödvändigt? | Risknivå | Alternativ | |--------|-----------|------------|-------------| | Google Analytics | Ofta ja | Låg | Server-side tracking | | Chattwidgets | Kanske | Medium | Självhostade lösningar | | Dela-knappar på sociala medier | Sällan | Medium | Statiska delningslänkar | | A/B-testning | Ibland | Hög | Server-side testning | | Retargeting-pixlar | Affärsbeslut | Hög | Förstapartdata | | Typsnitt CDN:er | Bekvämt | Låg | Självhostade typsnitt |

Riskminimering för viktiga tredjeparts skript:

  1. Subresource Integrity (SRI): Hash-verifiering förhindrar att manipulerade skript laddas
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
        crossorigin="anonymous"></script>
  1. CSP-begränsningar: Tillåt endast skript från kända domäner
  2. Sandlåda iframes: Isolera tredjepartswidgets
  3. Regelbunden granskning: Kvartalsvis granskning av alla externa resurser
  4. Övervakning: Larm om nya externa domäner dyker upp på dina sidor

Snabbvinst: Lista varje