Vous voyez l’avertissement « Parallelize Downloads Across Hostnames » dans Pingdom, GTmetrix, ou Google PageSpeed Insights ? En effet, les navigateurs Web sont limités au nombre de connexions simultanées qu’ils peuvent établir avec un hôte. Ceci est principalement dû à HTTP/1.1 dans lequel les navigateurs ouvrent en moyenne 6 connexions par nom d’hôte. Cet avertissement est généralement affiché sur les sites Web qui reçoivent un grand nombre de requêtes. Dans le passé, la seule façon de contourner cette limitation était de mettre en œuvre ce qu’ils appellent le sharding de domaine.

parallelize downloads across hostnames
Remarque : Si vous utilisez HTTPS avec un fournisseur qui prend en charge HTTP/2, cet avertissement peut généralement être ignoré en toute sécurité. Avec HTTP/2, plusieurs ressources peuvent maintenant être chargées en parallèle sur une seule connexion.

Selon l’outil ou le logiciel qui le signale, l’avertissement peut apparaître de deux façons différentes :

  • « Parallelize Downloads Across Hostnames »
  • « Increase download parallelization by distributing these requests across multiple hostnames »
pingdom parallelize downloads across hostnames

Si vous utilisez toujours HTTP et que vous n’avez pas encore migré vers HTTP/2, vous pouvez suivre le tutoriel ci-dessous pour savoir comment mettre en œuvre le partage de domaines. Encore une fois, la plupart des techniques sont maintenant considérées comme désuètes. Plus de 77% des navigateurs supportent maintenant HTTP/2 lorsqu’ils fonctionnent sur HTTPS, ainsi que de nombreux fournisseurs de CDN et d’hébergement web, dont Kinsta. Il est également important de noter que Pingdom ne supporte pas encore HTTP/2 puisqu’il utilise une version plus ancienne de Chrome.

Correction de l’avertissement « Parallelize Downloads Across Hostnames ».

Le sharding de domaine consiste à répartir vos ressources sur plusieurs sous-domaines. Vous pouvez ainsi multiplier le nombre de requêtes simultanées. L’utilisation du sharding de domaine vous donne également la possibilité de charger du contenu sur des sous-domaines sans cookie. Cependant, il est également important de noter qu’il y a quelques inconvénients à cela. En introduisant des sous-domaines supplémentaires, vous ajoutez plus de requêtes DNS, ce qui augmente les temps de résolution et vous perdez une grande partie de vos avantages de mise en cache. Suivez les étapes ci-dessous pour le configurer.

1. Configuration de sous-domaines supplémentaires

La première chose à faire est de créer des sous-domaines supplémentaires et/ou des enregistrements CNAME à répartir sur l’ensemble des requêtes pour vos ressources statiques. Vous pouvez le faire chez votre bureau d’enregistrement DNS ou si vous êtes un client Kinsta, vous pouvez également modifier vos enregistrements DNS depuis votre tableau de bord MyKinsta. Généralement, pas plus de 4 sont recommandés. Vous devrez pointer vos CNAME supplémentaires sur votre répertoire /wp-content. Un exemple de configuration pourrait être :

domaine.com
static1.domaine.com
static2.domaine.com
static3.domaine.com

2. Modifier la configuration de WordPress

Vous devez ensuite configurer WordPress pour paralléliser les téléchargements entre les sous-domaines. Ajoutez simplement le code suivant au fichier functions.php de votre thème WordPress (src : GitHub). Et remplacez les valeurs $subdomains par vos sous-domaines. Tous les sous-domaines/nom d’hôte DOIVENT avoir la même structure/chemin.

function parallelize_hostnames($url, $id) {
 $hostname = par_get_hostname($url); //call supplemental function
 $url = str_replace(parse_url(get_bloginfo('url'), PHP_URL_HOST), $hostname, $url);
 return $url;
}
function par_get_hostname($name) {
 $subdomains = array('media1.mydomain.com','media2.mydomain.com'); //add your subdomains here, as many as you want.
 $host = abs(crc32(basename($name)) % count($subdomains));
 $hostname = $subdomains[$host];
 return $hostname;
}
add_filter('wp_get_url', 'parallelize_hostnames', 10, 2);

Cette même technique peut également être utilisée avec les fournisseurs de CDN tels que KeyCDN, MaxCDN et CloudFlare pour corriger l’avertissement  » Parallelize Downloads Across Hostnames ». Cependant, presque tous les fournisseurs CDN supportent maintenant HTTP/2 dans lequel le sharding de domaine n’est pas recommandé. Et vous pouvez toujours servir les ressources d’un CDN via HTTPS même si vous n’avez pas encore migré votre site WordPress vers HTTPS.

9
Partages