{"id":10,"date":"2026-10-23T11:23:48","date_gmt":"2026-10-23T09:23:48","guid":{"rendered":"https:\/\/robinet.app\/blog\/site-wordpress-qui-ne-publie-plus\/"},"modified":"2026-10-23T15:32:28","modified_gmt":"2026-10-23T13:32:28","slug":"site-wordpress-qui-ne-publie-plus","status":"publish","type":"post","link":"https:\/\/robinet.app\/blog\/site-wordpress-qui-ne-publie-plus\/","title":{"rendered":"Site WordPress qui ne publie plus : causes et solutions"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Un site WordPress qui ne publie plus souffre g\u00e9n\u00e9ralement d&rsquo;un conflit d&rsquo;extension, d&rsquo;une limite m\u00e9moire PHP d\u00e9pass\u00e9e ou d&rsquo;un fichier `.maintenance` oubli\u00e9 apr\u00e8s une mise \u00e0 jour rat\u00e9e. R\u00e9soudre un site WordPress qui ne publie plus prend moins de vingt minutes une fois la cause identifi\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le diagnostic repose sur une question simple : qu&rsquo;est-ce qui a chang\u00e9 juste avant que \u00e7a s&rsquo;arr\u00eate ? Une mise \u00e0 jour automatique, une extension activ\u00e9e sans pr\u00e9venir, un quota d&rsquo;h\u00e9bergement atteint en silence.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>En Bref<\/strong><\/p><ul><li>La majorit\u00e9 des blocages de publication viennent d&rsquo;un conflit d&rsquo;extension ou d&rsquo;une limite m\u00e9moire d\u00e9pass\u00e9e<\/li><li>Le diagnostic se fait dans un ordre pr\u00e9cis : extensions d&rsquo;abord, serveur ensuite, base de donn\u00e9es en dernier<\/li><li>Avant toute intervention, sauvegarder la base de donn\u00e9es, pas apr\u00e8s<\/li><li>Un fichier `.maintenance` persistant n&rsquo;est pas une panne : c&rsquo;est un oubli qui se r\u00e8gle en trente secondes<\/li><\/ul><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Ce qui se passe vraiment quand WordPress arr\u00eate de publier<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress ne \u00ab\u00a0d\u00e9cide\u00a0\u00bb pas de bloquer la publication. Ce qui \u00e9choue, c&rsquo;est une cha\u00eene d&rsquo;op\u00e9rations : le clic sur \u00ab\u00a0Publier\u00a0\u00bb d\u00e9clenche une requ\u00eate PHP, qui \u00e9crit dans la base de donn\u00e9es, qui met \u00e0 jour le cache, qui rend l&rsquo;article visible. Si l&rsquo;un de ces maillons c\u00e8de, le r\u00e9sultat en surface reste le m\u00eame : rien ne se passe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le blocage silencieux est le cas le plus trompeur. Pas de message d&rsquo;erreur, pas de page blanche, juste un bouton \u00ab\u00a0Publier\u00a0\u00bb qui revient \u00e0 son \u00e9tat initial. L&rsquo;\u00e9diteur clique trois fois, recharge la page, et pense \u00e0 un bug de navigateur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En r\u00e9alit\u00e9, PHP n&rsquo;a souvent pas eu assez de m\u00e9moire pour finaliser l&rsquo;\u00e9criture. La sauvegarde du brouillon a \u00e9chou\u00e9 \u00e0 mi-chemin, sans que WordPress ait pu afficher quoi que ce soit d&rsquo;utile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chercher le maillon faible d&rsquo;une cha\u00eene ordinaire : voil\u00e0 le bon r\u00e9flexe. Ne relancez pas la publication \u00e0 r\u00e9p\u00e9tition, chaque tentative \u00e9chou\u00e9e cr\u00e9e des entr\u00e9es orphelines en base de donn\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les raisons les plus courantes, class\u00e9es par fr\u00e9quence<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Mise \u00e0 jour d&rsquo;une extension, du th\u00e8me ou du c\u0153ur WordPress<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Une extension mise \u00e0 jour peut introduire un conflit avec une autre ou modifier le comportement de l&rsquo;\u00e9diteur Gutenberg. Vous publiez sans probl\u00e8me en apr\u00e8s-midi, la mise \u00e0 jour tourne le soir, et plus rien le lendemain matin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est la cause la plus fr\u00e9quente. V\u00e9rifiez le journal des mises \u00e0 jour dans <em>Tableau de bord > Mises \u00e0 jour<\/em> et comparez la date avec le moment o\u00f9 le probl\u00e8me a commenc\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Erreur de connexion \u00e0 la base de donn\u00e9es ou quota serveur atteint<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Quand WordPress ne peut plus \u00e9crire dans sa base de donn\u00e9es (connexion coup\u00e9e, identifiants incorrects ou quota disque \u00e9puis\u00e9), la publication \u00e9choue sans explication claire. Sur un h\u00e9bergement mutualis\u00e9, le quota d&rsquo;espace est partag\u00e9 entre tous les sites du compte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une base de donn\u00e9es corrompue est plus rare mais plus s\u00e9rieuse. Les tables mal index\u00e9es refusent silencieusement les nouvelles insertions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Site bloqu\u00e9 en mode maintenance ou victime d&rsquo;une injection de spam<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le fichier `.maintenance` que WordPress cr\u00e9e pendant une mise \u00e0 jour devrait dispara\u00eetre automatiquement. S&rsquo;il reste, le site affiche un message de maintenance pour tous les visiteurs, y compris vous dans l&rsquo;administration. La confusion est fr\u00e9quente : ce n&rsquo;est pas un blocage de publication, c&rsquo;est un \u00e9cran qui masque tout.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une injection de spam est plus grave. Des scripts inject\u00e9s peuvent r\u00e9\u00e9crire les permissions fichiers WordPress au point d&#8217;emp\u00eacher toute \u00e9criture. <a href=\"https:\/\/www.cybermalveillance.gouv.fr\/tous-nos-contenus\/actualites\/alertecyber-failles-de-securite-critiques-dans-wordpress-202607\">Cybermalveillance.gouv.fr signalait en juillet 2026 des failles critiques dans plusieurs versions de WordPress<\/a>, permettant une prise de contr\u00f4le \u00e0 distance. Si votre site n&rsquo;est pas \u00e0 jour, ce sc\u00e9nario n&rsquo;est pas hypoth\u00e9tique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notez ce qui a chang\u00e9 sur votre site dans les 48 heures avant le blocage : la r\u00e9ponse s&rsquo;y trouve souvent.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"848\" height=\"1264\" src=\"https:\/\/robinet.app\/blog\/wp-content\/uploads\/2026\/10\/infographie-site-wordpress-qui-ne-publie-plus-causes.png\" alt=\"Infographie Site wordpress qui ne publie plus : causes et solutions\" class=\"wp-image-8\" srcset=\"https:\/\/robinet.app\/blog\/wp-content\/uploads\/2026\/10\/infographie-site-wordpress-qui-ne-publie-plus-causes.png 848w, https:\/\/robinet.app\/blog\/wp-content\/uploads\/2026\/10\/infographie-site-wordpress-qui-ne-publie-plus-causes-201x300.png 201w, https:\/\/robinet.app\/blog\/wp-content\/uploads\/2026\/10\/infographie-site-wordpress-qui-ne-publie-plus-causes-687x1024.png 687w, https:\/\/robinet.app\/blog\/wp-content\/uploads\/2026\/10\/infographie-site-wordpress-qui-ne-publie-plus-causes-768x1145.png 768w\" sizes=\"auto, (max-width: 848px) 100vw, 848px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Les signaux d&rsquo;alerte \u00e0 reconna\u00eetre sans \u00eatre d\u00e9veloppeur<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00c9cran blanc, erreur 500, message de maintenance qui dure<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;\u00e9cran blanc signale un probl\u00e8me PHP fatal, une extension qui g\u00e9n\u00e8re une erreur bloquante, ou une limite m\u00e9moire PHP d\u00e9pass\u00e9e. L&rsquo;erreur 500 vient souvent du m\u00eame endroit, avec un probl\u00e8me de configuration serveur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le message de maintenance qui dure plus d&rsquo;une heure est presque toujours un fichier `.maintenance` oubli\u00e9. Ce n&rsquo;est pas une panne : c&rsquo;est un fichier \u00e0 supprimer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Les modifications ne s&rsquo;enregistrent pas et les m\u00e9dias refusent de s&rsquo;importer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Quand une image refuse de s&rsquo;importer dans la m\u00e9diath\u00e8que, le dossier `\/wp-content\/uploads\/` n&rsquo;est probablement plus accessible en \u00e9criture. Les permissions FTP ont \u00e9t\u00e9 modifi\u00e9es apr\u00e8s une intervention sur le serveur ou une mise \u00e0 jour d&rsquo;h\u00e9bergement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si les m\u00e9dias sont bloqu\u00e9s, la publication des articles l&rsquo;est souvent aussi, pour la m\u00eame raison.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Le site r\u00e9pond, mais aucun nouvel article n&rsquo;appara\u00eet c\u00f4t\u00e9 visiteur<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est le cas le plus insidieux. L&rsquo;admin semble fonctionner, la publication semble r\u00e9ussir, mais le visiteur ne voit rien de nouveau. Causes probables : un cache serveur qui ne s&rsquo;invalide pas, un plugin de cache qui cr\u00e9e un conflit, ou un article publi\u00e9 avec une date future par erreur.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Signal visible<\/th><th>Cause probable<\/th><th>Priorit\u00e9 de diagnostic<\/th><\/tr><\/thead><tbody><tr><td>\u00c9cran blanc complet<\/td><td>Limite m\u00e9moire PHP ou erreur PHP fatale<\/td><td>Haute<\/td><\/tr><tr><td>Erreur 500<\/td><td>Configuration serveur ou `.htaccess` corrompu<\/td><td>Haute<\/td><\/tr><tr><td>Message maintenance permanent<\/td><td>Fichier `.maintenance` non supprim\u00e9<\/td><td>Facile \u00e0 r\u00e9gler<\/td><\/tr><tr><td>Publication silencieuse sans effet<\/td><td>Cache non invalid\u00e9, plugin conflictuel<\/td><td>Moyenne<\/td><\/tr><tr><td>M\u00e9dias non importables<\/td><td>Permissions `\/uploads` incorrectes<\/td><td>Moyenne<\/td><\/tr><tr><td>Admin accessible mais rien c\u00f4t\u00e9 visiteur<\/td><td>Plugin de cache, article en date future<\/td><td>Faible \u00e0 moyenne<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Reconnaissez-vous l&rsquo;un de ces signaux ? Passez directement \u00e0 la section de diagnostic correspondante plut\u00f4t que de tout tester dans l&rsquo;ordre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Diagnostic rapide : v\u00e9rifier soi-m\u00eame en moins de vingt minutes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">D\u00e9sactiver les extensions une par une pour isoler la coupable<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Allez dans <em>Extensions > Extensions install\u00e9es<\/em> et utilisez l&rsquo;option \u00ab\u00a0Tout d\u00e9sactiver\u00a0\u00bb. Trente secondes pour tester si une extension est coupable. Si la publication fonctionne, r\u00e9activez-les une par une en testant la publication apr\u00e8s chaque r\u00e9activation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La majorit\u00e9 commence par chercher sur Google \u00ab\u00a0erreur publication WordPress\u00a0\u00bb. D\u00e9sactiver toutes les extensions en deux clics r\u00e9sout le probl\u00e8me dans un grand nombre de cas, bien avant que vous finissiez de lire votre premi\u00e8re r\u00e9sultat de recherche.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>\u00c0 retenir<\/strong><\/p><ul><li>D\u00e9sactiver toutes les extensions avant toute autre manipulation<\/li><li>Tester la publication imm\u00e9diatement apr\u00e8s<\/li><li>R\u00e9activer une extension \u00e0 la fois pour identifier la coupable<\/li><li>Si le probl\u00e8me vient d&rsquo;une extension essentielle, chercher une alternative ou contacter son auteur<\/li><\/ul><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Basculer sur un th\u00e8me par d\u00e9faut pour \u00e9carter un conflit d&rsquo;affichage<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si la d\u00e9sactivation des extensions ne change rien, activez un th\u00e8me par d\u00e9faut WordPress (Twenty Twenty-Four ou \u00e9quivalent). Un th\u00e8me mal cod\u00e9 peut interf\u00e9rer avec l&rsquo;\u00e9diteur de blocs. Ce test prend une minute.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Th\u00e8me par d\u00e9faut : rapide \u00e0 tester, souvent innocent. Extensions : lentes \u00e0 tester une par une, mais coupables dans la plupart des cas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lire les journaux d&rsquo;erreurs et interroger la Search Console<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le fichier `debug.log` dans `\/wp-content\/` contient les erreurs PHP si vous avez activ\u00e9 `WP_DEBUG_LOG` dans `wp-config.php`. C&rsquo;est l\u00e0 que WordPress note ce qu&rsquo;il n&rsquo;affiche pas \u00e0 l&rsquo;\u00e9cran.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La Search Console indique si Google a d\u00e9tect\u00e9 des probl\u00e8mes d&rsquo;indexation r\u00e9cents. C&rsquo;est un sympt\u00f4me indirect mais utile pour confirmer depuis quand le probl\u00e8me existe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si apr\u00e8s ces trois \u00e9tapes rien n&rsquo;est r\u00e9solu, passez aux interventions du niveau suivant.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les interventions \u00e0 tenter avant d&rsquo;appeler un professionnel<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Restaurer une sauvegarde r\u00e9cente et v\u00e9rifier qu&rsquo;elle est saine<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Avant toute manipulation sur le serveur, restaurez une sauvegarde de la base de donn\u00e9es. Une sauvegarde jamais test\u00e9e en restauration ne vaut rien.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exportez la base via phpMyAdmin ou via l&rsquo;outil de votre h\u00e9bergeur. Gardez cette sauvegarde accessible pendant toute la dur\u00e9e des interventions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Corriger les droits de fichiers et vider les caches \u00e0 plusieurs niveaux<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les permissions recommand\u00e9es : `755` pour les dossiers, `644` pour les fichiers. Le dossier `\/wp-content\/uploads\/` doit \u00eatre accessible en \u00e9criture pour le serveur web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Videz les caches dans cet ordre : plugin de cache, cache serveur (via le panneau d&rsquo;h\u00e9bergement), puis CDN si vous en avez un. Un seul niveau de cache oubli\u00e9 peut masquer une publication r\u00e9ussie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Supprimer le fichier .maintenance laiss\u00e9 par une mise \u00e0 jour interrompue<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Via FTP ou le gestionnaire de fichiers de votre h\u00e9bergeur, cherchez un fichier nomm\u00e9 `.maintenance` \u00e0 la racine du site. S&rsquo;il est l\u00e0, supprimez-le et testez imm\u00e9diatement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette manipulation prend moins de deux minutes et r\u00e9sout le cas \u00ab\u00a0mode maintenance qui dure depuis trois jours\u00a0\u00bb dans presque tous les cas.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Intervention<\/th><th>Niveau requis<\/th><th>Temps estim\u00e9<\/th><th>Risque si mal fait<\/th><\/tr><\/thead><tbody><tr><td>D\u00e9sactiver extensions<\/td><td>D\u00e9butant<\/td><td>5 min<\/td><td>Faible<\/td><\/tr><tr><td>Changer th\u00e8me<\/td><td>D\u00e9butant<\/td><td>2 min<\/td><td>Faible<\/td><\/tr><tr><td>Supprimer .maintenance<\/td><td>D\u00e9butant<\/td><td>2 min<\/td><td>Tr\u00e8s faible<\/td><\/tr><tr><td>Corriger permissions FTP<\/td><td>Interm\u00e9diaire<\/td><td>15 min<\/td><td>Moyen<\/td><\/tr><tr><td>Restaurer sauvegarde BDD<\/td><td>Interm\u00e9diaire<\/td><td>30 min<\/td><td>\u00c9lev\u00e9 si erreur<\/td><\/tr><tr><td>R\u00e9parer tables via phpMyAdmin<\/td><td>Interm\u00e9diaire<\/td><td>20 min<\/td><td>\u00c9lev\u00e9 si erreur<\/td><\/tr><tr><td>R\u00e9installer WordPress core<\/td><td>Expert<\/td><td>1 h<\/td><td>\u00c9lev\u00e9<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Si les interventions \u00ab\u00a0d\u00e9butant\u00a0\u00bb n&rsquo;ont rien chang\u00e9 et que vous n&rsquo;\u00eates pas \u00e0 l&rsquo;aise avec FTP, c&rsquo;est le moment d&rsquo;appeler un professionnel, pas apr\u00e8s avoir tent\u00e9 plusieurs manipulations en parall\u00e8le.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le cas particulier des parcs de sites : quand un site \u00e0 sec passe inaper\u00e7u trop longtemps<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Pourquoi l&rsquo;inactivit\u00e9 \u00e9ditoriale endommage comme une panne technique<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un site qui ne publie plus rien depuis plusieurs semaines envoie des signaux identiques : une date de dernier article qui vieillit, un trafic qui s&rsquo;\u00e9rode, un acheteur qui consulte le dernier billet avant de passer commande et qui s&rsquo;en va.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un site \u00e0 sec se d\u00e9t\u00e9riore lentement, sans alarme. C&rsquo;est souvent plus difficile \u00e0 rattraper qu&rsquo;une panne franche.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quand vous g\u00e9rez dix ou vingt sites en parall\u00e8le, le risque n&rsquo;est pas de ne pas savoir r\u00e9parer. C&rsquo;est de ne pas savoir que le probl\u00e8me existe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Surveiller tous ses sites depuis un seul \u00e9cran<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un tableau de bord unifi\u00e9 permet de <a href=\"https:\/\/robinet.app\/produit\/tableau-du-matin\/\">surveiller tous ses sites depuis un seul \u00e9cran<\/a> et de voir lequel n&rsquo;a pas publi\u00e9 depuis trop longtemps, lequel a une alerte ouverte, lequel a perdu du trafic. Sans cet \u00e9cran, la d\u00e9tection repose sur la m\u00e9moire ou le hasard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mettez en place une v\u00e9rification hebdomadaire de l&rsquo;activit\u00e9 de chaque site, m\u00eame sommaire. C&rsquo;est la seule fa\u00e7on de voir venir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les erreurs qui transforment un incident mineur en panne durable<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Mettre \u00e0 jour en production sans sauvegarde pr\u00e9alable<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Beaucoup font cette erreur et le regrettent \u00e0 la premi\u00e8re mise \u00e0 jour majeure rat\u00e9e. Une mise \u00e0 jour du c\u0153ur WordPress qui \u00e9choue \u00e0 mi-chemin laisse le site dans un \u00e9tat inconsistant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00e8gle simple : sauvegarde avant mise \u00e0 jour, pas apr\u00e8s. Et testez la sauvegarde en restaurant sur un environnement de test, au moins une fois par trimestre.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ignorer les alertes de s\u00e9curit\u00e9 jusqu&rsquo;au retrait d&rsquo;un catalogue<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un site infect\u00e9 par du spam inject\u00e9 peut continuer \u00e0 fonctionner pendant des semaines. Ce n&rsquo;est pas la publication qui \u00e9choue en premier, c&rsquo;est le catalogue de plateforme qui retire le site, ou un acheteur qui signale du contenu suspect.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La <a href=\"https:\/\/robinet.app\/produit\/veille-securite\/\">veille de s\u00e9curit\u00e9<\/a> sur fichiers, comptes administrateurs et domaine permet de d\u00e9tecter une injection avant qu&rsquo;elle devienne visible. Attendre que le probl\u00e8me soit \u00e9vident, c&rsquo;est attendre qu&rsquo;il soit co\u00fbteux.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tenter plusieurs corrections en m\u00eame temps sans noter ce qui change<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est l&rsquo;erreur de m\u00e9thode la plus fr\u00e9quente. On d\u00e9sactive les extensions, on modifie wp-config.php, on vide le cache, on restaure une table. Si \u00e7a marche, impossible de savoir ce qui a r\u00e9solu le probl\u00e8me. Si \u00e7a ne marche pas, impossible de revenir \u00e0 un \u00e9tat stable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une correction \u00e0 la fois, not\u00e9e avec son r\u00e9sultat.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>Attention<\/strong><\/p><ul><li>Jamais deux manipulations simultan\u00e9es sans noter l&rsquo;\u00e9tat avant chaque intervention<\/li><li>Un site \u00ab\u00a0r\u00e9par\u00e9\u00a0\u00bb sans sauvegarde pr\u00e9alable reste fragile<\/li><li>Ignorer une alerte de s\u00e9curit\u00e9 parce que le site \u00ab\u00a0fonctionne encore\u00a0\u00bb est un calcul perdant<\/li><\/ul><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Emp\u00eacher la prochaine panne : routine de maintenance chiffr\u00e9e<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Ce qu&rsquo;il faut v\u00e9rifier chaque semaine, chaque mois et \u00e0 chaque mise \u00e0 jour majeure<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Chaque semaine :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>V\u00e9rifier que chaque site a publi\u00e9 au moins un article r\u00e9cent<\/li>\n<li>Consulter les alertes de s\u00e9curit\u00e9 ouvertes<\/li>\n<li>V\u00e9rifier qu&rsquo;aucun administrateur inconnu n&rsquo;a \u00e9t\u00e9 ajout\u00e9<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Chaque mois :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Passer les mises \u00e0 jour des extensions et du th\u00e8me, une par une<\/li>\n<li>Tester la restauration d&rsquo;une sauvegarde sur au moins un site<\/li>\n<li>Consulter <em>Outils > Sant\u00e9 du site<\/em> dans WordPress et traiter les points critiques<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00c0 chaque mise \u00e0 jour majeure de WordPress :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sauvegarde compl\u00e8te avant toute action<\/li>\n<li>Mise \u00e0 jour sur un site de test en premier si vous en avez un<\/li>\n<li>V\u00e9rification de la publication imm\u00e9diatement apr\u00e8s<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Budget temps et budget argent r\u00e9alistes<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>P\u00e9rim\u00e8tre<\/th><th>Temps de maintenance mensuel<\/th><th>Niveau d&rsquo;intervention<\/th><\/tr><\/thead><tbody><tr><td>1 \u00e0 3 sites simples<\/td><td>1 \u00e0 2 heures<\/td><td>D\u00e9butant suffisant<\/td><\/tr><tr><td>5 \u00e0 15 sites actifs<\/td><td>4 \u00e0 8 heures<\/td><td>Interm\u00e9diaire recommand\u00e9<\/td><\/tr><tr><td>20 sites et plus<\/td><td>Outil de monitoring indispensable<\/td><td>Expert ou d\u00e9l\u00e9gation<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Au-del\u00e0 d&rsquo;une dizaine de sites, le temps devient le vrai co\u00fbt. Un incident non d\u00e9tect\u00e9 pendant trois semaines sur un site actif co\u00fbte plus en trafic perdu qu&rsquo;un abonnement de monitoring annuel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pourquoi certaines r\u00e9parations n&rsquo;aboutissent pas malgr\u00e9 un diagnostic correct<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est le cas que personne ne mentionne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous avez isol\u00e9 la bonne extension, vous l&rsquo;avez d\u00e9sactiv\u00e9e, la publication fonctionne. Puis vous r\u00e9installez l&rsquo;extension depuis le r\u00e9pertoire officiel, et le probl\u00e8me revient aussi. Raison : un conflit entre la version de PHP de votre h\u00e9bergeur et la derni\u00e8re version de l&rsquo;extension.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans ce cas, d\u00e9sactiver ne suffit pas. Choisissez : garder l&rsquo;extension et mettre \u00e0 jour PHP (intervention h\u00e9bergeur), ou trouver une alternative compatible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Autre cas : la base de donn\u00e9es r\u00e9par\u00e9e via phpMyAdmin continue \u00e0 g\u00e9n\u00e9rer des erreurs parce que le probl\u00e8me n&rsquo;est pas dans les tables mais dans les droits de l&rsquo;utilisateur MySQL. `REPAIR TABLE` r\u00e9ussit, mais l&rsquo;utilisateur WordPress ne peut toujours pas \u00e9crire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enfin : un site dont la limite m\u00e9moire PHP a \u00e9t\u00e9 augment\u00e9e dans `wp-config.php` peut continuer \u00e0 \u00e9chouer si l&rsquo;h\u00e9bergeur impose une limite inf\u00e9rieure au niveau serveur. Le param\u00e8tre local est ignor\u00e9 sans avertissement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Questions fr\u00e9quentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Comment savoir si un site tourne sous WordPress sans avoir acc\u00e8s \u00e0 l&rsquo;administration ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;adresse `\/wp-login.php` renvoie une page de connexion si le site est sous WordPress. Le fichier `\/wp-json\/wp\/v2\/` renvoie une r\u00e9ponse JSON lisible dans le navigateur. Ces deux indices sont accessibles publiquement sur la quasi-totalit\u00e9 des sites WordPress standards, sauf si l&rsquo;administrateur a renomm\u00e9 les chemins d&rsquo;acc\u00e8s.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Je ne peux plus me connecter au tableau de bord WordPress : est-ce li\u00e9 au blocage de publication ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pas n\u00e9cessairement. Une impossibilit\u00e9 de connexion peut venir d&rsquo;un mot de passe oubli\u00e9, d&rsquo;un compte d\u00e9sactiv\u00e9, d&rsquo;un plugin de s\u00e9curit\u00e9 qui a bloqu\u00e9 votre IP, ou d&rsquo;une base de donn\u00e9es inaccessible. La r\u00e9initialisation du mot de passe via l&#8217;email suffit dans la plupart des cas. Si la page de connexion ne r\u00e9pond pas du tout, c&rsquo;est un probl\u00e8me serveur diff\u00e9rent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comment d\u00e9sactiver temporairement un site WordPress sans le supprimer ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Activez le mode maintenance en cr\u00e9ant un fichier `.maintenance` \u00e0 la racine, ou installez un plugin de maintenance. L&rsquo;interface d&rsquo;administration reste accessible pour vous. C&rsquo;est utile pendant une r\u00e9paration pour \u00e9viter que les visiteurs voient une page cass\u00e9e.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pourquoi un site peut-il \u00eatre inaccessible sans que vous ayez rien chang\u00e9 ?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un h\u00e9bergeur peut subir une panne, un probl\u00e8me de r\u00e9seau ou une op\u00e9ration de maintenance. Le nom de domaine peut aussi avoir expir\u00e9 sans alerte. V\u00e9rifiez d&rsquo;abord votre h\u00e9bergeur via sa page de statut avant d&rsquo;ouvrir wp-config.php.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un site WordPress qui ne publie plus n&rsquo;est presque jamais une catastrophe. C&rsquo;est un incident dans une cha\u00eene pr\u00e9visible, avec des causes connues et un ordre de diagnostic qui fonctionne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ouvrez <em>Outils > Sant\u00e9 du site<\/em> sur chaque site de votre parc d\u00e8s maintenant. Si des points critiques apparaissent, traitez-les dans l&rsquo;ordre indiqu\u00e9. C&rsquo;est l\u00e0 que WordPress liste les probl\u00e8mes qui deviennent des pannes si on les laisse s&rsquo;installer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00c9cran blanc, mise \u00e0 jour rat\u00e9e ou plus rien depuis trois mois : pourquoi un site WordPress qui ne publie plus s&rsquo;arr\u00eate, et comment le remettre en route.<\/p>\n","protected":false},"author":1,"featured_media":9,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/posts\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":2,"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"predecessor-version":[{"id":20,"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/posts\/10\/revisions\/20"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/media\/9"}],"wp:attachment":[{"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robinet.app\/blog\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}