HugNews Cache Preloader
Le plugin HugNews Cache Preloader est un outil WordPress qui déclenche, depuis l’interface d’administration, l’exécution d’un script Python serveur destiné à précharger intelligemment le cache des pages du site. Il simule des visites en conditions réelles (desktop, mobile…) pour forcer la génération des fichiers cache (WP Rocket, PWA, etc.) et améliorer la réactivité perçue par les utilisateurs.
Fonctionnalités principales
- Préchargement du cache via navigateur headless
- Lancement d’un script Python qui visite automatiquement les pages du site avec Selenium + Chrome Headless.
- Simulation de différents formats d’écran : Desktop (1920×1080), Mobile (375×812), etc.
- Déclenchement d’une mise en cache réelle côté navigateur, équivalente à une visite humaine.
- Ciblage intelligent via le sitemap
- Récupération dynamique des URLs à partir du sitemap XML (
sitemap_index.xml
) :- Pages principales
- Articles récents
- Catégories
- Vidéos (optionnel)
- Filtrage par date de modification (ex. : articles des dernières 24h).
- Paramètres configurables via un fichier
config.json
.
- Récupération dynamique des URLs à partir du sitemap XML (
- Interface WordPress dédiée
- Formulaire dans l’admin pour configurer et lancer un préchargement :
- Choix des types de pages à charger.
- Sélection des appareils à simuler.
- Définition du nombre d’articles récents à inclure.
- Exécution du script Python distante depuis l’interface WordPress, avec affichage du log en temps réel.
- Formulaire dans l’admin pour configurer et lancer un préchargement :
Architecture technique
- Backend Python
- Script principal :
preload_cache.py
- Technologies utilisées :
Selenium
+ChromeDriver
(viawebdriver-manager
)- Lecture du sitemap XML (
xml.etree.ElementTree
) - Exécution multithreadée (
ThreadPoolExecutor
) avec arrêt propre viaSIGINT
- Configuration dynamique via
config.json
- Script principal :
- Intégration WordPress (PHP)
- Création d’une page d’admin dédiée (
admin_menu
). - Génération et sauvegarde du fichier
config.json
en PHP. - Exécution sécurisée du script Python via
shell_exec()
. - Affichage des logs en ligne dans le back-office.
- Création d’une page d’admin dédiée (
Configuration possible
- Appareils simulés : desktop, mobile, tablette
- Cibles à précharger : pages, articles, catégories, vidéos
- Fenêtre temporelle : articles publiés dans les dernières
n
heures - Mode test : exécution restreinte pour vérifications
- Nombre de threads : fixe (actuellement
20
) pour un traitement parallèle optimisé
Utilisation typique
Ce plugin est particulièrement utile :
- après une purge complète du cache,
- lors de déploiements PWA ou avec WP Rocket,
- pour les sites très dynamiques, où le SEO et le TTI (Time To Interactive) sont critiques.