11480 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Je réalise l'audit SEO d'un site qui est très lent. Je maîtrise, pas de souci... sauf pour 2-3 points un peu technique et notamment ce qui concerne Javascript.
La page d'accueil du site est assez basique mais elle fait appel à 31 javascript. Ca me parait énorme.
Est-ce que ça vous parait judicieux ?

Le site est fait avec wordpress + woocommerce.

Voici la liste des script.

upload/63725-javascript.JPG

Pourriez-vous me donner votre avis ?

Merci
Moi j'ai aussi un WordPress mais je n'ai qu'un seul fichier. Les fichiers supplémentaires sont appelés seulement s'ils sont nécessaires.

WordPress possède une fonction dédiée pour cela (wp_enqueue_script()), moi je préfère faire appel à un script (jQuery) en front avec la fonction $.getScript()

Exemple : Scriptura : Main.js
Modifié par Olivier C (21 Jan 2017 - 20:38)
Olivier C a écrit :
Moi j'ai aussi un WordPress mais je n'ai qu'un seul fichier. Les fichiers supplémentaires sont appelés seulement s'ils sont nécessaires.

WordPress possède une fonction dédiée pour cela (wp_enqueue_script()), moi je préfère faire appel à un script (jQuery) en front avec la fonction $.getScript()

Exemple : Scriptura : Main.js


Merci pour la réponse mais je dois avouer que je n'y comprends pas grand chose parce que je ne suis pas du tout calée en matière de fonctionnement du javascript.
Est-ce que cela signifie que se poser la question d'avoir 1 ou 31 fichiers n'a pas de sens et que les fichiers ne seront appelés que s'ils sont nécessaires à l'affichage de la page ?
Modifié par carineb (21 Jan 2017 - 20:56)
Bonjour,

J'apporte ma contribution.

Votre site wordpress, vu les 31 fichiers .js que je vois, est majoritairement composé de plugins, ce qui veut dire que pratiquement tous les composants du site (et peut-être animations), sont des plugins. Ces plugins sont des scripts jquery. Donc, la seule façon de diminuer le nombre de scripts, serait, selon ma compréhension, de coder tous les composants soi-mème et tout mettre dans un seul fichier .js.

Je pense pas que vous devriez vous en souciez. C'est peut-être laid à voir mais c'est le coeur de votre site. Ce sont ces plugins qui font tout le travail et ils sont maintenus, le plus souvent, par d'excellents développeurs.

J'espère vous avoir éclairé.....

PS: Si quelqu'un avec plus d'expérience trouve que j'ai tord, n'hésitez pas à le signaler.
Merci pour la contribution.

Je viens de regarder dans l'administration wordpress. Il y a 34 plugins sur ce site et, même si je n'ai pas utilisé tous ces plugins quand j'ai créé des sites, je connais de nom la quasi totalité de ces plugins. Pour ceux que je ne connaissais pas j'ai regardé s'ils étaient bien notés et il n'y a pas de problème de ce côté. Donc, en effet, je pense que ce ne sont pas les plugins les fautifs de cette lenteur.
Je n'ai pas demandé au propriétaire du site s'il a fait faire des développements spécifiques mais je ne pense pas. Vu le nombre de plugins installés, cette société est plutôt adepte des solutions "clés en main".

Cette lenteur reste un mystère... Smiley decu
Je pense que ça doit venir des plugins, malgré le fait que pour la plupart c'est la version minifiée qui est chargé, mais ça reste du code quand même, 31 requêtes htttp.
J'ai passé le site sur le validator W3C. Il y a plein d'erreurs. Plus d'une centaine d'erreurs qui sont presque toutes les mêmes :
- des "id" qui apparaissent plusieurs fois sur la même page alors qu'il n'en faut qu'un
- des espaces dans certaines parties du code. En fait ce sont des tirets - dans les urls présentent dans le code et c'est donc lu comme un espace.
Je ne sais pas si ça peut expliquer que des pages s'affichent en 5 ou 10 secondes.

Un outils en ligne m'indique que le poids à télécharger pour la page est de 2,7 Mo dont 2Mo pour le CSS et Javascript.
Les photos pourraient être allégées.
Le poids du HTML semble ne pas poser de problème.

Ca me laisse penser que les javascript ne font pas du bien à la performance de ce site mais comme ce sont des plugins ça m'a l'air compliqué de les supprimer.

Je ne vois pas quoi faire pour optimiser la vitesse. Quelqu'un aurait une idée ?

upload/63725-yakaferci.JPG
De tout façon les erreurs relevées au validateur n'expliquent pas la lenteur du site...

Non, avant de s'intéresser au front il faut aller voir côté back. Déjà le serveur arrive-t-il à suivre ? Sans être un expert en la matière, si l'on met un thème par défaut avec tous les plugins désactivés on peut vite voir si les effets de lenteur persistent. Ensuite on peu réactiver les plugins un à un et retourner voir...

Quoi qu'il en soit, 31 plugins c'est beaucoup trop, et contrairement aux notations des scripts sur Github je pense que l'on ne peut pas se fier aux notations des plugins sur les plateformes WordPress : les gens qui les notes ne sont pas des développeurs, ce sont pour la plupart d'entre eux de simples utilisateurs qui attribuent une note a un plugin qu'ils ont trouvé super génial ou au contraire qu'ils n'ont pas réussit a mettre en place car trop compliqué pour eux. Bref, ils notent les fonctionnalités, pas le code et son éventuelle optimisation.
Bonjour

J'ai vérifié du côté du serveur. Il n'y a pas de problème.
J'ai pris plusieurs outils en ligne. Page Speed Tools de Google Developers indique : "votre serveur a répondu rapidement".
J'ai multiplié les tests sur GTMetrix, WebsitePulse, Pingdom... Tout est au vert côté serveur.
J'ai juste repéré que l'IP a été blacklistée par SpamCannibal mais ça ne peut avoir une incidence que sur les mails, pas sur la vitesse du site.

Un extrait de ce que j'obtiens sur GT Metrix :

upload/63725-GT1.JPG

upload/63725-GT2.JPG

Il y a très peu de recommandations d'amélioration par rapport à ce que j'ai pu voir sur d'autres sites. Mais, une fois de plus ça tourne autour du nombre de requêtes, du CSS et JavaScript.
Pour la suggestion concernant un CDN je pense que ça ne changera rien. La société est en Suisse et son activité ne cible qu'une partie de la Suisse.

Pour mes analyses SEO j'ai un tableau excel qui liste près de 150 points à analyser (technique, contenu, popularité). Je ne vérifie pas tout à chaque fois, c'est un peu à la carte, mais pour ce site j'ai vérifié TOUS les points "technique" qui sont listés dans mon tableau. Et, je n'ai que le css et javascript en warning.

Je vais suggérer à la société de faire du ménage dans les plugins.
Merci encore pour votre aide.
Et sur google page speed, il te dit que le serveur est lent ? Parce que tu peux faire tout les optimisations possible si le serveur ne répond pas assez vite tu ne seras jamais dans le vert.

Autrement, c'est clair que ton client n'aura jamais de bon résultat sans faire des développement plus spécifique. Mais bon ce n'est qu'une partie du seo alors est-ce qu'il faut passer du temps a tout refaire ou retravailler les trucs de base comme la minification, les expires headers, etc.
bzh a écrit :
Et sur google page speed, il te dit que le serveur est lent ?


Je n'ai rien vu de négatif concernant le serveur dans Google page speed.
Sur cet outil, la note est de 72/100 pour les mobiles et 87/100 pour l'ordi. C'est plutôt bien.

Ce qui m'embête c'est qu'il semble y avoir déjà eu des efforts pour réduire la taille des éléments du site. J'ai vu pas mal de fichier avec un nom comportant min.
Et j'ai vu qu'il y a une compression Gzip sur ce site.
Un plugin de cache pourrait largement améliorer la vitesse de votre site. Il en existe plusieurs sur WordPress, payants et gratuits. WP Rocket, W3TC, WP Super Cache, Hyper Cache.
Via la minification des fichiers JS notamment dans votre cas.