WordPress : Quel est le problème si j’utilise CDN dans mon thème parent WordPress (construit avec bootstrap) ?

Publié par Jean-Michel le

Lorsque je lance la « vérification des thèmes », il recommande de ne pas utiliser CDN. J’utilise Bootstrap CDN de cette façon

function underscore_bootstrap_wp_scripts() {

/*   bootstrap and font awesome and animate css  */
wp_enqueue_style( 'bootstrap_cdn', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css' );
wp_enqueue_style( 'fontawesome_cdn', 'https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css' );

/*   default underscores styles  */
wp_enqueue_style( 'underscore_bootstrap_wp-style', get_stylesheet_uri() );

/*  bootstrap js  */
wp_enqueue_script('bootstrap_js_cdn', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js',array('jquery'),'',true);

/*   default underscores js  */
//wp_enqueue_script( 'underscore_bootstrap_wp-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20151215', true );
wp_enqueue_script( 'underscore_bootstrap_wp-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20151215', true );

/* my stylesheet and js */
wp_enqueue_style( 'custom_style_css', get_template_directory_uri(). '/css/main.css' );
wp_enqueue_script('custom_js', get_template_directory_uri(). '/js/main.js',array('jquery','bootstrap_js_cdn'),'',true);

if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
    wp_enqueue_script( 'comment-reply' );
  }
}

Le plugin  » Themes Check  » montre –

RECOMMANDÉ : Trouvé l’URL d’un CDN dans le code : maxcdn.bootstrapcdn.com/font-awesome. Vous ne devez pas charger de ressources CSS ou Javascript à partir d’un CDN, veuillez les regrouper avec le thème.

RECOMMANDÉ : Trouvé l’URL d’un CDN dans le code : maxcdn.bootstrapcdn.com/bootstrap. Vous ne devez pas charger de ressources CSS ou Javascript à partir d’un CDN, veuillez les regrouper avec le thème.

Solution n°1 trouvée

Comme l’a dit daniyalahmad, il est préférable de ne pas inclure de liens vers des actifs externes dans votre thème. Un bon exemple de cela récemment. J’utilise un thème de MyThemeShop et ils sont liés à html5shim externe. Google a récemment cessé d’héberger cela et j’ai donc commencé à obtenir un 404 sur mon site Web. C’était facile pour moi de simplement le commenter, mais pour les utilisateurs typiques, c’est un gros problème.

Il y a maintenant 1,5 million d’instances d’une URL googlecode html5shim morte sur GitHub : https://www.reddit.com/r/programming/comments/4u47ak/15m_instances_of_a_dead_html5shim_googlecode_url/

Lorsque vous emballez un thème, emballez-le toujours avec lui. Et si vous ne voulez pas l’inclure, écrivez un tutoriel pour vos utilisateurs sur la façon de le déployer après coup. S’ils veulent créer un lien externe, c’est généralement bien, mais pas dans le thème de base.

Solution n°2 trouvée

Votre thème ne doit dépendre d’aucune bibliothèque de liens externes. Il n’y a aucune garantie que cette bibliothèque puisse être supprimée. C’est la raison pour laquelle tous vos actifs de thème doivent être emballés avec le thème, pour éviter les risques futurs.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *