PHP : contexte
Un langage de base pour WordPress
Il s’agit d’un langage de programmation côté serveur sorti en 1994 et permettant de créer des sites web dynamiques.
Le CMS WordPress est majoritairement développé en PHP, dans lequel il permet notamment de faire fonctionner…
- l’identification,
- l’affichage de pages de façon dynamique,
- les achats en ligne,
- …
Cycle de vie du langage
PHP est un langage de programmation qui évolue régulièrement, avec la sortie de nouvelles versions.
Son cycle de vie se limite à deux ans pour chaque nouvelle version de PHP. Pendant ce temps, la version obtient des correctifs et évolutions.
Cette période est suivie d’une extension de support de sécurité d’un an supplémentaire (correctifs de sécurité critique).
Depuis le 28 novembre 2022, la version PHP 7.4 n’assure plus de mise à jour de sécurité.
La montée d’une version majeure de PHP à une autre peut parfois poser des soucis et doit être menée avec attention.
Pourquoi passer à PHP 8 ?
PHP 8 est sortie le 26 novembre 2020, il s’agit d’une version majeure.
Le cœur de WordPress est compatible PHP 8 depuis décembre 2020 et la sortie de la version WordPress 5.6.
Caractéristique particulière, un saut de la version PHP 7.4 à PHP 8 a été effectué, sans versions intermédiaires (ex. PHP 7.5 n’existe pas).
Bien évidemment, un site web peut tout à fait continuer à tourner avec une ancienne version de PHP.
Votre site web devrait continuer à fonctionner (tout du moins au début).
Toutefois ne pas effectuer la mise à jour de PHP va entraîner des désagréments…
- Aucun correctif de sécurité ne sera déployé pour corriger les failles de sécurité rencontrées dans les anciennes versions de PHP (PHP 7.4, …)
- Le support des anciennes versions de PHP va progressivement être abandonné par WordPress, les éditeurs de thèmes et extensions, ainsi que les hébergeurs web
- Des failles de sécurité non corrigées vont apparaître ; elles représentent des portes d’entrées (backdoor) pouvant être exploitées par des pirates informatiques (hackers)
Amélioration des performances web
Au titre des avantages, PHP 8 apporte des gains en termes de performance ; temps de chargement (3 à 4 fois plus rapide que les versions précédentes), ce qui est bénéfique pour votre référencement naturel / SEO.
Toutefois, ceci sera principalement visible sur des sites web effectuant de grands lots de calculs via des fonctions mathématiques.
PHP Extended Support
Les hébergeurs web abandonneront progressivement les anciennes versions de PHP sauf à payer un abonnement pour la mise en place d’un mode rétrocompatibilité PHP Extended Support.
À noter que l’extended support de PHP peut rapidement vous coûter cher (ex. 7,88 euros / mois TTC chez l’hébergeur web STRATO).
Comment savoir sous quelle version de PHP tourne mon site WordPress ?
Depuis le menu Outils > Santé du site.
L’onglet Informations, section Serveur vous donnera accès à la Version de PHP actuellement déployée sur le serveur.
Passage de la version PHP 7.4 à PHP 8
Comme vous pouvez le voir, la bascule de votre site WordPress sur PHP 8 est fortement recommandée pour améliorer la sécurité, les performances et le SEO de votre site web.
En tant que webmaster freelance professionnel, mes clients sous contrat de maintenance bénéficient de mises à jour régulières du cœur de WordPress, de leur thème et extensions.
Par conséquent, dans la plupart des cas, le serveur web qui héberge leur site a pu être basculé sur la version PHP 8 sans difficultés particulières.
Cependant, il n’est jamais garanti qu’une mise à jour de PHP ne provoque pas de problématiques !
PHP 8 : les problématiques
Une compatibilité partielle
À cette date, tous les thèmes et extensions ne sont pour le moment pas forcément compatibles avec la dernière version PHP 8.
Certaines des fonctionnalités deviennent obsolètes d’une version de PHP à l’autre, un travail de mise à jour du code doit donc être effectué par les développeurs de ces solutions tiers.
Il est essentiel d’abord tout mettre à jour (WordPress, thème et extensions) en ayant procédé à une sauvegarde préalable.
Conseil : il est parfois préférable d’attendre quelques semaines ou mois avant de mettre à jour PHP, afin de laisser le temps aux développeurs du thème et des extensions de proposer une version compatible.
La vitesse de déploiement d’une nouvelle mise à jour compatible dépend souvent du niveau de notoriété de votre thème ou extension.
Un travail de veille technique permet de s’assurer de la compatibilité de votre thème et de vos extensions.
Ex. analyse de la fiche de présentation d’une extension pour en connaître le niveau de compatibilité
Nécessité d’une phase de tests
Une phase de tests et de déboggage est impérative et doit être menée sur un clone de votre site web déployé sur un environnement dédié.
Ceci afin d’éviter de perturber le bon fonctionnement du site de production.
Le risque de casse existe (ex. fatal Error, warning, écran blanc, etc) pour tout ou une partie de votre site web.
Bon à savoir : des hébergeurs web comme o2switch (via WP Tiger) permettent de facilement créer des environnements de test (staging).
Cette phase de test évalue notamment si … :
- le site est accessible en contrôlant toutes les pages
- les fonctionnalités traitées par vos extensions fonctionnent toujours (ex. formulaire de contact, etc)
- le tableau de bord d’administration WordPress reste fonctionnel
Une bascule en mode DEBUG et une analyse des logs (= journaux) serveur permettra d’assurer une remontée complète des anomalies.
En cas d’erreur, il sera nécessaire de déterminer son origine, en désactivant / réactivant les extensions une par une et si besoin en basculant sur le thème par défaut (ex. Twenty Twenty Three).
Plusieurs problématiques peuvent être rencontrées, plus ou moins graves.
ex. fin de support de votre thème ou vos extensions (l’éditeur ne le maintient plus)
Les correctifs associés peuvent aller de quelques heures pour un remplacement d’extensions, des mises à jour à quelques jours de travail si une refonte de site web est à prévoir avec un nouveau thème.
Ce sera également l’occasion de faire le tri dans vos extensions WordPress, en analysant leur utilité.
Une fois le test passé avec succès, la version PHP 8 (PHP 8.0 ; PHP 8.1 ; PHP 8.2) pourra être poussée en production.
N’hésitez pas à me contacter pour mener à bien votre mise à jour PHP 8 pour site WordPress.