Le meilleur moyen d'afficher du contenu dynamique sur un site Wordpress en cache?

13

Je souhaite vraiment utiliser l'un des plugins Cache pour pouvoir diffuser davantage de pages statiques sur mon thème / site WordPress. C’est évidemment la meilleure mise à niveau de performance que vous puissiez effectuer pour un thème / site WordPress.

Quelques éléments dynamiques de mon thème m'ont empêché de faire le saut vers les pages statiques / en cache.

Je vais décrire ces problèmes ci-dessous et fournir un moyen possible de résoudre chaque problème auquel j'ai pensé jusqu'à présent.

Le but de cet article est d’obtenir de meilleures idées / méthodes pour traiter les problèmes que j’explique, ou d’être certain que je suis au moins sur la bonne voie. Je suis un vétéran de PHP depuis plus de 12-13 ans, mais je n'utilise WordPress que depuis 1-2 ans et, jusqu'à présent, je suis vraiment impressionné par ses capacités. Je suis maintenant un fan de WordPress total, si une telle chose existe lol!

Ok, donc les problèmes auxquels j'ai pensé jusqu'à présent lors de la conversion en pages en cache ...

Page Messages uniques

  1. Problème lié au compteur de vues : une fonction récupère une valeur de comptage pour un "compteur de vues / hits" sur la page Messages afin de donner une idée des vues de messages que l'utilisateur peut voir. Ce ne sont pas des visiteurs uniques, mais un simple compteur de résultats. J'ai créé une table MySQL distincte pour ces valeurs. J'essaie toujours de décider si je devrais continuer avec cela ou si je devais utiliser plutôt un méta-champ. Dans les deux cas, dans un affichage de page, la valeur de la base de données est extraite et augmentée de +1 à chaque chargement de page. (Les vues des utilisateurs administrateurs ne sont pas ajoutées.) La valeur est ensuite affichée sur la page sous la forme 988 Views

    Solution possible du compteur de vues : je pourrais faire en sorte que cette valeur / fonction soit exécutée à l'aide d'Ajax. Une fois la nouvelle page mise en cache / statique chargée, Javascript pourrait ensuite utiliser Ajax pour demander et mettre à jour le compteur Vues de cette page. Cela vous semble-t-il être la meilleure solution?

  2. Problème de publication de commentaires : à l'aide du système de commentaires WordPress par défaut, chaque fois qu'un nouveau commentaire est ajouté à une publication, la page Mise en cache / statique de cette publication doit être . construit ! D'après ce que j'ai vu, il existe une option sur les plugins Caching que j'ai vus qui vous permettra de le faire, vous pouvez la faire reconstruire la ou les page (s) chaque fois qu'un nouveau commentaire y est posté. Cela semble bien sur papier, mais je peux imaginer que c’est un cauchemar dans un site très fréquenté / actif où plusieurs utilisateurs pourraient commenter le même article à peu près au même moment (tous non testés, donc je ne sais pas).

    Solution possible pour les commentaires sur les commentaires : pour résoudre le problème des commentaires, j’ai mentionné une solution ci-dessus. Vous pouvez configurer le plug-in Cache de manière à reconstruire simplement la page Cached / Static à chaque nouveau commentaire. Ma préoccupation était que je ne suis pas vraiment à quel point cela fonctionnera à long terme. L’autre solution possible que je vois de plus en plus utilisée consiste à utiliser une solution Javascript telle que Disqus Comments ou une solution similaire. Pendant longtemps, j’étais vraiment opposé à cela, car je voulais que tous mes commentaires ne fassent pas appel à une tierce partie pour mon système de commentaires. Je suis toujours un peu sur la barrière à propos de ce problème mais je suis passé à l’utilisation des commentaires Disqus sur mon site et jusqu’à présent, cela fonctionne assez bien. Je suis ouvert à d'autres solutions possibles cependant? Ou pensez-vous que c'est vraiment la voie à suivre?

Barre latérale de l'ensemble du site

  1. Problème de la barre latérale Articles récents : des onglets de ma barre latérale s'affichent sur l'ensemble du site, sur toutes les pages du site. L'un des onglets charge les 10 derniers articles du blog, comme cela est indiqué sur chaque page du site, une fois qu'un nouvel article / article est ajouté, il serait nécessaire de reconstruire chaque page statique / statique du site afin de refléter l'ajout de nouveaux articles à cette "Liste des articles les plus récents". "

    Encadré Articles récents Solution possible - Encore une fois, je pense avoir mis au point une bonne solution possible. Je pourrais utiliser Javascript et Ajax pour charger ce contenu dans les pages Cached / Static afin qu’ils ne soient pas tous reconstruits aussi souvent, mais puissent tout de même afficher les publications les plus récentes.

    Cela vous semble-t-il une bonne solution? Ou, plus important encore, pouvez-vous penser à une autre solution meilleure ou alternative à ce problème?

Sans me salir les mains, ce sont tous les problèmes que je peux résoudre jusqu'à présent avec la conversion de mon thème pour qu'il soit compatible avec le cache / la statique

UPDATE

Je viens de penser à un autre sujet de réflexion. Toutes les balises / catégories, ainsi que les pages utilisateur, devront être mises à jour chaque fois qu'un article est ajouté, ce qui correspond à la liste des articles de cette page. Je suppose que cela doit déjà être une fonctionnalité des plugins Caching, j'imagine bien que

    
posée JasonDavis 10.07.2012 - 05:23

2 réponses

2

Donc, il y a beaucoup de sous-questions, je vais essayer de répondre à chacune.

  

Problème de compteur de vues - Je pourrais créer cette valeur / fonction en utilisant   Ajax. Une fois la nouvelle page Cached / Static chargée, Javascript pourrait alors   utilisez Ajax pour demander et mettre à jour le compteur Vues pour cette page.

Totalement d'accord: avantage supplémentaire: le chargement via ajax lorsque le contenu "important" est terminé est le chemin à parcourir. Faites tout ce que vous pouvez pour réduire le temps de chargement de la page. J'irais certainement avec Ajax sur celui-ci.

  

Problème de publication de commentaires

Je doute que ce sera un gros problème. Mais encore une fois: ajax. Charger des commentaires en dehors du contenu "principal". Faites-le pousser régulièrement de nouveaux commentaires (comme Stackoverflow ou twitter.com avertit l'utilisateur et attend son clic pour actualiser le flux de commentaires).

  

Barre latérale de l'ensemble du site

J'utiliserais un autre plugin: Cache de widget Widget WP , qui vous permet de définir l'heure de mise en cache. pour chaque widget dans vos barres latérales, et fonctionne bien avec les plugins de mise en cache habituels. Dans votre cas, définissez simplement "0" pour ne pas mettre en cache ces widgets, ou "10 minutes" (mieux que ne pas mettre en cache du tout).

    
réponse donnée pixeline 11.08.2012 - 23:23
1

Si vous utilisez le cache total w3, vous pouvez exclure la mise en cache de certaines pages, comme votre barre latérale.

Accédez à Admin WordPress > Performance > Cachez les pages et changez la section sous ne mettez jamais ces pages en cache


Cetexemplemontrequelesfichiersdelabarrelatéraled'unthèmesontexclusducache.

Vouspouvezégalementdéfinirundélaid'expirationpluscourtsurvospagesencache,parexemple5ou15minutes.Laplupartdespagesencacheconcernentlespersonnesquivisitentpourlapremièrefoisetquinepossèdentpasdecookiedesession.Lavueencache"la plus demandée" de la page est présentée aux visiteurs anonymes pour la première fois.

    
réponse donnée Damien 07.08.2012 - 00:44

Lire d'autres questions sur les étiquettes