Les CDN (content delivery network) pour réseau de diffusion de contenu sont des réseaux de serveurs de part le monde afin de réduire les temps d’accès des sites WEB.
Le but est de proposer des serveurs le plus proche possible des internautes.
Initialement réservé aux sites internet importants comme Facebook, Twitter etc.
Des offres de CDN ont vu le jour notamment pour viser les sites internet en WordPress.
Le but est d’accélérer les temps de réponse en déposant certains contenus statiques comme les images, Javascript, le CSS, etc.
Enfin certains CDN peuvent aussi apporter un gain en sécurité grâce au WAF (Web Application Firewall).
Voici quelques explications autour de ces CDN dans l’optique d’accélérer et optimiser WordPress.

Table des matières
Pourquoi utiliser les CDN ?
Tout simplement car Google et les moteurs en général prennent de plus en plus en compte la vitesse de réponse et temps de chargement des sites WEB dans le référencement.
Plus votre site internet est rapide mieux conçu, mieux, il sera placé dans les résultats des moteurs de recherche.
Cela joue donc considérablement sur le trafic final du site.
Dans un second temps, si vous utilisez les publicités sur votre site, une meilleur vitesse peut engendrer de meilleurs revenus.
Les CDN permettent d’améliorer sensiblement la vitesse de votre site internet.
Première parce qu’ils sont au plus près des internautes.
Toutefois, cela est utile que pour les sites internationaux et ces derniers devront choisir un CDN avec des datacenters bien réparties dans le monde.
En second lieu, cela permet de décharger votre serveur WEB puisqu’une partie du trafic sera géré par le CDN.
Enfin certains CDN jouent aussi la carte de la sécurité en proposant des offres de WAF.
Il s’agit de Firewall applicatif capables de bloquer des requêtes HTTP en amont de votre serveur WEB.
On peut aussi utiliser les CDN pour protéger un site WEB contre les attaques par déni de service.
Comment les CDN fonctionnent
Les CDN ont des serveurs réparties dans différents datacenter de part le monde.
Lorsque qu’un internaute se connecte à votre site, il sera automatiquement redirigé vers le serveur du CDN le plus proche.
D’un point de vue technique, le CDN fonctionne comme un proxy-reverse.
Ce dernier se place en amont de votre site WEB et met en cache certains contenus statiques ou le site en entier.
Ainsi, lorsque l’internaute charge ce contenu, il est pris sur le CDN et non sur votre serveur WEB.
Cela permet de décharger votre serveur WEB.
En utilisant un CDN vous pouvez donc prendre des serveurs dédiés ou mutualisés de moindre importance tout en étant moins pénaliser par les pics d’activité.
On distingue deux fonctionnements de CDN pour WordPress.
CDN sur le contenu statique
Cette première utilisation vise à faire passer que le contenu statique comme les images, Javascript et autres sur le CDN.
Pour se faire, on prend une offre de CDN (voir plus bas) puis on utilise une extension pour réécrire les requêtes liées aux contenus statique.
Celle-ci peut se faire par une extension dédiée comme CDN Enabler ou une extension de cache capable de gérer les CDN.
La plupart des extensions de cache le fond mais sont dédiés à des CDN en particulier.
Full CDN (via DNS)
La deuxième méthode est une redirection totale du trafic WEB via le CDN.
Pour se faire on change les entrées DNS vers les adresses du CDN.
Ce dernier vous fournit ces adresses lors de la souscription.
Il en résulte que lorsqu’un internaute se connecte à votre site WEB, il va se connecter au CDN.
Cela apporte plusieurs plusieurs gains intéressants :
- La vitesse de réponse est en général meilleur
- Vous bénéficiez du cache du CDN
- Si ce dernier propose des fonctionnalités de WAF : les attaques peuvent bloquer. De même pour les attaques DDoS.
Interface de gestion des CDN
Les CDN offrent des interfaces de gestion (DashBoard) avec les informations à déclarer mais aussi un suivi et logs des connexions (logs, graphiques, etc).
Ci-dessous l’interface de StackPath avec quelques statistiques comme la bande passante utilisée, la géolocalisation et le cache hit.
WAF et Anti-DDoS
Le WAF est donc un Firewall applicatif au niveau HTTP.
Selon le contenu des requêtes HTTP, le firewall peut interdire l’accès à une ressources et retourner une erreur 403.
La plupart des CDN offrent des fonctions de WAF.
Voici par exemple ce que propose Sucuri :
- Liste noire et blanche d’adresse IP
- Bloquer l’accès à une page WEB, à un User-Agent, Référant ou Cookies.
- Un filtrage de géo-localisation est aussi possible
- Protéger l’accès à une page WEB (mot de passe, Google Authentification, Captcha).
Lorsqu’une opération interdite ou attaque est détectée, le Firewall (WAF) bloque l’accès.
Bien entendu, Sucuri offre des informations sur les accès ou blocage effectués par le Firewall.
A titre informatif, il est possible de monter son propre WAF notamment avec l’extension modsecurity disponible pour Apache ou Nginx.
L’article suivant présente l’extension : Présentation modsecurity pour Apache
Le problème est que cela alourdit le serveur WEB et peut entraîner des hausses du temps de réponse.
Enfin notez que Nginx est capable de bloquer l’accès à des ressources sur la geoip sans modsecurity.
Plus de détails sur notre article :
Par exemple le web Firewall de Cloudflare :
Quelques offres de CDN
Il existe beaucoup d’offres de CDN dont certaines sont très axés WordPress.
Souvent des extensions pour utiliser ces derniers sont créés ou compatibles avec les extensions de cache.
Voici une liste des CDN plutôt dédiés WordPress.
Les prix d’un CDN pour WordPress sont d’environ 10 à 20/25 euros par mois.
Certains ont des offres gratuites limitées à un certain volume de données mensuel.
- CDN77 (Offre gratuite d’essai)
- CloudFlare (Réputé pour sa protection DDoS)
- Incapsula (plutôt accès Anti-DDoS)
- Photon by Jetpack
- Sucuri (Plutôt accès sécurité pour WordPress)
- KeyCDN
- MaxCDN
- MetaCDN (Offre gratuite d’essai)
- Rackspace
- eyCDN (Offre gratuite d’essai)
- StackPath (Offre gratuite d’essai)
Les CDN qui suivent proposent la mise en ligne de bibliothèques comme Jqery par exemple.
- Cdnjs
- jsDeliver
- Bootstrap CDN
Enfin les CDN plus généralistes.
- AWS Cloudfront
- Google Cloud CDN
- Microsoft Azure CDN
- Cloudinary
Exemple d’une architecture avec CDN
Le site malekal.com a été passé sur un CDN à partir de février 2019.
Voici un exemple avec le CDN Sucuri :
ou encore avec Cloudflare :
Conclusion
Si votre site WordPress commence à prendre de l’importance alors vous devez vous poser la question de l’utilisation d’un CDN.
Bien entendu, il faut de bonnes pratiques pour vraiment rendre votre site le plus rapide possible.
La page suivante peut vous y aider :
Le site malekal.com a été basculé sur Sucuri récemment.
Pour plus de détails sur l’architecture et les impacts, lire l’article : Optimisation WordPress : WP-Rocket + Sucuri