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, omdirigera alla varianter dit med en enda omdirigering och hitta 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, serialiserade data

Fyra adresser, en webbplats

Din webbplats kan nås 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 densamma överallt: i DNS, i certifikatet, i Inställningar > Allmänt (lektion 3.1) och i omdirigeringarna.

Omdirigera 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 sorts omdirigering det är:

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

En permanent omdirigering talar om för sökmotorer att den nya adressen är den riktiga. Vid en tillfällig kommer de fortsätta att minnas den gamla adressen.

Var också uppmärksam 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 hamnar på 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 i mobilen) och ett extra TLS-handslag. Värre är en loop: webbservern omdirigerar till https, WordPress omdirigerar tillbaka till http eftersom adresserna i inställningarna fortfarande står på http, och webbläsaren visar "för många omdirigeringar". Då motarbetar två inställningar varandra. Se till att bara en part omdirigerar till https (webbservern eller panelen) och att adresserna i WordPress redan står på huvudadressen.

WordPress omdirigerar också själv: om någon begär https://www.example.com/contact/ medan webbplatsens adress är https://example.com, omdirigerar WordPress till https://example.com/contact/. Det fungerar bara om begäran når WordPress, alltså om webbservern även låter namnet www leda till den här webbplatsen.

Blandat innehåll

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

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

Var det kommer ifrån:

  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 ordagrant 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 kan nås via http. Dem måste du ersätta eller ta bort.
  4. Adresser i Inställningar > Allmänt som fortfarande står på http (lektion 3.1).

Så hittar du det

Öppna sidan, tryck på F12 och titta i fliken Console (Konsol). Webbläsaren rapporterar 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 inget blandat innehåll; det handlar om saker 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 alla http://example.com i databasen med https://example.com. Det är frestande att köra 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 sparas 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 enkel ersättning är texten 28 tecken (ett s tillkom), men det står fortfarande 27. PHP kan då inte längre läsa värdet och inställningen försvinner i tysthet: en tom meny, en försvunnen logotyp, widgetar som är borta.

Använd ett verktyg som uppdaterar längderna, och gör alltid en säkerhetskopia först (lektion 8.1): sök och ersätt har ingen papperskorg.

  • WP-CLI: titta först, gör sedan. Gå i terminalen till mappen med din WordPress och kör först provkörningen (första raden), först därefter den riktiga (andra raden).
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid

Med --dry-run ser du hur många ersättningar det skulle bli per tabell, utan att något ändras. --skip-columns=guid lämnar inläggens fasta identifierare (kolumnen guid) i fred; WordPress rekommenderar att de aldrig ändras. Utan extra alternativ arbetar WP-CLI bara med WordPress egna tabeller. Har ett tillägg egna tabeller med samma prefix, lägg då till --all-tables-with-prefix. Använd --all-tables bara om du vet varför: det påverkar alla tabeller i databasen, även de som hör till en annan webbplats eller applikation.

  • Ett sök-och-ersätt-tillägg som hanterar serialiserade data (det finns flera i tilläggskatalogen på wordpress.org). Använd även där provläget först och ta bort tillägget efteråt.

Ersätt aldrig något som example.com utan http:// eller https:// framför: då påverkar du även e-postadresser och andra texter. Hela arbetsgången, även för dig som inte har tillgång till en terminal, finns i kunskapsbasartikeln om sök och ersätt i WordPress-databasen (se Läs mer).

I praktiken: så ser det ut i en panel

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

  1. Aktivera 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änen utan www eller tvärtom (i DirectAdmin i domäninställningarna; annars med en omdirigering via Webbplatsomdirigeringar eller .htaccess).
  3. Kontrollera kedjan med uppgiften nedan eller med webbläsarens utvecklarverktyg (fliken Nätverk, kryssrutan "Bevara 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 serialiserade data, aldrig med en enkel SQL-REPLACE.
  • Gör alltid en säkerhetskopia först och kör först en provkörning (--dry-run); lämna kolumnen guid i fred och håll dig till WordPress egna tabeller.

Quiz

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



2. Efter att du aktiverat "alltid https" visar webbläsaren "för många omdirigeringar". Vad är den troligaste orsaken?



3. Varför är UPDATE ... REPLACE(...) i SQL farligt när du ska ä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. Ange din domän. Programmet öppnar de fyra varianterna (http och https, med och utan www) och följer omdirigeringarna. Rätt är: alla fyra hamnar på samma adress med https, med högst en omdirigering per variant och endast permanenta koder (301 eller 308). Sedan läser programmet startsidans HTML 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

De här artiklarna beskriver stegen i WebOkés paneler; i andra paneler fungerar de på liknande sätt.

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…