Gå til innholdet

Cookie-innstillinger

Velg hvilke typer cookies du tillater. Du kan når som helst endre valget via Cookie-innstillinger nederst på hver side. Personvernerklæring

Nødvendige

Alltid på

Trengs for å logge inn, beholde handlekurven og huske valgene dine. Disse er alltid på.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: økten din og at du forblir innlogget
  • weboke_basket: handlekurven din
  • wkBtwIncl: visning av priser med eller uten mva.
  • wok_cookies: cookievalget ditt, 12 måneder

Måler hvilken annonse som fører til et besøk eller en bestilling, slik at vi ikke betaler for annonser som ikke gir noe.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), opptil 90 dager
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: hvilken partner som henviste deg til oss (partnerprogram), 60 dager

4,6

Land og språk

Hvert land har sin egen nettside, med priser og mva. for det landet.

Vis

www, videresending og blandet innhold

Modul 3: Adresse, https og brukere · Lesetid: 9 minutter

Læringsmål: Etter denne leksjonen kan du velge én hovedadresse, sende alle varianter dit med én videresending og oppdage og løse blandet innhold.

Nøkkelbegreper: kanonisk adresse, 301 og 308, videresendingskjede, blandet innhold (mixed content), søk og erstatt i databasen, serialiserte data

Fire adresser, ett nettsted

Nettstedet ditt er tilgjengelig via fire adresser:

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

For en besøkende spiller det ingen rolle, men for søkemotorer er dette fire forskjellige adresser med samme innhold. Også informasjonskapsler (som innloggingskapselen din) gjelder per navn: den som logger inn på www, er ikke innlogget på den kale varianten. Derfor velger du én kanonisk adresse (hovedadressen) og sender de tre andre dit med en videresending.

Hvilken du velger, er en smakssak (leksjon 2.1). Det viktige er at hovedadressen er den samme overalt: i DNS, i sertifikatet, i Innstillinger > Generelt (leksjon 3.1) og i videresendingene.

Videresending med en 301, i ett steg

En videresending er et svar fra serveren: «denne siden ligger et annet sted». Nettleseren går da automatisk til den nye adressen. Koden forteller hva slags videresending det er:

KodeBetydningBruk
301Permanent flyttetStandardvalget for http til https og for www til kal variant (eller omvendt)
308Permanent, og metoden (for eksempel en skjemainnsending) forblir uendretKan også brukes til dette formålet; nettlesere og søkemotorer behandler den som 301
302 eller 307MidlertidigKun for noe som faktisk er midlertidig, som en vedlikeholdsside

En permanent videresending forteller søkemotorer at den nye adressen er den egentlige. Ved en midlertidig videresending husker de fortsatt den gamle adressen.

Vær også oppmerksom på kjeden. Si at hovedadressen din er https://example.com. Da vil 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

Hver variant kommer i ett steg til hovedadressen. Det som ofte skjer:

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

Det fungerer, men koster et ekstra steg (ekstra ventetid, spesielt på mobil) og et ekstra TLS-håndtrykk. Verre er en runde: webserveren sender til https, WordPress sender tilbake til http fordi adressene i innstillingene fortsatt står på http, og nettleseren melder «for mange omdirigeringer». Da sender to innstillinger mot hverandre. Sørg for at det bare er én part som sender til https (webserveren eller kontrollpanelet), og at adressene i WordPress allerede står på hovedadressen.

WordPress sender også selv videre: spør noen etter https://www.example.com/contact/ mens nettstedsadressen er https://example.com, sender WordPress videre til https://example.com/contact/. Dette fungerer bare hvis forespørselen når WordPress, altså hvis webserveren lar navnet www også peke til dette nettstedet.

Blandet innhold

Blandet innhold (mixed content) er en https-side som laster deler via http://: et bilde, et stilark, et skript, en skrifttype eller en innebygd video. Nettleseren anser dette som usikkert, fordi disse delene kan endres underveis.

  • Skript, stilark og iframes via http blokkeres av nettlesere. Nettstedet ditt kan da se ødelagt ut, eller en funksjon fungerer ikke.
  • Bilder, lyd og video via http forsøker moderne nettlesere automatisk å hente via https; hvis det ikke lykkes, blokkeres de. Hengelåsen kan da vise en advarsel.

Hvor det kommer fra:

  1. Gamle lenker i innholdet ditt: et nettsted som tidligere lå på http, har i tusenvis av innlegg <img src="http://example.com/wp-content/uploads/...">. WordPress lagrer disse lenkene bokstavelig i databasen.
  2. Tema- eller utvidelsesinnstillinger med en fullstendig adresse, for eksempel en logo eller bakgrunn med http://.
  3. Eksterne elementer fra et annet nettsted som kun er tilgjengelig via http. Disse må du erstatte eller fjerne.
  4. Adresser i Innstillinger > Generelt som fortsatt står på http (leksjon 3.1).

Slik finner du det

Åpne siden, trykk F12 og se på fanen Konsoll. Nettleseren melder all blandet innhold med adressen til elementet. Eller søk i kildekoden til siden (Ctrl+U) etter src="http:// og href="http://. Lenker til andre nettsteder i vanlig tekst (<a href="http://...">) gir ikke blandet innhold; det handler om ting siden laster.

Søk og erstatt, men riktig gjort

Løsningen for gamle lenker i innholdet ditt er å erstatte all http://example.com i databasen med https://example.com. Fristelsen er en SQL-kommando som:

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

Ikke gjør det. Mange innstillinger for temaer, utvidelser og widgeter er lagret serialisert. Det ser slik ut:

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

s:27 betyr: her følger en tekst på 27 tegn. Etter en enkel erstatning er teksten 28 tegn (det kom til en s), men det står fortsatt 27. PHP kan da ikke lenger lese verdien, og innstillingen forsvinner stille: en tom meny, en borte logo, widgeter som er borte.

Bruk et verktøy som oppdaterer disse lengdene:

  • WP-CLI: først se, så gjøre.
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 hvor mange erstatninger det ville vært per tabell, uten at noe endres.

  • En søk-og-erstatt-utvidelse som støtter serialiserte data (det finnes flere i utvidelsesmappen på wordpress.org). Fjern utvidelsen etterpå.

Ta alltid en sikkerhetskopi først (leksjon 8.1). Erstatt heller aldri noe som example.com uten http:// foran: da rammer du også e-postadresser og annen tekst.

I praksis: slik ser det ut i et kontrollpanel

Som eksempel bruker vi DirectAdmin. Andre kontrollpaneler har en lignende bryter for «alltid https».

  1. Slå på Force SSL with https redirect i domeneinnstillingene (leksjon 3.1).
  2. Velg for domenet om www skal gå til kal variant eller omvendt (i DirectAdmin i domeneinnstillingene; ellers med en videresending via Site Redirects eller .htaccess).
  3. Kontroller kjeden med kommandoen under eller med utviklerverktøyene i nettleseren din (fanen Nettverk, avkrysset «Behold logg»).

Oppsummering

  • Velg én kanonisk adresse og la de tre andre variantene gå dit med en 301 (eller 308), i ett steg.
  • La bare én part sende til https; ellers får du en runde.
  • Blandet innhold er en https-side som laster deler via http; nettleserkonsollen viser hvilke.
  • Gamle lenker i databasen erstatter du med wp search-replace eller en utvidelse som forstår serialiserte data, aldri med en enkel SQL-REPLACE.
  • Alltid ta en sikkerhetskopi først, og kjør en prøverunde først.

Quiz

1. Hvilken videresending bruker du for å sende http fast til https?



2. Etter at du har slått på «alltid https», melder nettleseren «for mange omdirigeringer». Hva er den mest sannsynlige årsaken?



3. Hvorfor er UPDATE ... REPLACE(...) i SQL farlig for å endre adresser?



4. Hvilket element på en https-side blokkerer nettleseren alltid hvis det lastes via http?



Oppgave

Oppgave A3.2: Én hovedadresse og ikke noe blandet innhold. Fyll inn domenet ditt. Programmet åpner de fire variantene (http og https, med og uten www) og følger videresendingene. Bra er: alle fire ender på samme adresse med https, med høyst én videresending per variant og kun permanente koder (301 eller 308). Deretter leser programmet HTML-en til forsiden og ser etter skript, stilark, bilder, iframes og skrifttyper som lastes via http://.

Oppgave A3.2: Én hovedadresse og ikke noe blandet innhold


Det du fyller inn, og det vi finner, lagrer vi ikke. Nettleseren din husker svarene dine og om du har bestått oppgaven. Er du logget inn, lagrer vi kun at du har (nesten) bestått oppgaven i Mine kurs; der kan du også slette det.

Les mer

Disse artiklene beskriver trinnene i kontrollpanelene til WebOké; i andre kontrollpaneler fungerer de på lignende måte.

Et øyeblikk …

Sett opp domenene dine

Ordne for hvert domene navnetjenerne, koblingen til hostingen din og hvem som blir innehaver.

Laster inn domenene dine…