Comment déterminer ce qui change un plugin ou un thème apporté au site après l'activation

Publié: 2018-10-30

Vous préférez la vidéo au texte ? Nous avons ce qu'il vous faut - voici l'intégralité de l'article dans une courte vidéo.

Si vous préférez, vous pouvez regarder la vidéo en utilisant youtube avancé.

L'installation d'un plugin (ou d'un thème) signifie que vous confiez entièrement votre site entre les mains de leurs développeurs. Il n'y a aucune restriction sur ce que le code que vous mettez sur le site peut faire. Il peut déplacer tous vos boutons vers la gauche de deux pixels à cause d'un bogue CSS, mais il peut aussi effacer volontairement tous vos fichiers et toute la base de données. L'installation de plugins à partir du référentiel WP officiel élimine les chances pour le deuxième scénario, mais cela vous laisse toujours vous demander - quelles modifications un plugin a-t-il apportées à mon site ?

En pratique, quels changements apportent les plugins ?

Avant le scénario réaliste, permettez-moi de répéter le scénario théorique, une fois de plus. Vous installez et activez un morceau de code PHP tiers sur votre site. Il n'y a absolument aucune limite à ce que le code peut faire tant qu'il est dans le domaine de PHP et que ses capacités et privilèges sont sur le serveur. Il peut certainement supprimer des fichiers, les modifier ou les envoyer sur un serveur distant. Il en va de même pour les données stockées dans la base de données. Vous ne pouvez rien arrêter une fois le plugin activé. Donc, n'utilisez pas de plugins ou de thèmes annulés et si vous installez des plugins sommaires sur un site en direct, faites d'abord une sauvegarde.

L'installation de plugins et de thèmes à partir de sources sommaires telles que les vidages GPL ou tout autre site illégal n'est jamais une bonne idée. Si vous êtes assez courageux pour les installer sur un site en direct, veuillez d'abord faire une sauvegarde . Ou, soyez encore plus intelligent - testez-les localement, sur un site de préparation ou à un endroit où ils ne peuvent pas faire beaucoup de dégâts.

Maintenant, passons à des choses plus quotidiennes. Que font les plugins lorsque vous les activez ? Les plus grands créent des tables de base de données personnalisées. Les tables personnalisées sont courantes et attendues lorsque le plug-in doit stocker de plus grandes quantités de données ou de données qui ne correspondent pas au schéma clé-valeur des options WP (ou CPT). Presque tous les plugins créent de nouvelles lignes dans la table wp_options en utilisant l'API WP options. Complètement attendu et normal. Ce qui n'est pas prévu ou normal et qui ne devrait jamais arriver, ce sont des modifications sur les 12 tables WP de base. Comme les fichiers de base de WP, les tables de base ne doivent jamais être modifiées, que ce soit par des plugins ou par des utilisateurs. Les plugins ajoutent également des transitoires, créent des types de publication personnalisés, ajoutent des widgets et des menus. Ils font tout cela en utilisant diverses API WP, et les données sont stockées dans les tables principales.

Pourquoi est-ce que je me soucierais des changements apportés par un plugin ?

Si vous ne vous souciez pas de la qualité des plugins ou des différentes façons dont ils affectent votre site, y compris la vitesse et la disponibilité, alors il n'y a rien à craindre. Si vous examinez un plugin qui est sur le point d'être installé sur des dizaines de sites que vous gérez, vous êtes probablement intéressé par la façon dont il est construit et ce qu'il fait "dans les coulisses". Faire un audit complet du code est le seul moyen fiable de savoir ce qui se passe, mais je sais que ce n'est pas réaliste dans la plupart des scénarios.

Curieux de savoir ce que change un plugin ou un thème apporté à votre site #WordPress ? Découvrez comment vous pouvez voir ces changements.

CLIQUEZ POUR TWEETER

L'examen des modifications apportées par un plugin vous donne un aperçu de la façon dont il utilise les ressources de votre serveur, de la propreté du code et, par exemple, comment (ou si) le plugin se nettoie après lui-même. Il peut également vous aider à répondre à une question fréquemment posée : « J'ai récemment installé le plugin X, et je pense que mon site est plus lent maintenant, est-ce à cause de X ?

La dernière raison, mais non la moins importante, d'en savoir plus sur les changements est l'ingénierie inverse et l'apprentissage. Peut-être souhaitez-vous une procédure d'installation similaire à celle que vous avez vue sur un autre plugin, ou souhaitez-vous simplement savoir comment il fait quelque chose.

Instantanés de base de données à la rescousse

Un instantané de base de données est une copie des tables de base de données actuellement utilisées stockées dans la même base de données que celle utilisée par WP. Les instantanés sont très similaires aux sauvegardes mais créés dans un but différent. Les sauvegardes existent principalement pour les scénarios « et si ». Les instantanés, en revanche, ont une utilisation plus éminente. Lorsque vous créez un instantané, vous êtes susceptible de rétablir le système après avoir effectué des tests, ou vous l'utiliserez pour comparer deux versions de la base de données. Un concept similaire dans Windows est appelé un point de restauration.

Veuillez noter que les instantanés de base de données, comme leur nom l'indique, ne traitent que de la base de données. Les fichiers ne sont pas sauvegardés, enregistrés, comparés ou modifiés de quelque manière que ce soit.

Comparons!

Vous n'avez pas besoin d'outil pour faire la comparaison. Il est possible de le faire manuellement en téléchargeant deux versions de la base de données puis en les comparant. Cependant, après avoir fait cela plusieurs fois, ce fut une expérience si désagréable que je me suis assis et ai écrit les instantanés DB de WP Reset. Avec WP Reset, la comparaison ne prend que quelques clics et ne nécessite aucun savoir-faire technique.

1. Installez et activez WP Reset

Le moyen le plus rapide est via WP Admin – Plugins – Add New et tapez « wp reset » dans la recherche ; ce sera le premier résultat. Sinon, récupérez la dernière version ZIP ou rendez-vous sur wordpress.org/plugins/wp-reset/.

2. Faire un instantané de l'état actuel du site

Ouvrez WP Admin - Outils - WP Reset, puis passez à l'onglet DB Snapshots et cliquez sur "Créer un nouveau". Si vous testez un nouveau plugin, nommez-le quelque chose comme "avant le plugin X".

Creating a DB snapshot takes only a few seconds
Même sur des installations WP plus importantes, la création d'un instantané ne prend que quelques secondes

3. Apportez quelques modifications au site

Installez un nouveau plug-in ; activer un nouveau thème ; apporter des modifications aux plugins ou thèmes existants ; créer du contenu ; désordre avec les widgets - presque tous les changements que vous effectuez se reflètent sur la base de données du site, et vous pourrez comparer l'état avant et après.

4. Comparez le nouvel état avec l'instantané enregistré

Revenez aux instantanés de WP Reset et cliquez sur l'icône de comparaison à côté de l'instantané enregistré. Vous obtiendrez une liste codée par couleur des tables de base de données.

Les tables vertes sont celles qui existent dans la base de données actuelle et l'instantané, et elles n'ont pas changé d'un iota. Les rouges sont ceux qui sont absents de l'instantané (ce qui signifie qu'ils viennent d'être créés) ou qui manquent dans la base de données actuelle (donc, ils viennent d'être supprimés). Les oranges sont celles qui ont changé, soit en termes de données, soit moins souvent, en termes de schéma. Cliquer sur n'importe quel tableau révèle plus de détails sur les changements.

Changes after installing Yoast SEO
Après avoir installé Yoast SEO, nous avons obtenu 2 nouvelles tables et quelques nouvelles lignes dans wp_options et wp_usermeta

5. Vous n'aimez pas les changements que vous voyez ? Rétablissez-les !

Si vous souhaitez remettre le site dans l'état où il était lorsque vous avez créé l'instantané, utilisez l'action de restauration à côté de l'instantané enregistré. Cela ramènera la base de données dans son état précédent et toutes les modifications auront disparu ! Rapide et indolore.

Core tables should never be changed
Aucun plugin ne devrait jamais modifier les tables de base. Si cela se produit, WP Reset fournit un diff détaillé et vous pouvez revenir à un instantané précédent pour annuler les modifications.

Plus de cas d'utilisation pour les instantanés de base de données

La détermination des modifications n'est qu'une des nombreuses façons dont les instantanés de base de données peuvent vous aider dans le développement et les tests. En revenant à un instantané, vous pouvez toujours remettre votre site dans l'état où il était avant les modifications (problématiques) que vous avez apportées. Et c'est fait en deux clics et quelques secondes d'attente. Chaque fois que vous avez besoin d'un environnement de test complexe qui est fortement modifié après une certaine action, le retour à un instantané préparé vous permet de tester à nouveau en quelques secondes. Si nécessaire, vous pouvez également télécharger des instantanés sous forme de vidages SQL compressés. Bien que leur objectif principal ne soit pas de faire des sauvegardes sur des sites en direct - à la rigueur, cela peut également être fait. Un diff détaillé est disponible pour les schémas de table modifiés et pour les données de la table wp_options . Le diff universel, pour toutes les tables, sera disponible dans l'une des prochaines versions.

Pour rappel, voici la courte vidéo que nous avons réalisée pour présenter des instantanés.