Een HTTPS-site krijgt van Google een voorkeursbehandeling. Zo’n site heeft net even wat meer sloten op de deur dan een site zonder SSL. Daar hecht Google waarde aan. Daarom kondigde Big G al in 2014 aan dat ’n SSL certificaat tot ‘ranking factor’was gepromoveerd. Niet meteen, maar op den duur. Dat ‘op den duur’ is inmiddels aangebroken. Zonder HTTPS raak je achterop.
Mocht dit nog niet voldoende aanmoediging zijn om SSL te (laten) installen, dan hebben we er nóg een voor je: Google laat vandaag of morgen een nieuwe versie van Chrome los op de markt. Chrome versie 68 stickert op een niet te missen manier en zonder mededogen elke website zonder SSL-certificaat als ‘onveilig’
Dat Google zo netjes was het toennemende belang van HTTPS/SSL al in ’14 aan te kondigen (leest ‘m hier overigens) is niet nieuw. Dat doet de tech-reus vaker. Zo’n anderhalf jaar later, maakte Google duidelijk dat het mensens is:
“(…) 2017 is going to be the year that we’re going to see features in WordPress which require hosts to have HTTPS available. (…) SSL just makes sense as the next hurdle our users are going to face.”
Wat is een SSL certificaat?
SSL staat “secure sockets layer” en voor de echte theorietijgers, heb ik de officiële definitie voor je, rechtstreeks geleend van ssl.com:
SSL (Secure Sockets Layer) is the standard security technology for establishing an encrypted link between a web server and a browser. This link ensures that all data passed between the web server and browsers remain private and integral. SSL is an industry standard and is used by millions of websites in the protection of their online transactions with their customers.
In klip en klaar hartstikke Hollands: SSL versleutelt de verbinding tussen de website en de server. Daardoor kunnen hackers en ander cybertuig niet meelezen. Je verbinding is dus veilig. Je kunt met een (voor internetbegrippen) gerust hart je credit card gebruiken, je bankrekeningnummer opgeven of andere persoonlijke data versturen.
Of een website informatie versleutelt, zie je in de url in je browser. Die vertelt het hele verhaal. Als dat begint met HTTPS (in plaat van http) dan zit je goed. Daarnaast heeft elke browser zijn eigen symbooltje voor een veilige verbinding. Vaak een slotje.
Omdat het leven nu eenmaal niet altijd simpel is, zijn er meerdere soorten SSL-certificaten. Daar komen we zo op terug. Net zo goed als op de vraag hoe je kunt overstappen van HTTP naar HTTPS.
HTTPS SSL Certificaat
Een website zonder SSL certificaat heeft voor de url een simpele icon: een cirkel met daarin een ‘i’. Klik je daarop, dan krijg je de mededeling dat de site niet beveiligd is. Soms verschijnt er een geel uitroepteken of een slot met een rode streep er doorheen als waarschuwing dat de website niet veilig is wat betreft het versturen van gegevens omdat die niet versleuteld worden en hackers dus zouden kunnen meelezen.
Zeker voor webwinkels is het ontbreken van die ‘S’ achter HTTP een probleem aan het worden. Het ontbreken van de S achter HTTP is voor klanten steeds vaker een reden om af te haken. Simpelweg omdat ze het niet vertrouwen. En geeft ze eens ongelijk…
Google Chrome: de genadeklap
Deze week (volgens vele Google-watchers) verschijnt versie 68 van Chrome. Normaal gesproken voor de gemiddelde webmaster niet iets om van wakker te liggen. Maar deze is anders. Met Chrome 68 nagelt Google namelijk elke niet veilige website voortaan zonder pardon of medelijden aan de schandpaal: Not Secure, verschijnt er naar de naam van de website. Het voordeeld is duidelijk: boven zoals Chrome dat nu doet en daaronder hoe Google dat later deze week of maand doet.
Hoe krijg je een SSL-certificaat
Grofweg zijn er twee manieren om aan een SSL-certificaat te komen. Via een leverancier van SSL-certificaten of via je webhost. Die tweede is de snelste en technisch vaak de makkelijkste manier. Je host heeft de koppeling waarschijnlijk al voorbereid.
Maar wat nu als je host/server geen certificaat biedt?
Ten eerste zou ik serieus overwegen een andere webhost te kiezen. WordPress hosting is niet ongelofelijk ingewikkeld of veeleisend. Maar als je host (nu nog steeds!) niet is voorbereid op HTTPS dan klopt er daar iets niet. En wellicht meer dan je van buitenaf kunt zien.
Neemt niet weg dat je soms toch moet besluiten een SSL-certificaat van buitenaf aan te schaffen. Dan kun je terecht bij clubs als DigiCert, GeoTrust opf bijvoorbeeld RapidSSL. Raadpleeg Google. Er zijn er meer dan de drie die me net te binnen schoten.
Het ene SSL certificaat is het andere niet
Als je wat dieper in de materie duikt, kom je er al snel achter dat er niet zoiets bestaat als ‘een SSL-certificaat’. Je hebt DV certificaten, EV certificaten, wildcard certificaten en net als je denkt dat je alles op een rijtje hebt, begint er iemand over SAN certificaten.
Daarom hebben we de 3 meest voorkomende voor je op een rijtje gezet.
Domain Validation (DV-certificaat)
Een DV certificaat is het meest simpele een daardoor meest gebruikte en goedkoopste SSL certificaat dat je zult vinden. Ideaal voor websites die niet gebruikt worden om persoonlijke informatie via cyberspace uit te wisselen. Als je een gemiddelde, standaard zakelijke website hebt, is een DV-certificaat een prima oplossing.
Organization Validation (OV-certificaat)
Een OV-certificaat biedt net iets meer zekerheid dan zijn DV-broertje. Een DV certificaat valideer je zelf. Een OV certificaat daarentegen moet gevalideerd worden door een instantie die daartoe gemachtigd is, een zogenaamde ‘Certificaat Autoriteit’ (CA). Je moet geen gierende haast hebben. Als je zo’n domein aanvraagt, controleert de CA zowel het bedrijf als de website. Daarom duurt het aanvragen van een OV-certificaat vaak een paar dagen.
Extended Validation (EV)
Een EV-certificaat is vergelijkbaar met een OV-certificaat. Het verschil zit ‘m in de controles van zowel de eigenaar als het domein. Die zijn strikter en uitgebreider. De ‘Certificaat Autoriteit’ controleert bijvoorbeeld ook bij derde partijen. Denk aan de KvK. Dit is het certificaat dat banken, overheden en de groterem bekende webshops gebruiken.
En hoe zit het met ‘Let’s Encrypt’…?
Let’s Encrypt biedt een gratis, ‘open source’ SSL certificaat. Om dat te kunnen gebruiken moet je ‘shell access’ (SSH) hebben tot je server en niet bang zijn om het certificaat zelf te installeren. Dat is meestal niet heel erg ingewikkeld en kun je dus (meestal) zelf doen. Handig en effectief, maar daarna begint het éche werk pas.
Kom ik zo op terug…
Heb je een SSL-certificaat echt nodig?
Ja. Punt uit. Zelfs als je ’m niet nodig hebt (omdat er nooit gegevens over je domein worden verstuurd) heb je ‘m nodig. Je hebt’t ‘m domweg nodig omdat Google dat zo langzamerhand eist.
Leuk of niet. Het is realiteit. Google nagelt je meedogenloos aan de schandpaal als je geen HTTPS hebt. De vraag is niet of de rest volgt, maar wanneer. En dat zal niet lang duren zijn – daar durf ik wel een gaalsje limonade onder te verwedden.
Kortom, die ene ‘S’ achter http gaat je omzet en geld kosten of omzet en geld opleveren. Je mag zelf kiezen.
Het installeren van een SSL certificaat
We zeiden het net al: na het aanvragen en installeren van een SSL-certificaat, begint het échte werk. Dit is waar menig ‘amateur webmaster’ de bibbers krijgt. Dat herken je? Blijf ademen, komt goed.
Het proces rond het installeren van een SSL-certificaat verschilt van host tot host. Als je bij ons host bijvoorbeeld, is het ‘aanzetten’ van een gratis Let’s Encrypt SSL certificaat een kwestie van een paar muisklikken. Op de meeste andere (professionele) hosts is het vaak niet veel moeilijker.
Als je een SSL certificaat eenmaal hebt geïnstalleerd, schakelt je website niet zo maar uit zichzelf over van http naar https. Je zult je site een handje moeten helpen. Daarbij maakt het uit of je website nieuw is of al een tijdje meegaat. De eerste is simpel, de tweede een stuk ingewikkelder.
Nieuwe WordPress site?
Als je site (hagel)nieuw is, dan heb je het verrekte makkelijk. Ga (nadat je certificaat hebt geïnstalleerd) naar ‘Instellingen’ → ‘Algemeen’ en pas daar het adres aan van zowel je website als je domein. Dus http://www.jedomein.nl’ wordt https://www.jedomein.nl. Sla die aanpassingen wel op voordat je die pagina verlaat….
Schrik niet als je vervolgens wordt uitgelogd.
Controleer vervolgens of je site HTTPS is en ook daadwerkelijk ‘veilig’ is door in de browser op het icoontje naast je url te klikken. Niet? Dan is je website waarschijnlijk niet 100% kakelvers. Er zijn bijvoorbeeld al berichten gemaakt. Dan is je website feitelijk een bestaande website en heeft ‘ie een spreekwoordelijk kontje nodig om van HTTP naar HTTPS te gaan. Dat kan op een makkelijke of een iets moeilijkere (met code) manier. Eerst de simpele manier? Dat dacht ik al…
Plugin: Really Simple SSL
Je had het kunnen bedenken: er is een plugin voor. Die heet Really Simple SSL en doet zijn naam eer aan. Installeren, activeren en (soms) een paar voor de hand liggende instellingen opslaan. Meer komt er niet bij kijken.
Wat Really Simple SSL doet?
• Het past het adres van je site aan van http naar https
• Het redirect (via JavaScript of htaccess) naar HTTPS
• Past interne links aan naar HTTPS
• Past indien noodzakelijk server-instellingen aan
Je doet het graag ‘moeilijk’?
Als je liever geen plugin gebruikt, dan kun je in 99% van de gevallen ook uit de voeten met een paar regels code. Dat voeg je toe aan .htaccess in de root van je op de server.
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.jouwwsite.nl/$1 [R,L]
Daarbij vervang je ‘jouwsite.nl’ natuurlijk voor de url van je domein. Als je geen www gebruikt in het adres van de site, haal dat dan ook uit deze ‘snippet’. Dan wordt het dus https://jouwwsite.nl
WooCommerce?
Als je een webshop hebt met WooCommerce, dan moet je een stapje extra zetten. Je moet nog steeds Really Simple SSL installeren en inregelen of dat stukje code aanpassen en in .htaccess plakken. Vervolgens ga je naar WooCommerce → Instellingen → Checkout en selecteer je Force Secure Checkout. Wees slimmer dan ondergetekende en vergeet die aanpassing niet op te slaan…
Test je webshop vervolgens uitgebreid om verrassingen te voorkomen. Loop je tegen problemen op, kijk dan op deze pagina voor oplossingen: https://docs.woocommerce.com/document/ssl-and-https/
Maar dan begint het echte werk…
Je zult niet de eerste zijn: je website draait op HTTPS maar een paar plugins houden er mee op, al je ‘likes’ (Facebook, Pinterest, Google+ en whatever) staan ineens op nul (paniek!) en je bent in Google niet meer terug te vinden.
Blijf ademen…
Als plugins niet werken, is de remedie vaak opvallend simpel: deactiveren en opnieuw activeren. In heel veel gevallen lost dat het probleem op. Zo niet, ga naar de hulppagina van de plugin op WordPress.org. Je bent vast niet de eerste gebruiker die overstapt op HTTPS en dus ook niet de eerste met dit probleem. In veel gevallen is er een oplossing voor handen. Zo niet, dan kun je er van uit gaan dat de plugun niet (meer) wordt onderhouden. Dan heb je nog maar één optie: zoek een alternatief. Let dan wel even op of die wél SSl aan kan.
En mijn ‘likes’…?
Is je door de jaren heen met hard werken verdiende ‘social proof’ terug naar nul na de overstap op HTTPS? Daar is wat aan te doen. Maar een waarschuwing vooraf: dat gaat niet altijd even snel en simpel. Tenzij je de eerder genoemde plugin Really Simple SSL hebt geinstalleerd. De makers van die plugin hebben namelijk een andere plugin gemaakt die er voor zorgt dat je ‘socials’ behouden blijven. Die plugin is genaamd Really Simple SSL Social (je had het kunnen weten) en is hier verkrijgbaar.
Eigenlijk heeft die plugin maar één nadeel: hij kost geld. €15 ($20) om precies te zijn. Eenmalig. Geloof me – als je door de overstap naar HTTPS tegen de bodem van je sociale schatkist kijkt, dan is dat een schijntje. Het handmatig fixen van dit probleem kost je een dag – zelfs als je een ervaren ‘coder’ bent – en waarschijnlijk ben je er dan nog niet.
Er is overigens een tweede alternatief. De Premium versie van Social Warfare kan je likes ook terughalen. We hebben er zelf geen ervaring mee, maar die optie schijnt prima te werken. Nadeel van Social Warfare is dat de plugin €29 kost. Voordeel is dat je voor dat bedrag verreweg de beste en meest uitgebreide ‘social plugin’ van de wereld op je site plaatst, inclusief mogelijkheden zoals ‘click to tweet’ en noem maar op.
Even geen budget voor wat voor plugin dan ook? Dat kan natuurlijk. Dan kun je online gaan uitvogelen hoe je je site op HTTPS houdt en tegelijkertijd de sociale waarde behoudt. Het is te ingewikkeld en tijdrovend om hier uit te leggen. En om heel eerlijk te zijn: als je niet in staat bent om zakelijk €15 of €29 op te hoesten, dan moet je misschien om heel andere dingen druk maken dan oom HTTPS.
En wat zegt Google over HTTPS
We begonnen deze exercitie om je website veiliger te maken en (geef het maar toe!) om een wit voetje te halen bij Google. Dat is eerste is gelukt, maar dat tweede vraagt wat extra aandacht, tijd en energie.
Vergis je niet: in de ogen van Google, is http://www.jouwwebsite.nl/pagina1 een heel andere pagina dan https://www.jouwwebsite.nl/pagina1. Dat kan je positie in de zoekmachines om allerlei redenen negatief beïnvloeden.
Dat is uiteraard niet de bedoeling.
Een van de eerste dingen die je moet doen zodra je bent overgestapt op HTTPS is voor de HTTPS-versie van je website een nieuw profiel aanmaken in Google Search Console. Dien op dat profiel meteen je nieuwe sitemap in.
Een ander probleem dat je moet oplossen zijn ‘hard coded’ interne links. Die verwijzen naar de HTTP-versie van een pagina of bijvoorbeeld een foto en niet naar de HTTPS-versie. Je kunt dat vrij snel en opvallend effectief doen met de plugin Better Search Replace. Zoek met behulpvan die plugin naar “http://www.jouwwebsite.nl” en vervang die door “https://www.jouwwebsite.nl.” Lost het probleem bijna altijd op met één druk op de knop. Daar houden we van!
Het probleem dat we net beschreven staat bekend als ‘wordpress https mixed content’. Oftewel: op een en dezelfde pagina in je WordPress site staat content dat wel veilig achter een certificaat draait en content die niet is beschermd. Een praktische, online tool om dat probleem zichtbaar te maken (zodat je het kunt aanpakken) vind je op SSL Check. Die scant alle pagina’s op je website voor content die (nog) niet onder het HTTPS-protocol valt. Vaak zijn dat foto’s of bijlagen.
Tot slot
Hou je ranking in de gaten zodra je bent overgestapt. Waarschijnlijk zak je eerst even weg. Maak je geen zorgen. Dat is een normaal beeld. Als het goed is, stuiter je terug op minimaal hetzelfde niveau. Als het een beetje meezit, misschien een paar plekjes hoger. Het resultaat kan verschillen van pagina tot pagina. Maar wat het resultaat ook is: het duurt even. Geef Google de tijd om je opnieuw te waarderen. Reken in weken en niet in dagen. Komt goed. Is het vandaag niet, dan bewijst HTTPS zijn waarde wel in de komende periode.