Op 31 oktober 2018 heb ik een SSL certificaat genomen voor NBRplaza en is deze site overgeschakeld naar https. In dit artikel vertel ik je waarom ik dat heb gedaan (en waarom het misschien voor jou ook belangrijk is om te doen) en hoe ik dat heb gedaan (zodat jij het ook makkelijk kunt doen, ook als je net als ik niet heel erg technisch bent).
Een veilige website met SSL en HTTPS: waarom zou je?
Als je aan het browsen bent op het web, dan zal het je opvallen dat steeds meer websites zo’n slotje hebben in de adresbalk. Het webadres begint dan met HTTPS (in plaats van HTTP). Dat slotje geeft aan dat je een veilige verbinding hebt met de website en dat de data die je met die website uitwisselt niet kan worden ‘afgeluisterd’. Als je jouw bezoekers dus een veilige ervaring wilt geven, bijvoorbeeld als je ook een webwinkel hebt, dan is het belangrijk dat jouw site ook overgaat naar HTTPS. Wanneer een bezoeker bijvoorbeeld gebruikmaakt van een openbare WiFi hotspot en gegevens invult op je website, dan kan met een versleutelde verbinding niemand meekijken.
Betere Google ranking door SSL
Maar er is nog een belangrijke reden. Google neemt namelijk mee in de ranking of je site veilig is of niet. Ofwel, als je geen veilige site hebt, dan daal je in de zoekresultaten en dat zul je merken in de bezoekersaantallen. Het is niet de meest zwaarwegende rankingfactor, maar het weegt wel degelijk mee.
De voordelen van SSL zijn dus: veiligheid en privacy voor je bezoekers, en het is goed voor je Google ranking. Bovendien krijg je meer data in Google Analytics te zien.
Als dit reden genoeg is voor jou om ook over te stappen, lees dan door. Ik ga je niet te veel vermoeien met de technische achtergronden, maar wel uitleggen hoe je de overstap kunt maken. Je hebt er een klein beetje technische kennis voor nodig, maar ik heb geprobeerd om dat tot een minimum te beperken. Als ik het kan, dan kan jij het ook. Het hele proces kostte me ongeveer 2 tot 3 uur.
Wat is SSL?
SSL staat voor Secure Sockets Layer en is een encryptieprotocol om je website te beveiligen. Ik ga je niet uitleggen wat het precies is en hoe het technisch werkt. Het komt er op neer dat SSL zorgt voor een versleutelde verbinding tussen de bezoeker en de website.
Alle data die wordt uitgewisseld tussen de browser die je gebruikt en de server waar de website op staat wordt versleuteld verzonden (encryptie) en is niet te onderscheppen door anderen. Verder zorgt SSL er ook voor dat je daadwerkelijk verbinding hebt met de website waar je verbinding mee denkt te hebben (authenticatie).
Websites die gebruikmaken van een SSL certificaat zijn eenvoudig te herkennen, omdat het webadres dan niet begint met HTTP maar met HTTPS. Daarnaast geven browsers aan dat de website veilig is, bijvoorbeeld door het pictogram van een slotje in de adresbalk.
Zijn er ook nadelen aan SSL?
Er zijn twee nadelen aan het overstappen op SSL/HTTPS. Ten eerste is het een technisch gedoe en als je dat niet goed aanpakt wordt je site traag, of werkt hij helemaal niet meer. Het overzetten is geen kwestie van een simpele druk op de knop. Zeker als je een bestaande website of blog hebt, komt er nogal wat bij kijken. En als je daar een fout mee maakt (dat kan zo simpel zijn als een ‘;’ vergeten, of een stap vergeten), dan kan het gebeuren dat je website niet meer werkt.
Daarnaast kost een SSL certificaat geld. De kosten voor zo’n certificaat verschillen sterk, omdat er heel veel verschillende soorten certificaten zijn. Voor deze website heb ik gebruik gemaakt van een gratis oplossing die door mijn webhostingpartij wordt geboden.
HTTPS maakt je website ietsje trager, maar als je het goed aanpakt zal dat nauwelijks merkbaar zijn. Er bestaan ook SSL plugins voor WordPress. Die raad ik je af. Ze zijn weliswaar makkelijk en je hebt weinig technische kennis nodig, maar dergelijke plugins maken je site wel veel trager.
Geen garanties
Als je gebruik maakt van WordPress (die kans is groot, want anders zou je dit niet lezen), dan maak je waarschijnlijk gebruik van een Thema en van Plugins. Sommige oude Thema’s en oude Plugins werken niet goed met SSL. Ook al heb je alles goed gedaan, het kan toch zijn dat bepaalde plugins niet meer werken. Als dat gebeurt, zal je op zoek moeten gaan naar alternatieve plugins. Ook kan het gebeuren dat bepaalde ‘embedded content’ (ingesloten codes, zoals youtube filmpjes die op de oude manier zijn ingesloten) niet meer goed werken.
STAP 1: SSL certificaat aanvragen en (laten) installeren
Om een website over te zetten naar HTTPS heb je allereerst een SSL certificaat nodig voor je domeinnaam. De meeste hostingpartijen die WordPress ondersteunen, hebben hiervoor speciale producten. Neem daarom voordat je iets gaat doen contact op met je hostingprovider. In mijn geval was het een kwestie van één e-mail en de SSL was gratis (zonder enige verdere kosten of abonnement) geïnstalleerd en werkend.
Je kunt een SSL certificaat ook ergens anders kopen dan bij je hostingprovider maar dat maakt het proces wel wat ingewikkelder. Allereerst zijn er verschillende soorten SSL-certificaten en je moet die dan vaak zelf installeren in de DirectAdmin-omgeving bij je hostingprovider. Als je niet precies weet welk type certificaat je moet hebben en hoe je dat moet installeren, begin daar dan ook niet aan, zou ik zeggen.
Vraag je hostingprovider voor hulp of zoek iemand in je omgeving die er verstand van heeft en dit voor je wil doen.
Het resultaat van deze stap is dat je wordpress site nu zowel te benaderen is met http://www.jouwdomein.nl als met httpS://www.jouwdomein.nl.
Stap 2: Je WordPress website migreren naar HTTPS
Het is altijd aan te raden om een back-up te maken van je site, voordat je wijzigingen gaat aanbrengen. Stel dat er iets misgaat, dan kun je altijd je oude site herstellen.
Het is natuurlijk niet de bedoeling dat er twee ‘versies’ van jouw website bestaan (die met HTTP en die met HTTPS). Alle links in WordPress, zoals de links van afbeeldingen, CSS bestanden en JavaScript bestanden, zijn gebaseerd op de installatie URL. Nadat je SSL certificaat is geïnstalleerd, ga je naar je admin omgeving van WordPress en dan naar de algemene instellingen. Verander hier je WordPress-adres (URL) en Siteadres (URL) door een ‘s’ te zetten achter ‘http’. Vergeet niet je wijzigingen op te slaan.
3. Aanpassen .htaccess en wp-config.php bestanden
Je moet vervolgens een paar wat meer technische veranderingen aanbrengen aan je site. Allereerst dien je wijzigingen aan te brengen in je wp-config.php bestand.
De eerste aanpassing is nodig om er voor te zorgen dat ook je admin omgeving van WordPress is overgezet naar SSL. Je kunt het wp-config.php benaderen via FTP-programma. Haal het bestand naar je lokale computer en maak een kopie die je bijvoorbeeld wp-config.old noemt. Als er iets misgaat, dan heb je altijd nog het originele bestand.
Bewerk nu het bestand wp-config.php met een kladblok programma. Neem de volgende code over na “<?php”:
- define(‘FORCE_SSL_ADMIN’, true);
Na het bewerken moet je het nieuwe wp-config.php bestand terugzetten met FTP. Controleer dan of je site nog werkt. Als dat niet het geval is, zet dan het oude bestand terug en probeer het opnieuw.
Nu moet je er nog voor zorgen dat alle oude URL’s verwijzen naar de nieuwe URL’s. Dit heet een ‘301 permanent redirect’. Hierdoor komen je bezoekers altijd op de juiste pagina terecht en Google weet nu waar de pagina’s gebleven zijn. Dat is belangrijk om je Google ranking te behouden.
Je kunt een 301 redirect voor de hele website in één keer instellen door de volgende code aan het .htaccess bestand toe te voegen:
- RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
Op internet vindt je ook andere manieren om dit te doen, maar ik heb deze gebruikt. Met deze redirect-code zorg je er voor dat je website niet zowel op HTTP en HTTPS bereikbaar is, maar uitsluitend nog op HTTPS. Het aanpassen van je .htaccess bestand kun je op dezelfde manier doen als het aanpassen van je wp-config.php bestand, maar ik heb het gedaan met de plugin YOAST, die ik gebruik voor SEO optimalisatie (YOAST SEO -> Extra -> bestandbewerker).
Als extra kun je ook nog HTTP Strict Transport Security (HTST) inschakelen. Wanneer je HTTP Strict Transport Security (HSTS) inschakelt zal de browser in het vervolg onthouden dat het automatisch HTTPS moet gebruiken voor jouw website. Daardoor wordt de redirect overgeslagen en wordt je website ietsje sneller. Ook weet Google dan dat de HTTPS website moet worden geïndexeerd.
Om HSTS op jouw website in te schakelen kun je de volgende code plaatsen in het .htaccess bestand:
- <IfModule mod_headers.c>
Header set Strict-Transport-Security “max-age=31536000”
</IfModule>
4. Alle interne links en links van afbeeldingen veranderen naar HTTPS
NBRplaza bestond al meer dan 10 jaar toen ik besloot om op SSL over te stappen. Daardoor had ik duizenden interne links die allemaal HTTP in de URL hadden staan. Mooi dat ik die niet allemaal met de hand aan wilde passen.
Nu kun je denken ‘lekker belangrijk, ik heb toch net de redirect aangezet?’. Dat is waar, maar het kan zijn dat je browser dan ziet dat er ‘gemengde inhoud’ op je site staat en dan kan het zijn dat je browser nog steeds als gevaarlijk wordt beschouwd. Sommige browsers laten dan een gevarendriehoekje zien naast het slotje.
Ik heb de plugin ‘Better Search & Replace‘ daarvoor geïnstalleerd. Daarmee kun je zoeken naar ‘http://www.jouwdomeinnaam.nl’ en dat overal laten vervangen in ‘https://www.jouwdomeinnaam.nl’. Doe altijd eerst een ‘dry run’ zodat je kunt zien of er mogelijk problemen zijn, die je eerst op moet lossen. Zodra de dry run helemaal goed gaat, kun je het zoeken en vervangen starten.Eventueel kun je hetzelfde doen, zonder ‘www’ (dus http://jouwdomein.nl laten vervangen door https://jouwdomein.nl).
5. Google webmasterhulpprogramma en externe links
Goed gedaan. Je bent nu klaar. Maar, zoals gezegd, dit is nog geen garantie dat alles perfect werkt. Bij mij was dat wel het geval, maar het kan zijn dat je thema of je oude plugins niet meer goed werken. Bekijk je website goed en controleer of alles werkt.
Een handige website die je kan helpen bij het opsporen van onveilige inhoud is whynopadlock.com. Vul de URL in van je website en deze tool zal een controle uitvoeren.
Nadat je website volledig is overgezet naar HTTPS kun je de HTTPS versie van je website aanmelden bij de Google Webmasterhulpprogramma’s. Google ziet een website op HTTP of HTTPS namelijk als twee verschillende websites. Je zult in in Google Webmasterhulpprogramma’s uiteindelijk zien dat je HTTPS site geïndexeerd is en dat de HTTP site langzaam zal verdwijnen.
Tenslotte is het verstandig om zo veel mogelijk externe links aan te passen. Dus als je verwijzingen hebt naar je site, bijvoorbeeld vanaf je social media accounts, wijzig die dan ook naar HTTPS. Hoe meer externe sites naar je HTTPS adres verwijzen, des te sneller heeft Google je nieuwe site geïndexeerd.
Mijn ervaring (update)
Uiteindelijk heeft het bovenstaande proces mij ongeveer 2 uur van mijn leven gekost. Vooral het veranderen van de wp-congig.php ging een paar keer mis, waardoor mijn site een tijdje uit de lucht was.
Vraag je hostingprovider voor hulp waar dat kan. Dat kan je heel veel tijd en uitzoekwerk en frustratie schelen. Mijn hostingprovider was zeer behulpzaam.
UPDATE
Een aantal Plugins die ik gebruikte bleken niet te kunnen werken met SSL. Onder andere de plugin ‘prevent registration spam’ blokkerde de toegang tot mijn site volledig. Na het verwijderen van deze plugin, was de site weer bereikbaar.
UPDATE
Vrijwel direct na de overgang op SSL / HTTPS halveerde mijn bezoekersaantallen. In eerste instantie was ik bang dat ik iets verkeerd had gedaan. Ik heb er diverse SEO en WordPress experts naar laten kijken en die konden niets geks ontdekken. Ik had alle stappen correct doorlopen.
Na wat zoeken op Google, kwam ik er achter dat er meer sites zijn met deze ervaring. Als je een bestaande site overzet van HTTP op HTTPS, dan verdwijnen je oude (HTTP) pagina’s sneller uit de zoekresultaten van Google, dan dat je nieuwe (HTTPS) pagina’s er in worden opgenomen. Na ongeveer een week beginnen mijn bezoekersaantallen weer wat te stijgen. Als ik de berichten van anderen mag geloven, kan het tot wel 180 dagen duren voor je op het oude niveau zit.
Moet je dan niet overstappen op HTTPS? Vooralsnog ga ik er van uit dat het op termijn onvermijdelijk is om over te stappen op HTTPS, omdat Google sites zonder deze encryptie lager zal waarderen. We gaan het meemaken.
UPDATE
Naast het veranderen van je Google Webmaster Tools, moet je ook niet vergeten om bij Google Analytics je site te wijzigen. Ga naar Google Analytics, vervolgens naar Admin (met het tandwieltje, links onderaan), dan naar property settings en verander daar ‘http’ in ‘https’ en druk op ‘save’.
- Trio met een escort - 6 januari 2025
- ‘Zin’ – episode: Chekhov’s Gun en Red Herrings – de inzendingen en de feedback - 6 januari 2025
- Onaho of the round table masturbator – review - 20 december 2024