asset 1
asset 2
asset 3
asset 2
asset 21

Reprendre un site WordPress qu’on n’a pas conçu

9 septembre 2026

Reprendre un site Word­Press qu’on n’a pas conçu, c’est un peu comme emmé­na­ger dans une mai­son meu­blée par quel­qu’un d’autre. On ouvre les pla­cards les uns après les autres, on découvre des choix qu’on n’au­rait pas faits. On doit alors se deman­der pour­quoi c’est ran­gé comme ça.

Cela m’ar­rive de temps en temps et encore récem­ment, de reprendre des sites que je n’ai pas conçus. Dans ce cas, le mieux que l’on puisse faire c’est de deman­der un accès au tableau de bord pour audi­ter le site. En regar­dant de plus près, il y a par­fois des sites dans les­quels je ne met­trai jamais les mains, car cela me paraît trop risqué. 

J’en ai donc repris un récem­ment, et dès l’ou­ver­ture du tableau de bord, quelque chose m’a inter­pel­lée : j’ai comp­té 17 exten­sions désac­ti­vées.

Je vous raconte cette l’ex­pé­rience récente. Atten­tion, cet article n’a aucu­ne­ment voca­tion à faire la cri­tique de l’an­cien pres­ta. C’est juste un par­tage d’ex­pé­rience où je vous raconte com­ment j’ai pro­cé­dé pour le reprendre en main.

Reprendre un site WordPress veut dire audit.

Donc, pre­mier constat : 17 exten­sions étaient désac­ti­vées. Je ne sau­rai peut-être jamais la vraie rai­son. Ce sont peut-être des exten­sions qui ont été tes­tées pen­dant la construc­tion du site et qui ont été aban­don­nées. Ce sont peut-être des exten­sions qui entraient en conflit avec d’autres.

Le plus dur est de se mettre à la place de la per­sonne qui a géré le site avant moi. Par­fois on peut se mettre à juger cette per­sonne. En ce qui me concerne j’es­saye de gar­der les pieds sur terre. Car on ne connaît jamais tout le contexte dans lequel une déci­sion a été prise : le bud­get dis­po­nible à l’é­poque, les délais ser­rés, les com­pé­tences de l’é­quipe en place, ou tout sim­ple­ment une urgence à régler dans la journée.

Pour reve­nir aux 17 exten­sions, on peut ima­gi­ner plu­sieurs pistes pos­sibles, comme je l’ai un peu dit plus haut. Un conflit repé­ré en urgence entre deux exten­sions et désac­ti­vées dans la pré­ci­pi­ta­tion puis jamais réso­lu. Une fonc­tion­na­li­té tes­tée, fina­le­ment aban­don­née, mais jamais net­toyée der­rière. Un chan­ge­ment de pres­ta­taire en cours de route, avec une pas­sa­tion qui ne s’est pas faite. Ou tout sim­ple­ment la peur de sup­pri­mer quelque chose d’im­por­tant, en se disant qu’on y revien­dra plus tard (et ce « plus tard » qui n’ar­rive jamais, on connaît tous et toutes ça).

Aucun de ces scé­na­rios n’est une faute en soi. Mais ensemble, ils des­sinent une réa­li­té assez fré­quente : celle d’un site géré au fil de l’eau, sans le temps ni les moyens de faire un vrai ménage régulier.

Pourquoi garder des extensions inactives n’est pas une bonne idée

Une fois pas­sée cette étape de com­pré­hen­sion, il faut quand même agir. Parce que gar­der des exten­sions désac­ti­vées, ce n’est jamais neutre.

D’a­bord, une exten­sion désac­ti­vée reste ins­tal­lée sur le ser­veur. Les admi­nis­tra­teurs ne vont pas for­cé­ment la mettre à jour, puisque elles n’est pas active. Une exten­sion désac­ti­vée peut don­ner un faux sen­ti­ment de sécu­ri­té. « Elle est désac­ti­vée, donc elle ne pose pas de pro­blème. » Sauf que ce n’est pas tout à fait vrai. Son code (et ses éven­tuelles failles de sécu­ri­té) est tou­jours pré­sent et poten­tiel­le­ment exploi­table, même si l’ex­ten­sion ne « tourne » pas au quo­ti­dien. Le simple fait qu’elle soit inac­tive ne la rend pas invi­sible pour quel­qu’un qui cher­che­rait une porte d’entrée. 

Ensuite, ces exten­sions inac­tives alour­dissent inuti­le­ment les sau­ve­gardes, les migra­tions ou les res­tau­ra­tions. Celles-ci deviennent plus longues à cause de tous ces fichiers lais­sés là.

Ça peut aus­si peser sur les per­for­mances du site. Plus il y a d’ex­ten­sions ins­tal­lées, actives ou non, plus l’ad­mi­nis­tra­tion Word­Press met de temps à char­ger : à chaque affi­chage de la liste des exten­sions, Word­Press doit scan­ner cha­cune d’entre elles. 

Pour moi, si une exten­sion est désac­ti­vée et que le site conti­nue de fonc­tion­ner, elle n’a aucune uti­li­té, donc je la supprime. 

Ici, j’ai donc sup­pri­mé les 17 exten­sions, mais j’ai pris aus­si soin de docu­men­ter pour­quoi je l’ai fait et je les ai toutes listées.

define( « WP_AUTO_UPDATE_CORE », false );

La pre­mière chose que consta­tée, c’est qu’E­le­men­tor Pro n’é­tait pas à jour depuis un moment. Je savais qu’il y avait une mise à jour de sécu­ri­té quand j’é­tais sur le tableau de bord. Mais là, aucune mise à jour de pro­po­sée. Mon pre­mier réflexe a été de véri­fier si la licence était tou­jours valide et c’é­tait bien le cas.

J’ai aus­si consta­té que les mises à jour de sécu­ri­té de Word­Press ne fonc­tion­naient pas non plus.

Je suis donc aller explo­rer le fichier wp-config.php et j’ai trou­vé la constante :

define( 'WP_AUTO_UPDATE_CORE', false );

Si vous ne la connais­sez pas, cette constante désac­tive les mises à jour auto­ma­tiques du cœur de Word­Press, y com­pris les mises à jour mineures de sécurité.

La per­sonne qui a ajou­té cette ligne vou­lait sans doute gar­der un contrôle total sur un site qu’elle jugeait sen­sible. Ou peut-être qu’une mise à jour auto­ma­tique avait déjà cas­sé quelque chose par le pas­sé, et que cette constante était une façon de se pré­mu­nir d’une mau­vaise sur­prise. C’est une inquié­tude que je com­prends très bien.

Pourquoi ce n’est pas toujours une bonne idée de couper les mises à jour automatiques

Le pro­blème, ce n’est pas tant cette constante en elle-même. C’est ce qui se passe (ou plu­tôt, ce qui ne se passe pas) après.

Sans super­vi­sion active, désac­ti­ver les mises à jour auto­ma­tiques du cœur revient à se pri­ver des cor­rec­tifs de sécu­ri­té cri­tiques. Et il est pos­sible que per­sonne ne s’en rende compte avant qu’il ne soit trop tard : pas de mes­sage d’er­reur, pas d’a­lerte visible, juste un site qui accu­mule silen­cieu­se­ment du retard sur des failles pour­tant cor­ri­gées depuis long­temps côté WordPress.

Ce choix peut être légi­time dans cer­tains contextes : un site à fort tra­fic, un pro­cess de vali­da­tion obli­ga­toire avant toute modi­fi­ca­tion, une équipe tech­nique qui pré­fère tout maî­tri­ser. Mais dans ces cas-là, il doit s’ac­com­pa­gner d’un vrai sui­vi manuel, régu­lier, et pas d’un oubli. Le vrai pro­blème, ce n’est donc pas de poser cette constante. C’est de la poser puis de ne plus jamais reve­nir véri­fier les mises à jour de sécu­ri­té disponibles.

J’ai sup­pri­mé la constante. De toute façon Word­Press pro­pose dans le tableau de bord de choi­sir entre les mises à jour auto­ma­tiques ou les mises à jour de sécurité. 

Elementor, resté figé dans le temps

Comme je le disais, j’ai aus­si trou­vé une ver­sion d’E­le­men­tor un peu ancienne (avec donc plu­sieurs ver­sions de retard).

Le pro­blème dont je par­lais, c’est que la mise à jour n’é­tait pas pro­po­sée. Impos­sible de trou­ver la rai­son. Bizar­re­ment, la mise à jour a fini par être pro­po­sée, au même moment où j’ai sup­pri­mé la constante. C’est tou­te­fois quelque chose qui ne devrait pas arri­ver, car cela n’a rien à voir.

Quand on on trouve une mise à jour depuis une ver­sion assez ancienne à la ver­sion la plus récente, on peut avoir envie de cli­quer sur la mise à jour. Mais sans test, comme ça, ce réflexe peut coû­ter cher.

Pourquoi ne pas mettre à jour sans tester avant

Ce que je vais dire pour Ele­men­tor est valable pour tout en fait.

Ele­men­tor c’est un page buil­der très uti­li­sé, avec des mises à jour fré­quentes, et par­fois des chan­ge­ments de struc­ture assez pro­fonds. Plus l’é­cart de ver­sions est grand, plus les chan­ge­ments s’ac­cu­mulent, et plus le risque de cas­ser l’af­fi­chage de cer­taines pages aug­mente. Une mise à jour en bloc, sans étape inter­mé­diaire, c’est un peu comme sau­ter plu­sieurs marches d’es­ca­lier d’un coup : on peut y arri­ver, mais on peut aus­si se rater.

La meilleur méthode est d’ins­tal­ler un envi­ron­ne­ment de test et ne pas tra­vailler d’emblée direc­te­ment en pro­duc­tion et de tes­ter les mises à jour. Ain­si on met à jour pro­gres­si­ve­ment, en véri­fiant l’af­fi­chage à chaque étape, plu­tôt que de sau­ter direc­te­ment à la der­nière ver­sion disponible.

C’est plus long, c’est vrai. Mais c’est tel­le­ment moins stres­sant que de décou­vrir une page cas­sée en pro­duc­tion, un ven­dre­di soir 😁

Ain­si les bonnes pra­tiques à mettre en place quand on reprend un site qu’on n’a pas conçu sont : 

  • faire un état des lieux com­plet avant de tou­cher à quoi que ce soit : exten­sions actives et inac­tives, thème uti­li­sé, constantes pré­sentes dans le wp-config.php, ver­sions de PHP et de WordPress
  • docu­men­ter ce que l’on trouve avant d’in­ter­ve­nir, même quand l’in­ter­ven­tion semble rapide
  • tou­jours tra­vailler d’a­bord sur un envi­ron­ne­ment de test, jamais direc­te­ment sur le site en production
  • sau­ve­gar­der avant toute action, même celle qui paraît la plus anodine
  • mettre à jour pro­gres­si­ve­ment, en tes­tant à chaque étape plu­tôt qu’en un seul bloc
  • réac­ti­ver a mini­ma les mises à jour de sécu­ri­té auto­ma­tiques, si elles avaient été désac­ti­vées sans rai­son claire
  • ne jamais juger les choix de la per­sonne pré­cé­dente : elle avait ses propres contraintes, qu’on ne connais pas toujours

Reprendre un site qu’on n’a pas conçu, c’est un peu mener une enquête. Chaque trou­vaille, exten­sion désac­ti­vée, constante oubliée, exten­sion jamais mise à jour, est un indice sur l’his­toire du site, pas une occa­sion de poin­ter du doigt qui que ce soit. Et cette enquête, aus­si fas­ti­dieuse soit-elle par­fois, c’est jus­te­ment ce qui per­met de repar­tir sur des bases saines.

Image à le Une : Mar­ga­ri­da Afonso

4 Comments

  1. Thierry Pigot dit :

    Mer­ci pour ce par­tage, l’a­na­lo­gie de la mai­son meu­blée par quel­qu’un d’autre est très juste.

    Sur le mys­tère de la mise à jour Ele­men­tor qui n’ap­pa­rais­sait pas : avant de sus­pec­ter WP_AUTO_UPDATE_CORE, ça vaut le coup de regar­der trois autres constantes qui traînent sou­vent dans les wp-config.php repris. DISALLOW_FILE_MODS masque pure­ment et sim­ple­ment toutes les noti­fi­ca­tions de mise à jour dans l’ad­min. AUTOMATIC_UPDATER_DISABLED coupe l’en­semble du méca­nisme, cœur, exten­sions et thèmes. Et WP_HTTP_BLOCK_EXTERNAL empêche Word­Press de joindre les ser­veurs de licence, donc Ele­men­tor Pro ne peut tout sim­ple­ment pas savoir qu’une ver­sion plus récente existe. Der­nière piste : le tran­sient _site_transient_update_plugins, qui peut res­ter figé si le cron Word­Press est désac­ti­vé (DISABLE_WP_CRON sans tâche sys­tème en relais der­rière). Un wp tran­sient delete –all en CLI règle sou­vent la ques­tion en dix secondes.

    Sur les 17 exten­sions : on fait pareil de notre côté, mais on garde une archive zip du dos­sier plu­gins avant sup­pres­sion, avec la liste des ver­sions. Sur les quelque 300 sites que nous main­te­nons ou avons main­te­nus depuis treize ans chez WeA­reWP, ça n’a ser­vi que trois ou quatre fois, mais ces trois ou quatre fois-là, ça a évi­té une soi­rée com­pli­quée. Une exten­sion inac­tive peut cacher une fonc­tion appe­lée depuis le thème enfant.

    Et un grand oui sur le non-juge­ment du pres­ta­taire pré­cé­dent. C’est aus­si la meilleure façon de ne pas pas­ser à côté d’une contrainte métier qu’on n’a pas encore comprise.

    • Bon­jour Thierry, 

      Mer­ci beau­coup pour ce com­plé­ment de pistes. Je vais les gar­der sous le coude et aus­si aller encore véri­fier dans le fichier wp-config, mais il me semble ne pas avoir vu ces autres constantes.

      • Thierry Pigot dit :

        Com­plé­ment à mon mes­sage pré­cé­dent, où j’ai été impré­cis : ces constantes ne vivent pas for­cé­ment dans le wp-config.php.
        DISALLOW_FILE_MODS, AUTOMATIC_UPDATER_DISABLED ou DISABLE_WP_CRON sont lues à l’exé­cu­tion, donc un mu-plu­gin, un drop-in ou le functions.php du thème peuvent les poser.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

✕
✕