Gå direkte til indholdet

Cookieindstillinger

Vælg for hver type, hvilke cookies du tillader. Du kan altid ændre dit valg via Cookieindstillinger nederst på hver side. Privatlivspolitik

Nødvendige

Altid slået til

Nødvendige for at logge ind, gemme din kurv og huske dine valg. De er altid slået til.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session og at forblive logget ind
  • weboke_basket: din kurv
  • wkBtwIncl: vise priser med eller uden moms
  • wok_cookies: dit cookievalg, 12 måneder

Måler, hvilken annonce der fører til et besøg eller en bestilling, så vi ikke betaler for annoncer, der ikke virker.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), op til 90 dage
  • OpenAI Ads, annoncer i ChatGPT
  • wok_aff: hvilken partner der henviste dig til os (affiliateprogram), 60 dage

4,6

Land og sprog

Hvert land har sin egen side med landets priser og moms.

Se

www, omdirigering og blandet indhold

Modul 3: Adresse, https og brugere · Læsetid: 9 minutter

Læringsmål: Efter denne lektion kan du vælge én hovedadresse, sende alle varianter dertil med én omdirigering og finde og rette blandet indhold.

Nøglebegreber: kanonisk adresse, 301 og 308, omdirigeringskæde, blandet indhold (mixed content), søg og erstat i databasen, serialiserede data

Fire adresser, ét websted

Dit websted kan nås via fire adresser:

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

For en besøgende gør det ingen forskel, men for søgemaskiner er det fire forskellige adresser med det samme indhold. Cookies (som din login-cookie) gælder også pr. navn: Er du logget ind på www, er du ikke logget ind på domænet uden www. Derfor vælger du én kanonisk adresse (hovedadressen) og sender de tre andre dertil med en omdirigering.

Hvilken du vælger, er en smagssag (lektion 2.1). Det vigtige er, at hovedadressen er den samme overalt: i DNS, i certifikatet, i Indstillinger > Generelt (lektion 3.1) og i omdirigeringerne.

Omdirigering med en 301, i ét trin

En omdirigering er et svar fra serveren: "denne side ligger et andet sted". Browseren går så automatisk til den nye adresse. Koden fortæller, hvilken slags omdirigering det er:

KodeBetydningAnvendelse
301Flyttet permanentStandardvalget fra http til https og fra www til domænet uden www (eller omvendt)
308Permanent, og metoden (for eksempel en formularindsendelse) forbliver den sammeKan også bruges til dette; browsere og søgemaskiner behandler den som en 301
302 eller 307MidlertidigKun til noget, der virkelig er midlertidigt, som en vedligeholdelsesside

En permanent omdirigering fortæller søgemaskinerne, at den nye adresse er den rigtige. Ved en midlertidig husker de fortsat den gamle adresse.

Hold også øje med kæden. Lad os sige, at din hovedadresse er https://example.com. Så vil du have:

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 når hovedadressen i ét trin. Det, der ofte sker:

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

Det virker godt nok, men koster et ekstra trin (ekstra ventetid, især på mobil) og et ekstra TLS-håndtryk. Værre er en løkke: Webserveren sender til https, WordPress sender tilbage til http, fordi adresserne i indstillingerne stadig står på http, og browseren melder "for mange omdirigeringer". Så arbejder to indstillinger imod hinanden. Sørg for, at kun én part omdirigerer til https (webserveren eller panelet), og at adresserne i WordPress allerede står på hovedadressen.

WordPress omdirigerer også selv: Beder nogen om https://www.example.com/contact/, mens webstedets adresse er https://example.com, sender WordPress videre til https://example.com/contact/. Det virker kun, hvis forespørgslen når frem til WordPress, altså hvis webserveren også lader navnet www pege på dette websted.

Blandet indhold

Blandet indhold (mixed content) er en https-side, der indlæser elementer via http://: et billede, et stylesheet, et script, en skrifttype eller en indlejret video. Browseren anser det for usikkert, fordi de elementer kan blive ændret undervejs.

  • Scripts, stylesheets og iframes via http bliver blokeret af browsere. Dit websted ser så ødelagt ud, eller en funktion virker ikke.
  • Billeder, lyd og video via http forsøger moderne browsere automatisk at hente via https; lykkes det ikke, bliver de blokeret. Hængelåsen kan så vise en advarsel.

Hvor det kommer fra:

  1. Gamle links i dit indhold: Et websted, der tidligere kørte på http, har i tusindvis af indlæg <img src="http://example.com/wp-content/uploads/...">. WordPress gemmer de links ordret i databasen.
  2. Tema- eller pluginindstillinger med en fuld adresse, for eksempel et logo eller en baggrund med http://.
  3. Eksterne elementer fra et andet websted, der kun kan nås via http. Dem skal du erstatte eller fjerne.
  4. Adresser i Indstillinger > Generelt, der stadig står på http (lektion 3.1).

Sådan finder du det

Åbn siden, tryk på F12, og se under fanen Console (Konsol). Browseren melder hvert tilfælde af blandet indhold med elementets adresse. Du kan også søge i sidens kildekode (Ctrl+U) efter src="http:// og href="http://. Links til andre websteder i almindelig tekst (<a href="http://...">) giver ikke blandet indhold; det handler om ting, som siden indlæser.

Søg og erstat, men gør det rigtigt

Løsningen på gamle links i dit indhold er at erstatte alle 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');

Lad være med det. Mange indstillinger for temaer, plugins og widgets er gemt serialiseret. Det ser sådan ud:

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

s:27 betyder: Her følger en tekst på 27 tegn. Efter en simpel erstatning er teksten 28 tegn (der kom et s til), men der står stadig 27. PHP kan så ikke længere læse værdien, og indstillingen forsvinder i stilhed: en tom menu, et forsvundet logo, widgets der er væk.

Brug et værktøj, der opdaterer de længder, og tag altid en backup først (lektion 8.1): Søg og erstat har ingen papirkurv.

  • WP-CLI: Først kigge, så gøre. Gå i terminalen til mappen med din WordPress, og kør først prøverunden (første linje), og først derefter den rigtige (anden linje).
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, hvor mange erstatninger der ville blive foretaget pr. tabel, uden at noget ændres. --skip-columns=guid lader indlæggenes faste id'er (kolonnen guid) være i fred; WordPress anbefaler aldrig at ændre dem. Uden ekstra valgmulighed arbejder WP-CLI kun på WordPress' egne tabeller. Har et plugin egne tabeller med samme præfiks, så tilføj --all-tables-with-prefix. Brug kun --all-tables, hvis du ved hvorfor: Det rammer alle tabeller i databasen, også dem fra et andet websted eller program.

  • Et søg og erstat-plugin, der understøtter serialiserede data (der findes flere i plugin-mappen på wordpress.org). Brug også her først prøvetilstanden, og slet pluginet bagefter.

Erstat aldrig noget som example.com uden http:// eller https:// foran: Så rammer du også e-mailadresser og anden tekst. Hele fremgangsmåden, også hvis du ikke har en terminal, står i vidensbaseartiklen om søg og erstat i WordPress-databasen (se Læs mere).

I praksis: sådan ser det ud i et panel

Som eksempel bruger vi DirectAdmin. Andre paneler har en lignende kontakt til "altid https".

  1. Slå Gennemtving SSL med https-omdirigering til i domæneindstillingerne (lektion 3.1).
  2. Vælg for domænet, om www skal gå til domænet uden www eller omvendt (i DirectAdmin i domæneindstillingerne; ellers med en omdirigering via Omdirigeringer for websted eller .htaccess).
  3. Kontrollér kæden med opgaven nedenfor eller med browserens udviklerværktøjer (fanen Netværk, afkrydsningsfeltet "Bevar log").

Opsummering

  • Vælg én kanonisk adresse, og lad de tre andre varianter gå dertil med en 301 (eller 308), i ét trin.
  • Lad kun én part omdirigere til https; ellers får du en løkke.
  • Blandet indhold er en https-side, der indlæser elementer via http; browserkonsollen viser hvilke.
  • Gamle links i databasen erstatter du med wp search-replace eller et plugin, der forstår serialiserede data, aldrig med en simpel SQL-REPLACE.
  • Altid en backup først og en prøverunde først (--dry-run); lad kolonnen guid være, og hold dig til WordPress' tabeller.

Quiz

1. Hvilken omdirigering bruger du til permanent at sende http til https?



2. Efter du har slået "altid https" til, melder browseren "for mange omdirigeringer". Hvad er den mest sandsynlige årsag?



3. Hvorfor er UPDATE ... REPLACE(...) i SQL farligt til at ændre adresser?



4. Hvilket element på en https-side blokerer browseren altid, hvis det indlæses via http?



Opgave

Opgave A3.2: Én hovedadresse og intet blandet indhold. Indtast dit domæne. Programmet åbner de fire varianter (http og https, med og uden www) og følger omdirigeringerne. Det er i orden, når alle fire ender på den samme adresse med https, med højst én omdirigering pr. variant og kun permanente koder (301 eller 308). Derefter læser programmet forsidens HTML og leder efter scripts, stylesheets, billeder, iframes og skrifttyper, der indlæses via http://.

Opgave A3.2: Én hovedadresse og intet blandet indhold


Det, du udfylder, og hvad vi finder, gemmer vi ikke. Din browser husker dine svar, og om du har bestået opgaven. Er du logget ind, gemmer vi kun, at du (næsten) bestod opgaven, i Mine kurser; der kan du også slette det.

Læs mere

Disse artikler beskriver trinene i WebOkés paneler; i andre paneler fungerer det på lignende måde.

Et øjeblik…

Opsæt dine domæner

Angiv for hvert domæne navneserverne, tilknytningen til din hosting, og hvem der bliver ejer.

Indlæser dine domæner…