Temps de chargement et nombre de commentaires
Bonjour,
La "Search console" de Google m'informe de temps de chargement anormalement longs sur mobile.
J'utilise un thème optimisé pour mobile, mes pages sont plutôt lights, sans images, mais mon site date de 2009 et certaines pages totalisent un nombre de commentaire élevé. 1 commentaire = 1 fichiers XML.
Dans la durée cela peut-il poser problèmes ? Est-il possible d'optimiser (cache) ?
Je ne voudrais pas archiver les commentaires qui contribuent au référencement.
Merci,
MaT.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Bonjour,
Une solution serait de paginer les commentaires afin de n'en charger qu'une partie ...
De quelle version de PluXml parles tu et quelle version de php ?
Cdt
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
Salut @matco
Peux-tu nous définir ce que signifie des "temps de chargement anormalement longs sur mobile" (1 seconde, 5 sec, 30 sec, 1 minute, 5 minutes...) ? et "un nombre de commentaire élevé" (10, 50, 100, 500, 1000 commentaires...) ?
Quelle limitation de bande passante a été appliquée pour le test : simulation de 2G, 3G, 4G, 5G ? quel serveur de test a été utilisé par rapport à la localisation de l'hébergement de ton site ? il y a tellement de paramètres à prendre en compte...
Avec Firefox tu peux simuler un test en mobile en local et vérifier le temps de chargement théorique depuis ton site.
Les algorithmes de Google changent tout le temps et cherchent toujours à promouvoir leurs solutions d'optimisation, alors que bien souvent il n'y a pas grand chose à faire sur nos sites PluXml qui sont déjà hyper rapides si l'on compare aux temps de chargement de sites sous Wordpress par exemple D'autant que si comme tu l'indiques, tu n'as pas d'images ou de scripts sur ton site, il va être difficile de faire mieux.
Et sinon, quand tu te connectes à ton site depuis ton mobile, quel est ton ressenti ? Si tu nous en donnes le lien, on peut regarder si l'on constate à notre tour des anomalies
Bonjour,
D'après le lien ci-dessous, si tu n'as pas fait de mise à jour, ton site est propulsé par PHP 5.2.12 dans le meilleur des cas.
T'es chez Free ?
https://www.php.net/archive/2009.php
Si tu as un fort trafic, ton hébergeur t'impose peut-être une limitation de bande passante. Et selon son offre.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Merci pour vos retours.
Site régulièrement tenu à jour. Je suis sur une 5.8.16 depuis décembre et php 8.2 ou 3 chez ovh. L’idée de paginer les commentaires n’est pas mauvaises… à creuser.
Je totalise près de 30.000 commentaires sur env. 200 pages mais avec des disparités entre pages, certaines en ont beaucoup donc ça doit ralentir le chargement pour Google. La search console parle de « Problème CLS : plus de 0,25 ». J’imagine qu’il s’agit de 0,25 secondes.
À l’usage, le temps de chargement est effectivement plus long sur certaines pages qui ont beaucoup de commentaires mais ce n’est pas insupportable non plus, je pense que Google est relativement exigent de ce point de vue… mais je suis en wifi ou 4g donc…
@kowalsky je vais essayer de tester ta solution Firefox
Sinon j’ai quand même quelques script (adsense, Analytics, plateforme Rgpd)
Mat
Whouah 30.000 commentaires ! Cela commence à faire.Et dire que certains se plaignent de la limite de 9999 articles
A chaque page affichée (article, accueil, catégorie ...), PluXml demande la liste des fichiers correspondant à tous ces commentaires pour vérifier que le nom est correct.
PluXml a besoin d'être optimisé pour cela.
Pour le premier point, je vais regarder cela. C'est assez simple à faire.
Tu parles de 200 pages. Je suppose que tu veux dire articles.
Par curiosité tu as quel plan d'hébergement chez OVH ?
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
J’utilise la formule hébergement PRO d’OVH. C’est du mutualisé mais je n’ai pas à m’en plaindre.
C’est bien 200 articles, quelques pages statiques mais essentiellement des articles.
J’ai réfléchi à pas mal de solutions dont basculer les commentaires sur un script externe type Isso, Comentario mais il faut gérer cela sur un serveur dédié, envisager une migration de l’historique des commentaires ce qui n’est pas gagné d’avance et suppose de renoncer à la légèreté de pluxml et à l’absence de bdd. Donc si tu as une solution sans sortir de l’environnement pluxml, je prends !
En revanche, l’aspect conversationnel de ces scripts (possibilité de répondre à un commentaire et de créer des conversations est également un point intéressant).
D'après ce que je lis sur "Problème CLS : plus de 0,25", ce n'est pas forcément lié à ton nombre de commentaire élevé, mais plus à une mauvaise mise en page de ton site, avec des "décalages de mise en page" (qui donc augmentent le temps de chargement) dixit une recherche rapide sur le net :
https://kinsta.com/fr/blog/cumulative-layout-shift/
https://www.blogdumoderateur.com/optimiser-temps-chargement-site-etapes/
D'après ces sites, tu devrais pouvoir récupérer plus d'informations depuis ta console Google pour t'orienter vers l'optimisation de ton site. Une piste à explorer : tes modules adsense ou rgpd
En paginant les commentaires, ce coté pratique est perdu, Les commentaires sont malheureusement indexé sur leur ordre d'affichage et pas leur position dans le tableau des commentaire ni leur date.
J'ai relevé il y a peu un bug avec le système de commentaire, en supprimant certain commentaires, il arrivent que tout ceux qui suivent (réponses ou non) ne puissent plus être affichés.
En paginant les commentaires depuis PluXml (pour n'en charger et parser qu'une partie) , la réponse à un commentaire est bien enregistrée mais peut ne pas s'afficher ou s'afficher dans plusieurs page.
Le tri et la relation entre les commentaires se fait à partir du champ "parent", lui même calculé sur la position(index) rapport uniquement aux commentaires affichés. Avec une pagination des commentaires, une réponse à un commentaire se perd et ne sait pas ou elle habite
En bref, les réponses aux coms ne fonctionnent que si l'on affiche tous les commentaires dans la page et que le(s) parents (visuellement) n'ont pas été effacé(s).
Il est possible de faire cette pagination en JavaScript ( ex: https://pluxopolis.net/creer-une-pagination-pour-les-commentaires.html surement plus à jour) mais ne donnera aucun gain de temps de chargement ni d'affichage.
Comme te l'indique @kowalsky , ce décalage dans l'affichage peut aussi être lié à un autre script (depuis ton site ou un cdn ) , des images , polices plus longue à chargées ou distantes, ... Dans le navigateur chrome tu as dans les outils de développeur l'onglet lighthouse qui va t'aider à trouver ce qui prend du temps à charger
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
Merci pour vos retours, beaucoup de choses intéressantes et à creuser. Ce n'est pas aussi simple qu'en apparence.
La Search Console te présente un graphique "URL Lente sur mobile" mais en réalité, le "problème CLS" est, en effet, plus large.
@gcyrillus-nomade : j'ai installé Lighthouse que je ne connaissais pas, très intéressant. Il est clair que les pages avec plus de commentaires mettent plus de temps à charger. Pour autant, ce n'est pas le seul paramètre détecté par Lighthouse donc à creuser.
Tu parles de réponse à un commentaire ? On est bien d'accord que Pluxml ne le permet pas ? Les commentaires s'affichent pas ordre d'arrivés et il n'est pas possible de créer des conversations ?
Heu si, du moins dans le thème par défaut , en repondant à un précedent commentaire, le nouveau commentaire s'intercale avec une legere indentation, ce systeme peut s'étaler sur 5 niveaux.
Voici un plugin en exemple pour paginer les commentaires : https://ressources.pluxopolis.net/banque-plugins/plugins/comPaginate.zip
Pour afficher la barre de navigation, ajoute juste sous les commentaires , aprés la boucle d'affichage) cette portion de code :
La pagination ne s'affiche que si il y a plus d'une page de commentaire.
Par défaut, j'ai mis 50 commentaires, mais tu peut modifier cette valeur depuis l'admin dans la config du plugin.
Si tu nèutilise pas la fonction de "repondre" à un commentaire, alors cela devarit te convenir, en tout cas permettre de tester l'impact de tes centaines de commentaires au chargement.
++
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
Bonjour,
J'ai optimisé le code du fichier core/lib/class.plx.glob.php dans ce gist sur Github :
https://gist.github.com/bazooka07/289b3efd0ecbe77217a67abbf7e8016d
Sauvegarde l'ancien fichier et remplace le avec le lien ci-dessus.
Hélas,je n'ai pas 30000 commentaires sous le coude pour évaluer le gain du temps de réponse lorsque qu'un visiteur charge une page web.
N'hésite pas à me faire un retour.
Cette modif sera intégré dans la prochaine version de PluXml 5.8.18.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Bonjour,
Merci @bazooka07 , je viens de modifier le fichier class.plx.glob.php. Pour l'instant, je ne peux pas te dire grand chose excepté que cela semble fonctionner. Un test avec Lighthouse semble indiquer du mieux avec sur ma page comptant le plus de commentaires : une performance globale qui passe de 74 à 85 à l'instant "T". Mais je confirme que les problèmes "CLS" sont plus larges et englobent d'autres problèmes (par exemple, l'absence de balise "width" "height" sur l'image captcha est détectée comme un problème de mise en page car susceptible de créer des décalages sur mobile, ou des requêtes tardives sur les CSS ? bref pleins de trucs à creuser).
@gcyrillus-nomade : la possibilité de répondre aux commentaires est gérée par le thème ? A quel niveau cela se gère t-il ? car mon thème ne le prend pas en charge et cela m'intéresse.
Encore merci à tous.
Bonjour,
Voici le fichier XML pour un commentaire:
Le champ "parent" est celui qui est utilisé pour identifié un commentaire comme une réponse à un autre commentaire.
Dans le thème par défaut, il y a :
Ce script se charge principalement de remplir la valeur du champ "parent" :
document.getElementById('id_parent').value=idCom;
.Pour conserver le bon numéro , remplacer dans le fichier commentaires.php
par
Afin qu'une réponse soit bien associer à son commentaire parent même si elle ne s'affiche pas et que le numero de commentaire affiché soit le bon.
Les commentaire seront récupérer dans plxMotor avec la fonction
getcommentaires()
, puis trié avecparentChildSort_r()
.et ils sont stockée dans $plxMotor->plxRecord_coms
Pour ajouter cette fonctionnalité dans ton thème il faut reprendre lle principe du thème par défaut en passant aussi le champ
<input type="hidden" id="id_parent" name="parent" value="<?php $plxShow->comGet('parent',''); ?>" />
L'indentation visuelle est appliqué via une classe avec
<?php $plxShow->comLevel(); ?>
.cdt
P.S. en réduisant le tableau $aFiles avec
array_slice()
avant de parser tout les fichiers commentaires de l'article affiché et gagner un peu de temps (par exemple un groupe de 50 fichiers au lieu des 300), il n'est pas possible à ce niveau de retrouver tout les fichiers des commentaires parent/enfant. , d'où la perte de cette fonctionnalité.Réduire le tableau après avoir parser tous les fichiers commentaires n'a plus de sens en terme de gain de temps, et peut-être alors fait coté visiteur en JavaScript, imposant alors un délai supplémentaire de traitement à l'affichage finale.
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
Merci @gcyrillus-nomade.
@bazooka07
A priori, la modification génère une erreur lors de la modification d'un article, elle disparait en mettant l'ancien fichier class.plx.glob.php.
@matco,
Effectivement les templates pour les articles, catégories, homepage et statiques ne sont pas recensés correctement.
J'ai révisé le gist pour corriger cela :
https://gist.github.com/bazooka07/289b3efd0ecbe77217a67abbf7e8016d
en remplacement du core/lib/cass.plx.glob.php d'origine
Mais on doit pouvoir encore améliorer le temps de réponse. Recenser les 30000 commentaires à chaque affichage de page web, c'est un peu comme trainer un boulet, on ne peut pas courir vite.
Mais c'est un peu plus compliqué à faire et cela va demander quelques tests
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
@bazooka07
Une solution est effectivement de paginer les commentaire pour ne récolter qu'un nombre limiter de commentaires en mode article, difficile de passer outre le sccan du dossier.
Le défaut actuel est seulement que l'on perd facilement la relation parent/enfant/level des commentaires. Une solution serait d'ajouter un champs child ou children , de façon à aller chercher un ou plusieurs fichiers commentaire exclu du tableau dans un deuxième temps en les ajoutant a la sélection/page en cours)
Il semble aussi encore préférable, avec ou sans pagination, de remplacer
par
Dans commentaire.php
J'ai des semaines très chargée à venir, je regarderais à te faire une démo de l'idée en modifiant un peu le plugin pour ajouter le champ child si l'idée te semble pas claire. Oui, c'est un peu potage.
C'est une fonctionnalité qui pourrait-être native même si rarement utile.
On a vu 10 000 articles et maintenant + 3000 commentaires, Les limites de PluXml peuvent-être atteintes
Pour le moment , le plugin de test se greffe sur le hook IndexBegin de façon à réduire encore le tableau déjà filtrer $aFiles des commentaire à traiter. Je squatte accessoirement le tableau $this->aConf pour y stocker la navigation. https://ressources.pluxopolis.net/banque-plugins/plugins/comPaginate.1.0.2.zip
L'idéal serait probablement de pouvoir réduire le nombre de nom de fichier commentaires en amont dans plxMotor sitôt le mode connu.
Via un plugin , il faut attendre le chargement de ceux-ci, c'est pourquoi je me suis accroché, peut-être à tord, sur IndexBegin pour récupérer la config du plugin et calé $start/$limite.
Cdt
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
@gcyrillus-nomade ,
Côté site :
Actuellement, dès qu'on crée l'instance de $plxMotor, on va tout de suite recenser les commentaires. Avec 30000 commentaires, c'est juste un peu bourrin !
Il vaut mieux recenser les commentaires dans plxMotor::getArticles() en créant une instance $this->plxGlob_coms, $this étant plxMotor, et en se limitant aux articles qui vont être affichés pour connaitre le nombre de coms / article.
Là où je bloque pour l'instant, c'est pour l'affichage des derniers commentaires. Pour la homepage et les pages statiques, il faut recenser tous les commentaires pour ne prendre que les plus récents, à moins de mettre la liste des plus récents dans un fichier cache dans data/configuration, fichier à actualiser à chaque nouveau commentaire.
Dans les autres cas, categorie, tag, archive, on peut récupérer la liste des articles dans $plxMotor->motif et recenser les commentaires relatifs à cette liste
Remarque : dans le thème defaut, on ne gère pas les derniers commentaires par catégorie dans la sidebar mais globalement
Côté admin,
Là c'est le délire. On a uniquement besoin de recenser les commentaires pour le tableau de commentaires dans le fichier comments.php. Quel intérêt quand on affiche la liste des articles, des medias, des catégories,des pages statiques, des paramètres, ...
Bon ok des sites à 30000 commentaires avec PluXml, on n'en voit pas tous les jours. But why not ?
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
@matco
Comment gères tu la liste des derniers commentaires ?
globalement sur ton site ou par catégorie ?
On peut avoir l'adresse de ton site ? En privé éventuellement.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
@bazooka07
Je ne voit pas vraiment d'autres solutions à mon niveau , et en y sauvegardant aussi le nombre de coms par numero d'article.
Les tags, c'est un peu similaire, ils sont extraits d'un unique fichier pour ne pas courir sur tous les fichiers articles.
Ce serait économique , puis le recensement des fichiers commentaires n'aurait lieu qu'en mode article et seulement sur ceux préfixés du même numéro.
Coté admin, c'est effectivement aussi compliqué mais on ne revient quasiment jamais dessus, sauf à modérer, effacer ou modifier ponctuellement un ou deux commentaires sur lesquelles on ne revient jamais.effectivement Inutile aussi de tout récupérer par défaut
Extraire seulement les X derniers commentaires (depuis le même fichier tampon que pour le front) serait souvent suffisant en y ajoutant la possibilité de faire quand même l'affichage depuis tous les coms uniquement à la demande ou pourquoi pas par articles commentés comme pour le front.
Cdt
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
@bazooka07, je gère les commentaires directement sur le backoffice.
Affichage par 100, capcha et Akismet sont de rigueurs même si j’avoue être moins pollué de spam depuis la migration en 5.8.16.
Je comprends que le nombre de commentaires n’est pas banal mais le site date de 2009 ! Il fonctionne un peu comme un forum (thématique autour de la recherche et l’entraide donc beaucoup d’interaction) , j’ai d’ailleurs longtemps incité les visiteurs à échanger sur un forum dédié mais les échanges en commentaires perdurent !
Je n’ai pas encore testé la nouvelle version du fichier class.plx.glob.php.