web-dev-qa-db-fra.com

Comment puis-je facilement vérifier qu'une mise à jour de base ou de plug-in n'a rien cassé?

Je cherche des moyens de rendre la mise à jour de WordPress moins effrayante pour moi. J'ai créé une trentaine de sites Web d'entreprise basés sur WP au cours de ma carrière et je me sens un peu responsable de leur sécurité. Même si les clients ne me paient pas pour la maintenance - cliquer sur le bouton "mettre à jour" tous les quelques mois ne devrait pas être un gros problème, non?

Je suis toujours opposé à la mise à niveau pour plusieurs raisons

  1. si quelque chose se brise sur le site Web lors de la mise à jour, les clients ne sont souvent pas disposés à payer pour le temps nécessaire à la réparation de tous les plugins. "Cela a fonctionné, pourquoi avez-vous dû le changer?!" La seule option est alors un retour en arrière et un verrouillage du site.

  2. si quelque chose casse le site et que je ne le remarque pas, je suis foutu. Je ne veux pas recommencer à expliquer pourquoi un formulaire de contact ne fonctionnerait pas pendant plusieurs semaines après la mise à jour.

  3. les mises à jour pour les sites Web des entreprises ne sont souvent pas vraiment obligatoires. La plupart des problèmes de sécurité concernent le contenu soumis par les utilisateurs, les API ajax et xml-rpc, des choses que je n'ai pas à me soucier de la création de pages statiques ne recevant que quelques centaines de visites par mois. Ces sites Web ont tendance à rester inactifs, ce qui augmente évidemment le risque de mise à jour. Je n'ai aucun problème à mettre à jour un site web qui n'a que 2 mois - mais je ne crains pas de mettre à jour un site web de 2 ans fonctionnant avec les versions antérieures à la version 3.0 ou même antérieures à la version 2.7.

Cela en fait un jeu où je n'ai rien à gagner et que je ne peux que perdre.

Quelles sont vos façons de gérer cela? Toutes les suggestions sont très appréciées et profitent à des installations plus sécurisées WP? :)

(pour plus de clarté: je parle principalement de sites Web de petites entreprises ou de blogs privés où les tests automatisés ne sont pas une option réaliste)

4
Jan Beck

Dans votre cas particulier, je ne pense pas que la réponse soit technique (voir mon commentaire sur la question pour plus de détails).

Pour tous les autres, la réponse à "Comment vérifier facilement qu'une mise à jour de base ou de plug-in n'a rien cassé?" est un test automatisé . C'est tout le but des tests automatisés, car il est déraisonnable de penser que vous pouvez tout tester de manière non automatisée.

Voici un excellent guide de démarrage sur les tests automatisés avec WordPress: http://make.wordpress.org/core/handbook/automated-testing/

Si vous n'êtes pas prêt à aller dans cette voie, au minimum, ma suggestion serait de demander à vos clients de répertorier les 3 choses les plus importantes concernant leur site et d'inclure dans le contrat que vous testerez ces 3 choses à chaque mise à jour. . Cela ne garantit pas que quelque chose ne va pas casser, mais au moins vous vous reposez tranquillement en sachant que ce qui compte le plus pour eux (de leur propre aveu), comme les formulaires de contact, ne casse pas.

3
Matthew Boynes

Je comprends l’inquiétude, mais il n’existe aucun moyen réaliste de prédire quels changements seront apportés à Core dans le futur ou ce qui va s’ensuivre, et il n’existe aucun moyen raisonnable pour le site de se vérifier lui-même des erreurs sauf si vous êtes désireux et capable d'exécuter une sorte de suite de tests complète sur le site à la mise à jour . Je doute que ce soit pratique sur un site de production et probablement encore plus dangereux que de parier sur la mise à jour.

Le mieux que vous puissiez faire est:

  • utiliser les fonctions de base partout où cela est possible,
  • éviter les fonctions obsolètes,
  • éviter la tendance à écrire vos propres requêtes et autres choses du même genre avec un risque plus élevé que la normale de rompre avec une mise à jour,
  • certainement éviter de pirater le noyau,
  • et informez le client que vous avez terminé la mise en ligne du site, à moins qu'il ne veuille payer pour la maintenance.
  • S'ils souhaitent une copie de maintenance, testez la mise à jour sur un serveur de développement avant de la mettre en production. C'est ce que je fais avec les sites que je gère.

Je suggérerais également que les mises à jour fréquentes sont moins dangereuses qu'attendre plusieurs versions puis essayer de les mettre à jour. J'ai rarement eu des problèmes avec les mises à jour incrémentielles mais les forums WordPress.oorg regorgent de discussions sur les problèmes causés par le fait que quelqu'un ait essayé de sauter plusieurs versions.

3
s_ha_dum

Envisagez l'hébergement de vos sites Web clients sur des services d'hébergement gérés tels que WPEngine où la société d'hébergement s'occupera des mises à niveau et surveillera les programmes malveillants.

En prime, les sociétés comme celle-ci vous donneront une génération de site de transfert en un clic à partir d'un site actif pour vous permettre d'effectuer des mises à jour de plug-in et de voir ce qui se passe.

Le prix en vaut la peine, car le client paiera plus cher pour embaucher quelqu'un pour réparer son site Web infecté par des virus ...

2
Elisha Terada