Le CDN ne fonctionne pas, les fichiers ne sont pas envoyés au CDN

Si après avoir activé l'option CDN et entré votre CNAME dans les réglages de WP Rocket, vous voyez que vos fichiers ne sont pas distribués depuis votre CDN, vérifiez les points suivants.

Allez dans réglages > Général et vérifiez la valeur de l'option Adresse web du site. Est-ce que celle-ci a les www devant le domaine ?

Techniquement, les versions www et non-www de votre domaine sont considérés comme 2 domaines séparés. Lorsque WP Rocket ré-écrit les URLs de vos fichiers avec votre CDN, il va utiliser la version du domaine spécifiée dans ce réglage Adresse web du site. Toute autre version sera considérée comme un domaine externe et donc non ré-écrit.

Donc, si vous utilisez la version www, vous devez faire attention à que tous les liens de vos fichiers l'utilisent, sinon ils ne seront pas ré-écrit.

Dans cette exemple, il y a deux images, une utilise  http://www.lucybeer.com et l'autre utilise http://lucybeer.com

Seule la première image est réécrite avec l'adresse du CDN, l'autre ne l'est pas car il manque les www :

Liens relatifs vers les ressources

Utiliser des liens relatifs vers les ressources est incompatible avec la fonction CDN. Vous devez utiliser des liens contenants le nom de domaine de votre site. S'il n'y a pas de nom de domaine, nous ne pouvons pas le détecter et le réécrite vers votre domaine CDN.

Par exemple, ce type de format ne fonctionnera pas :

/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js?ver=2.2.10

Celui-ci fonctionnera :

http://example.com/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js?ver=2.2.10

CDN pour les utilisateurs connectés sans cache.

Le remplacement de l'URL de votre domaine par l'URL CDN par WP Rocket se fait en deux passes.

La première utilise les hooks WordPress disponibles chaque fois que cela est possible et sera effectuée pour les pages mises en cache et non mises en cache:

  • template_directory_uri
  • wp_get_attachment_url
  • smilies_src
  • stylesheet_uri
  • wp_get_attachment_image_src
  • wp_calculate_image_srcset
  • the_content
  • widget_text
  • style_loader_src
  • script_loader_src

La deuxième passe est uniquement appliquée à la page mise en cache, en utilisant notre hook de filtre rocket_buffer. Il remplacera n'importe quel fichier CSS/JS ou image ajouté à la page et ne passera pas par les hooks précédents.