Zo gaat dat: WordPress met SSL versleutelen

Zo gaat dat: WordPress met SSL versleutelen

Een versleutelde gegevensoverdracht tussen browser en webserver biedt je extra veiligheid. Daarom let Google er steeds meer op of websites per SSL communiceren. Het is zelfs een factor die de plaats in zoekresultaten beïnvloedt. Ook laten browsers steeds duidelijker zien of een website is versleuteld of niet.

We raden je daarom aan je website van SSL te voorzien. STRATO biedt tegenwoordig bij elk hostingpakket een gratis SSL-certificaat. SSL kost je dus niets extra. Het is bovendien vrij eenvoudig in te stellen.

Maar let op: soms kan een SSL-configuratie tóch lastig worden. In deze tutorial lees je de standaardoplossing. Daarnaast geven we je een paar tips om je te helpen als het toch wat moeilijker wordt.

Uitgangspunt: een website wordt in de browser als ‘niet beveiligd’ weergegeven

SSL en https – wat betekent dit?

SSL betekent: ‘Secure Socket Layer’. Het wil zeggen dat de gegevensoverdracht tussen een webserver en een browser versleuteld plaatsvindt. Dit voorkomt het afluisteren, stelen of misbruiken van deze gegevens.

Het bijbehorende gegevensprotocol is https (Hypertext Transfer Protocol Secure) – dit is een aanvulling op het standaardprotocol http (Hypertext Transfer Protocol). Op Wikipedia lees je een goede uitleg over de werking van https. Je kunt een SSL-beveiligde website overigens herkennen aan de URL, die met https:// begint.

Stap 1: SSL-certificaat installeren

Om SSL te laten functioneren, moet op de webserver een SSL-certificaat zijn geïnstalleerd. Bij STRATO wordt ieder hostingpakket geleverd met een gratis SSL-certificaat van DigiCert. De installatie hiervan is vrij eenvoudig.

In de klantenlogin van je STRATO hostingpakket kies je hiervoor de menuoptie Beveiliging – STRATO SSL. Hier kun je het gratis SSL-certificaat activeren.

Klik op de knop Toewijzen en selecteer in de keuzelijst de domeinnaam van je blog. Klik vervolgens de knop Domein toewijzen.

Zo koppel je het SSL-certificaat aan het domein

Hierna wordt de opdracht in bewerking genomen en zie je onder Status een klokje. De bewerking kan een paar minuten tot maximaal een uur duren. Daarna is het SSL-certificaat actief en zie je onder Status een ‘hangslotje’.

Zodra het SSL-certificaat actief is, verschijnt er onder status een hangslotje

De functie SSL afdwingen is erg handig, maar deze moet je wel even apart inschakelen. Met deze functie kun je SSL inschakelen zonder dit handmatig in het .htaccess-bestand van je WordPress-installatie te moeten doen.

Kies in het volgende scherm de bovenste variant met 301-forward. We raden je aan om de tijdelijke forward 302 alleen voor het testen van de SSL-migratie te gebruiken. Uiteraard kun je deze optie op elk moment van 302 omschakelen naar 301.

Door het afdwingen van SSL worden alle oproepen van je domein naar https omgeleid

Stap 2: zoeken en vervangen in de WordPress-database

Als je nu naar je blog gaat, zie je nog steeds het bericht dat de pagina onveilig is. Want hoewel de opgeroepen pagina zélf al SSL-versleuteld is, zijn sommige onderdelen dit niet. Dit zijn vooral foto’s, maar mogelijk ook andere elementen zoals YouTube-video’s. Ook html-code of Javascript-code van reclamebanners kan de melding veroorzaken. En plug-ins kunnen eveneens niet-beveiligde elementen introduceren. Zelfs niet-flexibel geprogrammeerde thema’s kunnen http://-verwijzingen bevatten.

Als niet-versleutelde elementen op een SSL-versleutelde pagina staan, is sprake van ‘mixed content’. Dit maakt de pagina als geheel onveilig – met een bijbehorend waarschuwingsbericht in de browser. Maar voordat we de oorzaak analyseren, lossen we eerst een probleem op dat WordPress zélf creëert. Met wat geluk is je blog daarna namelijk al volledig SSL-versleuteld en verdwijnen de foutmeldingen in de browser.

Het zit namelijk zo: WordPress plaatst helaas afbeeldingen inclusief het http-adres op je blog. Je moet dus alle http://-verwijzingen in de WordPress-database omzetten naar https://. De makkelijkste manier om dit te doen is met de plug-in Velvet Blues Update URLs. Maar je kunt ook het databasebeheer phpMyAdmin gebruiken via de klantenlogin van STRATO, als je ervaring hebt met deze beheerfunctie. Daarnaast gebruiken velen de plug-in Better Search Replace, die ook perfect geschikt is voor dit doel.

Deze plugin helpt bij het vervangen van onveilige URLs door veilige URLs in WordPress

Let op: maak een back-up van de WordPress-database voor je de plug-in gebruikt. Heb je WordPress geïnstalleerd met de AppWizard? Dan is Backup Control van STRATO een uitstekende manier om dit te doen. Ga naar de klantenlogin van STRATO en kies BeveiligingBack-upbeheerToepassingen (AppWizard). Selecteer de juiste WordPress-installatie. Helemaal onder in het venster zie je de optie om een handmatige back-up te maken.

Als er bij het vervangen van de URLs iets misgaat, kun je altijd een back-up terugzetten

Heb je WordPress handmatig geïnstalleerd? Dan moet je de databaseback-up ook handmatig aanmaken. In de STRATO FAQ vind je een handleiding met phpMyAdmin of SSH.

URLs converteren met Velvet Blues Update URLs

In de plug-in voer je ‘http://www.jouwstratodomein.nl’ in als oude URL. Als nieuwe URL kies je ‘https://www.jouwstratodomein.nl’. Op de plek van ‘jouwstratodomein’ voer je natuurlijk je werkelijke domeinnaam in. Werk je tot dusver zonder ‘www’? Laat dit dan weg. Selecteer in stap 2 alle opties behalve ‘Alle GUIDs bijwerken’.

Controleer nog eens of alles echt klopt en of je geen tikfouten in de URLs hebt gemaakt. Is alles in orde? Kies dan ‘URLs nu bijwerken’.

De plugin vervangt de oude http-URL op alle relevante plekken door de nieuwe https-URL

Nu worden alle elementen die direct in je blogposts zijn geïntegreerd, omgezet naar https:// en dus versleuteld via SSL verstuurd.

De browser laat nu zien dat er sprake is van een beveiligde verbinding

Stap 3: aanvullende WordPress-aanpassingen

Zelfs als alles nu goed lijkt, moet je nog twee dingen aanpassen in WordPress:

  • Instellingen – Algemeen: verander het WordPress-adres en het websiteadres van http:// naar https://
  • Controleer vervolgens of er https://-URLs zichtbaar zijn onder Instellingen – Permalinks. Zo niet, klik je gewoon even op de knop Wijzigingen toepassen.

Zorg ervoor dat ook bij de permalink-instellingen https:// aangevinkt is

SEO niet vergeten…

De laatste stap is belangrijk voor de zoekmachineoptimalisatie. Hierin breng je Google ervan op de hoogte dat je site is overgezet naar SSL. Vanuit het oogpunt van Google zijn de http:// en https://-varianten namelijk twee verschillende websites, maar uiteindelijk wil je natuurlijk alleen de nieuwe https://-variant in Google laten opnemen.

Als je de Google Webmaster Tools al gebruikt, kun je daar de http://-versie invoeren. Voeg nu via Property toevoegen je blog in de https://-versie toe en laat de http://-versie bestaan. Gebruik je de Webmaster Tools niet? Dan maak je een nieuwe ‘Property’ aan met de https://-URL.

Opmerking: diverse tutorials op het web beweren dat je in de Webmaster Tools het oude http://-adres moet wijzigen. Maar Google zelf stelt dat deze optie niet geschikt is om over te schakelen naar SSL. Stel daarom een forward in van je http://-adressen naar de https://-versies, zoals hierboven in de STRATO-instellingen beschreven. Google detecteert dan automatisch de wijziging.

Heb je eerder een sitemap ingediend in de Google Webmaster Tools? Dan moet je deze opnieuw indienen, voorzien van de nieuwe https://-URLs. Als je hiervoor een plug-in gebruikt, moet je ervoor zorgen dat deze de nieuwe sitemap indient.

Vergeet overigens niet de links te wijzigen als je jouw blog hebt gekoppeld aan Facebook, Twitter, Instagram of andere social media. Deze links moeten voortaan verwijzen naar het https://-adres, zodat bezoekers je blog direct bereiken, niet via de forward.

Troubleshooting

Zie je in de browser nog steeds een SSL-foutmelding? Dan zit er niets anders op dan verder te speuren naar de oorzaak. Er zijn veel mogelijke oorzaken, die we hier niet allemaal kunnen bespreken. Maar we geven je tips over hoe je te werk kunt gaan!

Controleer eerst nauwkeurig de opties van je plug-ins. Soms staan daar nog URLs vermeld die je naar https:// moet omzetten. Ook advertenties in plug-ins als Adrotate kunnen nog niet-versleutelde http://-adressen bevatten. Let erop dat je deze adressen pas wijzigt als ze ook daadwerkelijk via SSL bereikbaar zijn, anders leidt een https://-versie van dit adres immers naar een onvindbare site.

Nog steeds last van SSL-foutmeldingen? Dan moet je de niet-SSL-elementen zien op te sporen. Dit lukt bijvoorbeeld eenvoudig met de hulpprogramma’s voor ontwikkelaars in de browser Google Chrome. Die vind je in het menu van Chrome onder Meer hulpprogramma’s – Hulpprogramma’s voor ontwikkelaars. Ga naar het tabblad Security. In het console-venster toont Chrome je dan de mixed code-elementen die problemen veroorzaken.

De hulpprogamma’s van Google helpen je bij het vinden van onveilige elementen

Om de fouten op te lossen, moet je soms lang speuren en heb je meestal kennis van HTML of PHP nodig. Heb je een plug-in of thema ontdekt dat de oorzaak van de problemen vormt? Zoek dan in het supportforum van WordPress naar meer informatie. Daar ontdek je snel of er een oplossing bestaat. Zo niet, moet je het thema of de plug-in verwijderen of vervangen.

Als tijdelijke oplossing kun je een child-thema aanmaken en daarin de juiste aanpassingen doorvoeren. Plug-ins kun je kopiëren, van deze kopie maak je dan een eigen plug-in met gewijzigde code. Hiermee los je in elk geval tijdelijk het SSL-probleem op. Op de lange termijn heb je waarschijnlijk een beter alternatief nodig, bijvoorbeeld omdat je het thema of de plug-in niet zelf kunt of wilt onderhouden.

Waar is ‘mixed content’ lastig?

Het lastige van een SSL-migratie is dat verschillende browsers zich verschillend gedragen als ze onveilige webpagina’s tegenkomen. Dit zijn websites die worden verzonden met SSL, maar onveilige elementen bevatten. Sommige browsers geven dan alleen een subtiele hint, andere programma’s waarschuwen voor grote gevaren en bieden de gebruikers zelfs de mogelijkheid om de website als gevaarlijk te laten registreren. Dat gebeurt bij deze browsers zelfs als de site slechts één niet-versleutelde afbeelding bevat, waaruit geen echt gevaar voortvloeit.

Firefox waarschuwt expliciet bij SSL-fouten

Daarom is het belangrijk ervoor te zorgen dat de gehele website via een SSL-verbinding wordt verstuurd. Test je website dus grondig, zodat je zeker weet dat nergens een probleem optreedt. Want bezoekers en vooral zoekmachines vinden het niet prettig als in plaats van je website een grote, rode gevaarmelding te zien is.

Wil je extra grondige tests uitvoeren? Probeer dan de SSL-test van SSL Labs.

Met de SSL-report van Qualys kun je testen of alles veilig is

Tot slot nog een tip

Deze workshop laat je zien hoe je een WordPress-website omzet in een SSL-versie. Maar vanwege de vele thema’s, plug-ins en individuele aanpassingen kunnen natuurlijk problemen optreden die we niet in deze workshop hebben aangestipt. Neem dus de tijd voor de SSL-migratie en bereid alles goed voor. Dan kan er weinig misgaan. Veel succes!

Zoekwoorden:

Delen

  1. Avatar

    kees zei op

    Ik wilde alleen maar even kwijt dat dit een geweldig artikel is. Ben echt een beginner maar kon binnen no time mijn site naar https migreren. Dank.

    Beantwoorden
  2. Avatar

    Sara zei op

    Bedankt voor de uitgebreide uitleg! Ik ben ook een super beginner en deze uitleg heeft mij echt geholpen.

    Beantwoorden

Je kunt pas een reactie plaatsen nadat je ons privacybeleid en cookies hebt geaccepteerd. Om privacyredenen mogen wij jouw persoonsgegevens anders niet verwerken.

Klik onderaan de pagina op de blauwe button OK. Nadat je de pagina opnieuw hebt geladen, kun je een reactie achterlaten.

Deze website maakt gebruik van cookies voor onder andere Google Analytics. Deze melding verdwijnt zodra je de cookies hebt geaccepteerd. Meer informatie

OK