Joomla CDN (Content Delivery Network)

logo pdb
Ryte.com (voorheen On-page.org) is een van de beste on-page SEO tools, aanbevolen door Joomlaseo.com (zie onze review). Gratis voor 1 account (voor altijd)!!!

Een Content Delivery Network is een netwerk van servers verspreid over de hele wereld. Deze servers kunnen je helpen om mensen die je website opvragen in staat te stellen de daarvoor benodigde bronnen van een zo dichtbij mogelijk gelegen locatie te downloaden. Zo kun je ervoor zorgen dat ook iemand die in bijvoorbeeld Zuid Amerika woont je website die in Amsterdam gehost word snel kan laden. Zeker als je veel bezoekers van over de hele wereld hebt is een CDN erg nuttig:

Ook als je website in een groot land gehuisvest is kan het al zin hebben om een CDN te gebruiken. Daarnaast kan het ook performance voordelen opleveren omdat niet al het verkeer van je eigen server komt, maar ook verdeeld wordt over de CDN servers.

CDN tip: KeyCDN

Op zoek naar een makkelijk op te zetten CDN? Probeer KeyCDN. Het is erg snel en biedt gratis Let's Encrypt SSL integratie. Je kan het trouwens gratis uitproberen!

Wat doet een CDN precies?

Je kunt een CDN op meerdere manieren opzetten, maar in de meeste gevallen is het zo dat als je een CDN opzet voor je website, de statische bestanden vanaf het CDN ingeladen worden. Dit gaat dan onder andere om de volgende bestandstypes:

  • Plaatjes
  • CSS files
  • Javascript files
  • Lokaal opgeslagen webfonts
  • Enzovoorts

Alles wat wel verandert, met name dus de HTML met de tekst van je artikelen moet niet van het CDN gehaald worden, want dat moet zo actueel mogelijk zijn. Meestal wordt dan al snel zo'n 70-80% van de kB's van je website door het CDN verzorgt.

Je ziet in de broncode van je website ook daadwerkelijk waar de statische bestanden vandaan worden gehaald. Laten we eens een voorbeeld bekijken. Stel, er wordt een plaatje in een artikel getoond. Zonder CDN ziet dat er in de broncode als volgt uit:

<img src="/images/plaatje.jpg." />

Met een actief CDN ziet dat er dan zo uit:

<img src="/https://cdn-url-xxxxx.netdna-cdn.com/images/plaatje.jpg" />

Je ziet duidelijk het verschil. In plaats van de relatieve URL die het plaatje van de eigen server laadt, wordt het plaatje nu van de absolute externe URL van het Content Delivery Network gehaald. Voor de werking van het CDN maakt het niet uit dat er zo'n lange gekke URL gebruikt wordt. Wel kun je deze URL vaak nog wel weer zo opzetten dat het lijkt alsof de bestanden van een subdomein van je eigen website opgehaald worden (dit werkt met een CNAME record dat verwijst naar het CDN, zie deze blogpost voor een uitgebreide tutorial). Dit laatste hoeft niet per se als het te ingewikkeld klinkt.

Implementatie van een CDN

Als je een Joomla CDN wilt gebruiken moet je grofweg 2 stappen doornemen, het is eigenlijk vrij eenvoudig op te zetten:

  1. Schrijf je in voor een CDN leverancier. Er zijn er verschillende, sommige goedkoop, andere duurder, of varianten die e alleen laten betalen voor de gebruikte bandbreedte.
  2. Configureer het CDN in Joomla met een extensie.

Een alternatief wat nog makkelijker is is om gebruik te maken van CDN functionaliteit van je webhost. Veel internationale webhosting providers (waaronder Siteground.com) bieden een 1-klik CDN installatie aan met Cloudflare. Dit werkt zeer eenvoudig (en gratis!), zie deze blogpost met een Cloudflare CDN tutorial met Siteground.

CDN Providers

Als je een CDN aanbieder zoekt, let dan ook hier weer op reputatie, support, performance, enzovoorts, net als bij het kiezen van je webhost. Let ook op specifieke eisen die zij aan je website stellen. Zo verplicht Cloudflare je om je website over www beschikbaar te maken. Goede en bekende diensten die goed functioneren, met goede Joomla ondersteuning zijn onder andere:

  • KeyCDN: Hier op Joomlaseo.com, zeer aanbevolen. Simpel op te zeten en goedkoop, vooral voor kleinere sites ($0.04 voor de eerste 10TB), met gratis Let's Encrypt SSL ondersteuning.
  • MaxCDN Content Delivery Network: Aanbevolen. Biedt ook gratis shared SSL.
  • Cloudflare: Aanbevolen, en zeer simpel en gratis in te stellen voor Siteground klanten.
  • Amazon Cloudfront
  • Enzovoorts

Met uitzondering van Cloudflare zijn wat simpele configuratiestappen nodig. Over het algemeen moet je eerst je site registreren bij de CDN aanbieder, soms wat een paar simpele voorkeurs instellingen. Je krijgt dan een URL waarover je website bestanden dan te bereiken zijn. Deze URL moet je dan opschrijven en in Joomla instellen in je CDN plugin in Joomla.

Web Hosting

CDN plugins

Er zijn meerdere extensies in de JED. Welke je nodig hebt kan soms afhankelijk zijn van de gekozen CDN aanbieder:

Als je al een optimalisatieplugin als Jbetolo of JCH-Optimize gebruikt heb je vaak geen aparte plugin nodig, deze hebben allebei CDN-support aan boord. Set-up is vrij simpel, check wel even of ook deze plugins jouw provider ondersteunen.

Hoe implementeer je de verschillende CDN's?

Nu de mogelijkheden en opties zijn behandeld laat ik je ook nog even zien hoe je de 3 meest populaire providers in je Joomla site kunt implementeren, met bijbehorende tutorials:

MaxCDN tutorial

Hier op Joomlaseo.com gebruik ik de NoNumber plugin met MaxCDN, Zie deze zeer uitgebreide blogpost elders op deze site. Ook het opzetten van een custom domein voor je URL's wordt hier goed uitgelegd.

Check ook deze korte Youtube video over het opzetten van een CDN:

Tip: Webfonts: In sommige gevallen kun je tegen wat zaken aanlopen bij je CDN, zoals het niet-tonen van webfonts. Sommige browsers weigeren namelijk webfonts van derden als Google Fonts of Typekit als ze via een CDN worden geladen wegens veligheids restricties die te streng zijn ingesteld. Met deze MaxCDN blogpost kun je dit probleem simpel oplossen.

Cloudflare tutorial

Elders op deze site vindt al een zeer uitgebreide Cloudflare blogpost. Cloudflare is extreem eenvoudig (en gratis) op te zetten middels webhosts als Siteground. Er is in dat geval geen enkele configuratie binnen Joomla nodig, je regelt alles vanaf de host.

Amazon Cloudfront tutorial

Dit is de enige waarvoor ik geen aparte tutorial heb, dus ik zal deze kort hier beschrijven. Ga eerst naar console.aws.amazon.com/cloudfront en registreer je. Je ziet dan eerst een leeg dashboard met een grote blauwe button genaamd Create Distribution:

create distribution

Kies voor Web-distribution, niet RTMP. Je krijgt dan een vervolgscherm wat er door de vele settings erg ingewikkeld uitziet, maar dat valt mee, alleen het eerste veld voor je domein is verplicht, de rest is optioneel of wordt met standaardwaardes gevuld als je klikt op Create Distribution onderaan de pagina:

cloudfront distribution settings

Vervolgens verschijnt een record voor je domein in de lijst. Het Status-veld toont eerst In Progress voor een minuut of 10-15, voordat alle bestanden van je site over het netwerk zijn verdeeld over het AWS netwerk. Schrijf in de tussentijd de Domain Name op, normaal gesproken iets als dygofnoea4ttg.cloudfront.net of zoiets.

Dan nu naar Joomla: Zorg dat je de NoNumber plugin CDN for Joomla hebt geinstalleerd en ga er naar toe. Het enige wat je echt moet invullen is CDN Domain, de rest is optioneel:

cdn domain

Sla de plugin op en de set-up is compleet. Je statische bestanden worden nu geladen vanaf het AWS Cloudfront network.

KeyCDN tutorial

Implementatie van KeyCDN is erg eenvoudig: creeer een account met een subscriptie (ze zijn erg goedkoop) en meld je aan met je account. Klik dan de Zones optie. Als je nog geen zones hebt krijg je direct een scherm om er een toe te voegen. Vul een willekeurige naam in voor de zone en de URL van je site. Zorg dat je de default voor Pull Zone laat staan, dat werkt het beste met Joomla. Voor gevanaceerde opties als SSL en finetuning van de download-opties kun je een vinkje zetten bij Show Advanced Features:

keycdn add zone

Dan word je zone direct geactiveerd, met een groene statusbalk die laat zien hoe snel de bestanden van je site over het netwerk verspreid worden. Dit duurt meestal een paar minuten:

keycdn all zones

Noteer de Zone URL die voor je is aangemaakt en kopieer die. Installeer dan CDN for Joomla van NoNumber en vul de Zone URL in het CDN Domain veld. En dat is het, je CDN zou nu moeten werken.

Het is ook vrij eenvoudig om een custom domein aan te maken zoals cdn.example.com of zoiets. Check de MaxCDN tutorial voor details hoe dit op te zetten aan de host kant.

CDN tip: KeyCDN

Op zoek naar een makkelijk op te zetten CDN? Probeer KeyCDN. Het is erg snel en biedt gratis Let's Encrypt SSL integratie. Je kan het trouwens gratis uitproberen!

 

Over deze site

Joomlaseo.com is volledig gebouwd en geschreven door Simon Kloostra, SEO Specialist en Webdesigner uit Utrecht. Ik heb ook een boek geschreven en blogs voor bedrijven als OStraining, TemplateMonster, SEMrush en dergelijke.