Guide: Sådan sætter du SSL (https) på din Magento webshop
Måske har du allerede læst vores indlæg om hvorfor det er vigtigt at sætte SSL på din webshop? Hvis ikke, så læs det indlæg først og vend derefter tilbage til dette indlæg, som handler om hvordan du helt konkret sætter SSL på din Magento webshop.
Vi har delt guiden op i 6 trin, som du SKAL igennem hvis du vil bevare din synlighed, når du skifter til SSL i din Magento shop.
Disclaimer: Jeg vil ikke anbefale at du gør det selv med mindre du har 100% styr på hvad du laver. Og hvis du alligevel vælger at gøre det selv, så sørg for at lave backup af alle filer i din Magento installation og af databasen inden du starter. Så har du chancen for at rulle tilbage, hvis tingene ikke udvikler sig som du håber på.
Nu til guiden. Du bør igennem nedenstående trin før du succesfuldt har skiftet til https i din Magento webshop.
1. Bestil et SSL certifikat hos din webhost
Det første du skal gøre er naturligvis at bestille et SSL certifikat og installere det. Dette punkt kan gøres på mange måder, men de fleste webhosts har automatiseret denne proces, så det slet ikke kan betale sig at gøre det selv. Du laver blot en forespørgsel hos dit webbureau eller din webhost.
Når SSL certifikatet er installeret starter dit arbejde.
2. Ret baseurl i Magento backend
Næste skridt er at skifte baseurl i Magento fra http til https. Det gør du under System -> Konfiguration -> Generelt -> Web. Som du kan se på nedenstående screenshot, så skal adressen rettes 2 steder, nemlig i feltet “Rod-url” under både “sikker” og “usikker”.
3. Lav 301 redirects på alle URL’er
Det første der skal ske er at alle gamle URL’er skal redirectes til de nye URL’er. Eneste ændring er jo at dine URL’er nu starter med https, hvor de før startede med http.
Virtual host redirect
Det er bedst at gøre det i din virtual host, og det er nok noget du skal bede din webhost om at gøre, da du ikke altid selv har adgang til dette.
Skriv til dem om de vil sørge for en generel 301 redirect fra http til https i virtual host, hvor URI bevares (hvor det der kommer efter selve domænet, bevares i din redirect). Den sidste del er vigtig da de ellers kan finde på at redirecte al http trafik til din nye https forside.
Eksempel: http://dindomaene.dk/kategori/produkt/ skal redirectes til https://dindomaene.dk/kategori/produkt/ (og ikke forsiden) – og det skal være med en statuskode 301.
.htaccess redirect
Du kan også lave redirects via din htaccess fil som du ofte har adgang til via en FTP klient. I din htaccess fil kan du forsøge dig med nedenstående kode lige efter “RewriteEngine On”, som bør virke:
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Når din redirect kode er sat op skal du teste det grundigt. Jeg gør det på følgende måde:
1. Test om webshoppen stadig virker
Først tjekker jeg selve webshoppen for at se om den overhovedet indlæses og ser ud som den skal. Fejl i din htaccess fil kan skabe redirect loops, eller af andre årsager, være skyld i at dit website slet ikke virker. Hvis alt er ok, så hop videre til punkt 2, ellers så skal problemet findes først.
2. Test dine redirects
Du skal altid teste dine redirects efterfølgende, og det gør jeg altid i 2 trin. Først laver jeg en site-søgning på Google.dk sådan så jeg ser alle URL’er i Google’s index for min egen webshop. Det gør du ved at skrive site:ditdomaene.dk i søgefeltet på Google.dk (hvor du udskifter ditdomaene.dk ud med domænet på din webshop). Se hvordan det ser ud med en site-søgning herunder:
Da du endnu ikke har skiftet til https, vil alle dine URL’er stå med http. Klik på dem for at se om de bliver redirected til https versionen af samme side. Lav denne øvelse for mange af dine URL’er – og helst både for CMS sider, kategorisider og produktsider så du får testet alle sidetyper. Hvis alt ser korrekt ud, så skal du også teste om dine redirects laves med den korrekte statuskode.
Brug dette tool og indtast en eller flere af dine webadresser med en http adresse og se hvad der kommer frem. Det skulle gerne se ud som mit eksempel nedenfor:
Som du kan se, så har jeg indtastet en http adresse og værktøjet viser at det er en 301 redirect og at siden sendes korrekt videre til https versionen af samme side. Så denne redirect virker og giver den korrekte statuskode, nemlig 301. Hvis du får vist en anden statuskode end 301, så skal du have fundet fejlen. Jeg ser ofte at alle http URL’er sendes til forsiden, og det er bestemt ikke optimalt. Faktisk er det en mindre katastrofe, når nu det er så nemt at lave det rigtigt.
4. Ret interne links og henvisninger
Efter de ovenstående trin har du i princippet skiftet til https, men der er stadig ting du bør gøre. Der kan nemlig stadigvæk være css-, javascript-, billedfiler og andet der indlæses via http alt efter hvordan din template er lavet.
Derudover laver Magento editoren interne links med den fulde sti som således også indeholder domænet med http. Alle disse interne links skal findes og rettes, da du ellers får “mixed contet” (hvor dele af siden indlæses via http), samt en masse interne 301 redirects.
Begge dele bør fikses, og det gør du via “søg og erstat” i alle dine filer og direkte i databasen.
Sådan finder forekomster af http:// i filer
Dine template filer (css, javascript, phtml filer osv) kan nemt indeholde referencer med http. De skal findes og rettes.
Hvis du kun har FTP adgang kan du bruge et program som f.eks. AnyWhereinFiles til at søge efter forekomster af en bestemt søgestreng (http://) i en lang rækker filer i en bestemt mappe.
Sådan finder forekomster af http:// i databasen
For at opdatere links i statiske blokke, CMS sider, produkt- og kategoribeskrivelser og lignende, skal du bruge et database tool, som f.eks. phpMyAdmin. Du skal først lokalisere forekomsterne af http:// i din database. Der kan være forskel på hvor meget der er, og i hvilke tabeller og felter du finder forekomster af http://. Det er lidt forskelligt fra installation til installation.
Fælles for alle forekomster er dog, at du skal lave en “søg og erstat” direkte i databasen, for at få rettet alle hardcodede links. Du skal køre nedenstående SQL query for hver eneste tabel og felt hvori du fandt forekomster af “http://”.
Brug denne SQL query:
UPDATE cms_page SET content = REPLACE(content, “http://ditdomaene.dk”, “https://ditdomaene.dk”);
Du skal erstatte:
- “ditdomaene.dk” med dit eget domæne.
- “cms_page” med tabelnavnet på den tabel du ønsker at køre kommandoen i
- “content” med det tabel felt du ønsker der skal søges og erstattes i.
Denne proces gentager du for hver tabel og hvert felt du finder forekomster af “http://” i.
Det er naturligvis vigtigt at du tager en backup af din database inden du starter.
Du kan også benytte dig af dette meta tag, som du skal placere i mellem <head></head> i din kildekode:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Vi anbefaler at du rette alt det du kan, men ovenstående meta tag kan være en god hjælp. Læs mere om det her.
5. Tøm Magento cache og reindex
Dette punkt er nemt og hurtigt at udføre, men en nødvendighed, før du kan se dine ændringer slå igennem på din shop.
Tøm Magento cache under System -> Cache-styring -> tryk på “Tøm Magento cache” knappen øverst til højre.
Reindex under System -> Indexadministration -> Klik på “vælg alle” på tryk herefter på “gennemfør” og vent til browseren er færdig med at loade.
Måske har du også behov for at tømme cache i din egen browser for at kunne teste redirects og andre punkter fra denne guide ordentligt. Vil du ikke det, så installer en ny browser og brug denne til dine tests.
6. Test din Magento webshop
Som det sidste trin skal du teste din shop grundigt.
- Test om redirects virker endnu engang.
- Tjek om canonical URL’er sættes med https.
- Test om alt stadig er indexerbart. Vi havde en case med en Magento shop, hvor et modul satte ALLE https URL’er til noindex,nofollow. Det var en indstilling i modulet, som kunne have haft katastrofale følger hvis det ikke var blevet opdaget. Så jeg vil råde dig til at tjekke om der stadig står index,folow i din kildekode efter skiftet til https. Ikke kun på forsiden, men også på kategori- og produktsider.
- Tjek om URL’erne i dine produktfeeds ændrer sig til https. Ellers skal det udbedres. Stien til dine produktfeeds skal også ændres flere steder (Google, Pricerunner, Affiliate netværk osv.)
- Lav Google Analytics og Google Search Console ændringer. Se hvordan her.
- Lav et testkøb for at se om shoppen stadig virker.
- Tjek også alle dine forskellige sidetyper for eventuelle designfejl.
Skal vi hjælpe dig?
Vi hjælper dig gerne med at skifte til SSL på din Magento webshop og rådgiver om valg af SSL certifikat og eventuelt CDN. Kontakt os til en uforpligtende snak eller stil også gerne et spørgsmål i kommentarfeltet herunder.
Skriv en kommentar
Want to join the discussion?Feel free to contribute!