Suite à un échange avec Jdo, je me suis amusé à créer un petit plugin WordPress de cache directement lié à Apache.
Attention, ce plugin est en version alpha et doit donc être utilisé avec précaution.
Si une page est en cache, elle sera directement servie par le serveur sans passer par le moteur de WordPress.
Les plugins de cache que j'ai pu tester jusque là utilisent le moteur du WP pour transmettre ou non une page en cache.
C'est donc une étape suppémentaire. Avec le nombre de contributeurs WP, il existe probablement des choses allant dans ce sens mais je n'ai pas cherché très longtemps non plus.
Le plugin ne fonctionne qu'avec un serveur Apache (pour le htaccess).
Il ne fonctionne que si la réécriture d'URL est activée avec WordPress sous la forme de répertoires (par défaut).
J'ai fait ça rapidement et c'est largement améliorable. Des soucis sont probablement présents.
A l'activation du plugin, un répertoire est ajouté pour stocker le cache dans wp-content et deux lignes sont insérées dans le htaccess de WordPress.
Je vous invite à le sauvegarder avant pour pouvoir revenir en arrière.
C'est un cache "brut", c'est à dire qu'il met en cache l'ensemble de la page. On ne peut donc pas avoir des subtilités avec ce fonctionnement. C'est utilisable pour un site vitrine, un blog mais pas du tout pour une boutique en ligne par exemple. De plus, la page servie en cache, c'est du HTML brut. WordPress n'étant pas appelé, aucun plugin ne le sera non plus bien sûr.
On est là dans une approche site "statique".
On peut économiser très facilement du temps CPU de serveurs avec quelques astuces. Bien sûr, tous les projets ne pourront pas fonctionner de la sorte mais si nous appliquions ce genre de méthode lorsque c'est possible, quand on voit la masse de WordPress sur la toile, les résultats pourraient être énormes.
Si vous souhaitez expérimenter, c'est par là : https://github.com/yoandm/cachestatic
MAJ : Il existe tout de même des plugins qui fonctionnent de cette façon. D'après ce que j'ai pu voir, c'est le cas de WP Rocket.