Hoppa till innehållet

Cookieinställningar

Välj vilka typer av cookies du tillåter. Du kan alltid ändra ditt val via Cookieinställningar längst ned på varje sida. Integritetspolicy

Nödvändiga

Alltid på

Behövs för att logga in, spara din varukorg och komma ihåg dina val. De är alltid på.

Vilka cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session och att du förblir inloggad
  • weboke_basket: din varukorg
  • wkBtwIncl: visa priser med eller utan moms
  • wok_cookies: ditt cookieval, 12 månader

Mäter vilken annons som leder till ett besök eller en beställning, så att vi inte betalar för annonser som inte ger något.

Vilka cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), upp till 90 dagar
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: via vilken partner du kom till oss (affiliateprogram), 60 dagar

4,6

Land och språk

Varje land har en egen webbplats med landets priser och moms.

Visa

www, omdirigering och blandat innehåll

Modul 3: Adress, https och användare · Lästid: 9 minuter

Lärandemål: Efter den här lektionen kan du välja en huvudadress, skicka alla varianter till den med en enda omdirigering och upptäcka och åtgärda blandat innehåll.

Nyckelbegrepp: kanonisk adress, 301 och 308, omdirigeringskedja, blandat innehåll (mixed content), sök och ersätt i databasen, serialiserad data

Fyra adresser, en webbplats

Din webbplats går att nå via fyra adresser:

http://example.com
http://www.example.com
https://example.com
https://www.example.com

För en besökare spelar det ingen roll, men för sökmotorer är det fyra olika adresser med samma innehåll. Även cookies (som din inloggningscookie) gäller per namn: den som loggar in på www är inte inloggad på domänen utan www. Därför väljer du en kanonisk adress (huvudadressen) och omdirigerar de andra tre dit.

Vilken du väljer är en smaksak (lektion 2.1). Det viktiga är att huvudadressen är detsamma överallt: i DNS, i certifikatet, i Inställningar > Allmänt (lektion 3.1) och i omdirigeringarna.

Omdirigering med en 301, i ett steg

En omdirigering är ett svar från servern: "den här sidan finns någon annanstans". Webbläsaren går då automatiskt till den nya adressen. Koden anger vilken typ av omdirigering det är:

KodBetydelseAnvändning
301Permanent flyttadStandardvalet för http till https och för www till domän utan www (eller tvärtom)
308Permanent, och metoden (till exempel en formulärinskickning) förblir densammaKan också användas för detta ändamål; webbläsare och sökmotorer behandlar den som 301
302 eller 307TillfälligEndast för något som verkligen är tillfälligt, till exempel en underhållssida

En permanent omdirigering talar om för sökmotorer att den nya adressen är den riktiga. Vid en tillfällig omdirigering fortsätter de att komma ihåg den gamla adressen.

Tänk också på kedjan. Säg att din huvudadress är https://example.com. Då vill du ha:

http://www.example.com   301  https://example.com/
http://example.com       301  https://example.com/
https://www.example.com  301  https://example.com/
https://example.com      200

Varje variant kommer fram till huvudadressen i ett steg. Det som ofta händer:

http://www.example.com   301  https://www.example.com/
https://www.example.com  301  https://example.com/

Det fungerar, men kostar ett extra steg (extra väntetid, särskilt på mobilen) och en extra TLS-handskakning. Värre är en loop: webbservern skickar till https, WordPress skickar tillbaka till http eftersom adresserna i inställningarna fortfarande är på http, och webbläsaren meddelar "för många omdirigeringar". Då skickar två inställningar mot varandra. Se till att det bara är en part som omdirigerar till https (webbservern eller panelen), och att adresserna i WordPress redan är satta till huvudadressen.

WordPress omdirigerar också själv: om någon begär https://www.example.com/contact/ medan webbplatsadressen är https://example.com, skickar WordPress vidare till https://example.com/contact/. Det fungerar bara om förfrågan når WordPress, det vill säga om webbservern också låter namnet www hamna på denna webbplats.

Blandat innehåll

Blandat innehåll (mixed content) är en https-sida som laddar delar via http://: en bild, ett stilmall, ett skript, ett typsnitt eller en inbäddad video. Webbläsaren anser det osäkert, eftersom dessa delar kan ändras under vägen.

  • Skript, stilmallar och iframes via http blockeras av webbläsare. Din webbplats ser då trasig ut eller så fungerar en funktion inte.
  • Bilder, ljud och video via http försöker moderna webbläsare automatiskt hämta via https; lyckas inte det, blockeras de. Hänglåset kan då visa en varning.

Varifrån det kommer:

  1. Gamla länkar i ditt innehåll: en webbplats som tidigare låg på http har i tusentals inlägg <img src="http://example.com/wp-content/uploads/...">. WordPress sparar de länkarna bokstavligt i databasen.
  2. Tema- eller tilläggsinställningar med en fullständig adress, till exempel en logotyp eller bakgrund med http://.
  3. Externa delar från en annan webbplats som bara är nåbara via http. De måste du ersätta eller ta bort.
  4. Adresser i Inställningar > Allmänt som fortfarande är på http (lektion 3.1).

Så hittar du det

Öppna sidan, tryck på F12 och titta på fliken Console. Webbläsaren meddelar allt blandat innehåll med adressen till delen. Eller sök i sidans källkod (Ctrl+U) efter src="http:// och href="http://. Länkar till andra webbplatser i vanlig text (<a href="http://...">) ger inte blandat innehåll; det handlar om sådant som sidan laddar.

Sök och ersätt, men på rätt sätt

Lösningen för gamla länkar i ditt innehåll är att ersätta all http://example.com i databasen med https://example.com. Frestelsen är ett SQL-kommando som:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://example.com', 'https://example.com');

Gör inte det. Många inställningar för teman, tillägg och widgetar är serialiserade. Det ser ut så här:

s:27:"http://example.com/logo.png";

s:27 betyder: här följer en text på 27 tecken. Efter en ren ersättning är texten 28 tecken (det tillkom ett s), men det står fortfarande 27. PHP kan då inte längre läsa värdet och inställningen försvinner tyst: en tom meny, en försvunnen logotyp, widgetar som är borta.

Använd ett verktyg som uppdaterar dessa längder:

  • WP-CLI: titta först, gör sedan.
wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run
wp search-replace 'http://example.com' 'https://example.com' --all-tables

Med --dry-run ser du hur många ersättningar det skulle bli per tabell, utan att ändra något.

  • Ett sök-och-ersätt-tillägg som stödjer serialiserad data (det finns flera i tilläggskatalogen på wordpress.org). Ta bort tillägget igen efteråt.

Gör alltid en säkerhetskopia först (lektion 8.1). Ersätt heller aldrig något som example.com utan http:// framför: då drabbas även e-postadresser och andra texter.

I praktiken: så ser det ut i en panel

Som exempel använder vi DirectAdmin. Andra paneler har en liknande knapp för "alltid https".

  1. Slå på Tvinga SSL med https-omdirigering i domäninställningarna (lektion 3.1).
  2. Välj för domänen om www ska gå till domän utan www eller tvärtom (i DirectAdmin i domäninställningarna; annars med en omdirigering via Webbplatsomdirigeringar eller .htaccess).
  3. Kontrollera kedjan med kommandot nedan eller med webbläsarens utvecklarverktyg (fliken Nätverk, kryssrutan "Behåll logg").

Sammanfattning

  • Välj en kanonisk adress och låt de andra tre varianterna gå dit med en 301 (eller 308), i ett steg.
  • Låt bara en part omdirigera till https; annars får du en loop.
  • Blandat innehåll är en https-sida som laddar delar via http; webbläsarens konsol visar vilka.
  • Gamla länkar i databasen ersätter du med wp search-replace eller ett tillägg som förstår serialiserad data, aldrig med en ren SQL-REPLACE.
  • Gör alltid en säkerhetskopia först, och gör en testomgång först.

Quiz

1. Vilken omdirigering använder du för att skicka http permanent till https?



2. Efter att ha slagit på "alltid https" meddelar webbläsaren "för många omdirigeringar". Vad är den mest sannolika orsaken?



3. Varför är UPDATE ... REPLACE(...) i SQL farligt för att ändra adresser?



4. Vilken del på en https-sida blockerar webbläsaren alltid om den laddas via http?



Uppgift

Uppgift A3.2: En huvudadress och inget blandat innehåll. Fyll i din domän. Programmet öppnar de fyra varianterna (http och https, med och utan www) och följer omdirigeringarna. Bra är: alla fyra hamnar på samma adress med https, med högst en omdirigering per variant och endast permanenta koder (301 eller 308). Därefter läser programmet HTML-koden för startsidan och letar efter skript, stilmallar, bilder, iframes och typsnitt som laddas via http://.

Uppgift A3.2: En huvudadress och inget blandat innehåll


Det du fyller i och det vi hittar sparar vi inte. Din webbläsare kommer ihåg dina svar och om du klarade uppgiften. Är du inloggad sparar vi bara att du klarade uppgiften (nästan) i Mina kurser; där kan du också ta bort det.

Läs mer

Dessa artiklar beskriver stegen i WebOkés paneler; i andra paneler fungerar de liknande.

Ett ögonblick…

Ställ in dina domäner

Ställ in namnservrar, koppling till ditt webbhotell och vem som blir innehavare för varje domän.

Hämtar dina domäner…