Mobile Menu

Mettre à jour WordPress manuellement par FTP sans interruption du site

07 / 04 / 2017
Sécurité & réseau, WordPress

Mettre à jour WordPress manuellement par FTP sans interruption du site

La mise à jour de WordPress et des extensions doit être effectuée régulièrement sur votre site afin de maintenir un bon niveau de sécurité contre les attaques et les tentatives d’intrusion. WordPress étant extrêmement populaire, il est fréquent que des failles de sécurité soient découvertes dans certains des très nombreux plugins disponibles, voire dans le code source de WordPress lui-même. Heureusement, des mises à jour arrivent très rapidement pour corriger ces problèmes de sécurité, il est donc indispensable de les faire dès que possible.

Dans la majorité des cas, les mises à jour peuvent être lancées en quelques clics via l’interface d’administration de WordPress. Mais il arrive que pour une raison ou une autre (droits sur l’hébergement, bug, plugin payant…), il soit impossible de mettre à jour son site via le back-office. Une solution alternative existe pour mettre à jour manuellement WordPress et vos extensions : passer par un client FTP. Pas d’inquiétude : cet article vous expliquera en détail comment faire ces mises à jour très facilement et sans avoir besoin de passer votre site en mode maintenance.

Comprendre le fonctionnement d’une mise à jour WordPress

Avant de se lancer dans les mises à jour de WordPress, il est important de comprendre en quoi elles consistent et comment elles fonctionnent. Pour rappel, un site WordPress est constitué d’un ensemble de fichiers et dossiers ainsi que d’une base de données.

Les fichiers et dossiers rassemblent à la fois le code de WordPress, les thèmes et extensions installés, les images et autres médias uploadés dans la bibliothèque, et différents fichiers de configuration essentiels au bon fonctionnement de votre site. La base de données quant à elle contient les réglages effectuées dans l’administration du site, les contenus de vos pages et articles, les menus, les widgets, les différents utilisateurs créés, etc.

Lorsque vous lancez une mise à jour depuis le back-office, WordPress va dans un premier temps télécharger les nouvelles versions des fichiers, puis supprimer les fichiers obsolètes et les remplacer par les nouveaux. Malheureusement, il peut arriver que l’hébergeur empêche WordPress d’effectuer ces actions lui-même, ce qui provoque l’échec des mises à jour.

Nous allons voir au cours de ce tutoriel comment remplacer ces fichiers manuellement pour faire les mises à jour malgré une erreur en back-office. Nous n’aurons donc pas besoin de manipuler directement la base de données, nous agirons uniquement sur les fichiers et dossiers de notre site.

Télécharger les mises à jour sur son ordinateur

Dans un premier temps, connectez-vous à l’administration de votre site (back-office) et cliquez sur l’onglet « Mises à jour », pour savoir quelles sont les mises à jour à faire.

Télécharger la dernière version de WordPress

Regardez d’abord si une nouvelle version de WordPress est disponible.

Mise à jour WordPress disponible

Téléchargez les nouveaux fichiers en cliquant sur le bouton « Télécharger la version x.x.x-fr_FR », ou passez par le site français de WordPress : fr.wordpress.org

Si votre site est en anglais, vous pouvez cliquer sur « Télécharger la version x.x.x-en_US » ou vous rendre ici : wordpress.org/download

Conservez l’archive zip téléchargée dans un dossier vide de votre ordinateur.

Télécharger les dernières versions des extensions

Retournez sur votre back-office et regardez cette fois-ci la liste des extensions à mettre à jour.

Mises à jour plugins disponibles

Liste des extensions pouvant être mises à jour

Dans un nouvel onglet de votre navigateur, rendez-vous sur le site fr.wordpress.org/plugins, puis tapez le nom de la première extension à mettre à jour.

Rechercher un plugin WordPress

Moteur de recherche d’extensions de WordPress

Cliquez sur l’extension dans la liste des résultats puis sur « Télécharger » pour récupérer l’archive zip de la dernière version du plugin.

Télécharger un plugin WordPress

Écran de téléchargement d’une extension

Dans le dossier où vous avez précédemment rangé l’archive zip de WordPress, vous pouvez créer un dossier « plugins » et y placer cette nouvelle archive. Répétez l’opération pour chaque extension à mettre à jour sur votre site.

Attention : certaines extensions, notamment les payantes, ne sont pas disponibles sur le catalogue d’extensions de WordPress. Vous devrez donc les télécharger directement sur leurs sites officiels respectifs. Exemple pour le plugin WPML : wpml.org/fr

Décompresser l’archive de WordPress

Une fois l’ensemble des fichiers téléchargés, commencez par décompresser l’archive de WordPress. Choisissez d’extraire les fichiers directement dans le dossier courant. L’archive contient un dossier « wordpress ».

Vous devriez avoir ceci (le dossier plugins est celui que vous avez créé pour ranger les archives des extensions) :

Extraction archive WordPress

Ouvrez le dossier « wordpress » et vérifiez que vous avez bien quelque chose comme ça :

Dossier WordPress en local

Supprimez directement le dossier « wp-content » : il s’agit du répertoire dans lequel WordPress stocke les thèmes, les plugins et les médias uploadés dans la bibliothèque. Vous ne devez surtout pas mettre à jour ce dossier (cela casserait votre site), il faut donc le supprimer dès maintenant pour ne pas risquer de le transférer par erreur.

Vous pouvez maintenant supprimer l’archive zip de WordPress.

Décompresser les archives des extensions

Nous allons procéder de la même façon pour les extensions. Rendez-vous dans votre dossier « plugins », sélectionnez toutes les archives zip et faites « Extraire ici » (ne décompressez pas les archives dans des dossiers spécifiques).

Voici à quoi devrait ressembler votre dossier « plugins » une fois les archives décompressées :

Extraction archives plugins

Attention : si les noms des dossiers extraits contiennent les numéros de versions, c’est que vous avez extrait les archives dans des dossiers spécifiques. La mise à jour manuelle ne fonctionnera pas si vous procédez de cette façon. Assurez-vous bien de tout extraire dans le même dossier.

Une fois les extensions correctement décompressées, vous pouvez supprimer les archives zip.

Se connecter à son site via un client FTP

Pour communiquer avec le serveur hébergeant les fichiers de votre site, vous aurez besoin d’un logiciel permettant les transferts FTP. Cela vous permettra de déplacer des fichiers et dossiers de votre ordinateur vers votre site et inversement.

Installer FileZilla et s’identifier

Vous pouvez utiliser FileZilla, c’est le client FTP le plus connu et l’un des plus rapides. Il en existe d’autres comme WinSCP par exemple, cependant je vous déconseille ce dernier pour transférer un volume important de fichiers, car cela mettra beaucoup plus de temps (chaque fichier transféré sera vérifié).

Une fois votre client FTP installé et lancé, vous devrez saisir vos identifiants de connexion FTP. Ceux-ci vous sont fournis par votre hébergeur. Vous avez besoin d’un nom d’hôte, d’un nom d’utilisateur et d’un mot de passe. Sur FileZilla, vous pouvez utiliser le formulaire de connexion rapide en haut de la fenêtre :

Connexion rapide FileZilla

Localiser l’installation de WordPress

Une fois connecté à votre site, repérez le dossier dans lequel WordPress est installé. Cela peut être à la racine, vous arriverez donc directement dedans, mais parfois le site est installé dans un dossier « www », « httpdocs », « htdocs » ou encore « web ».

Voici à quoi doit ressembler le dossier de WordPress (dans cet exemple, il s’agit du répertoire « www ») :

Dossier WordPress FileZilla

Attention aux hébergements sur lesquels plusieurs sites WordPress sont installés, assurez-vous d’être dans le bon dossier avant de faire quoi que ce soit !

L’astuce oboqo

Pour être certain de modifier le bon site, il existe une astuce très simple.

Sur FileZilla, dans le dossier de WordPress que vous pensez être celui de votre site, créez un fichier texte nommé par exemple « test.txt » (clic droit dans le dossier => créer un nouveau fichier). Ouvrez ensuite ce fichier (clic droit => afficher / éditer) et écrivez ce que vous voulez dedans puis enregistrez et refermez l’éditeur de texte.

Une fenêtre de confirmation apparait sur FileZilla, cliquez sur « Oui » pour valider le transfert puis rendez-vous sur la page d’accueil de votre site. Tapez « /test.txt » (ou le nom que vous avez donné à votre fichier) derrière l’URL de votre site (exemple : www.monsite.com/test.txt). Le contenu de votre fichier devrait alors apparaître dans votre navigateur, ce qui vous confirmera que vous agissez bien sur le bon dossier.

Une fois cette vérification effectuée, n’oubliez pas de supprimer le fichier texte (clic droit => supprimer).

Sauvegarder son site

Maintenant que vous êtes connecté à votre site via FTP, vous allez pouvoir passer à l’étape suivante : le transfert des mises à jour.

Si vous souhaitez faire une sauvegarde de votre site, c’est le moment. Je ne rentrerai pas dans les détails car ce n’est pas l’objet de cet article, d’autant plus que la méthode décrite ici devrait vous permettre de revenir en arrière si besoin. Toutefois, je vous recommande de sauvegarder au moins votre base de données, via phpMyAdmin ou une extension dédiée. Si vous avez le temps, faites également une sauvegarde de tous vos fichiers pour être tranquille. On n’est jamais trop prudent !

De manière générale, il est fortement recommandé de sauvegarder régulièrement les fichiers et la base de données de son site, inutile d’attendre une manipulation de cette nature pour se décider à le faire ;)

Déplacer les mises à jour dans des répertoires temporaires

La méthode de mise à jour manuelle habituellement décrite sur les différents tutoriels disponibles sur le net est la suivante : supprimer les anciens dossiers et fichiers, puis ajouter les nouveaux.

Sur le principe c’est une bonne idée, mais cette méthode présente un gros défaut : pendant la période de suppression puis de transfert des fichiers, votre site ne fonctionnera plus correctement, voire plus du tout. Cela peut durer de longues minutes s’il y a beaucoup de fichiers à transférer. Ce n’est pas très grave sur un petit site avec peu de trafic, mais imaginez les conséquences sur un site de vente en ligne ! Vous seriez obligé de mettre votre site en maintenance le temps de la procédure, ce qui peut être contraignant et complexe.

Comment mettre à jour instantanément par FTP ?

Nous allons utiliser une autre méthode bien plus pratique puisqu’elle vous permettra de faire la mise à jour de manière quasiment instantanée. Le temps de « panne » sera de quelques secondes à peine, contre plusieurs minutes avec la méthode classique.

Sur un client FTP, le transfert et la suppression de fichiers prennent du temps. En revanche, leur déplacement d’un dossier à l’autre est instantané. Nous allons donc dans un premier temps transférer les nouveaux fichiers dans des dossiers temporaires, pour pouvoir ensuite les intervertir très rapidement avec les anciens fichiers. Ceux-ci ne seront supprimés qu’une fois la mise à jour parfaitement réussie, ce qui permet également un retour en arrière simplifié en cas de problème.

Transférer la nouvelle version de WordPress

Si vous devez mettre à jour WordPress en plus des extensions, commencez d’abord par créer un dossier nommé « _new_wordpress » dans le dossier où est installé WordPress (clic droit => créer un dossier). Le symbole « _ » en début de nom permet simplement au dossier de se placer en tête de liste quand les fichiers sont triés par ordre alphabétique, ce qui est plus pratique.

Glissez ensuite tous les fichiers situés dans le dossier « wordpress » de votre ordinateur vers ce dossier « _new_wordpress ». Attention à ne pas déplacer le dossier lui-même mais uniquement son contenu ! Le transfert devrait prendre quelques minutes.

Transférer les mises à jour des plugins

Une fois le transfert terminé, nous pouvons passer aux extensions. Rendez-vous (toujours sur FileZilla) dans le dossier « wp-content », puis dans « plugins ». Vous retrouverez des noms familiers : il s’agit des dossiers des plugins, similaires à ceux que vous avez extrait précédemment.

Créez ici un dossier « _new_plugins », et glissez-y tous les dossiers situés dans le dossier « plugins » de votre ordinateur. Selon le nombre d’extensions et leur poids, le transfert devrait prendre quelques secondes à plusieurs minutes.

Une fois le transfert terminé, préparez-vous psychologiquement : il est temps de passer à l’étape cruciale, la mise à jour de votre site !

Activer les mises à jour sans interruption du site

Résumons la situation : vous venez de transférer les mises jour de WordPress et des extensions sur votre site dans des répertoires temporaires, « _new_wordpress » et « _new_plugins ». Ces nouvelles versions sont donc bien présentes sur votre site mais ne sont pas encore actives.

Si vous avez correctement suivi ce tutoriel, vous ne devriez pas rencontrer le moindre problème lors de cette étape, mais assurez-vous que ces conditions soient réunies avant de continuer :

  • Votre dossier « _new_wordpress » ne contient aucun dossier « wp-content » (sinon, vous devez impérativement le supprimer).
  • Les fichiers de WordPress que vous avez transférés sont directement situés dans « _new_wordpress » et pas dans un sous-dossier de type « _new_wordpress/wordpress/ ».
  • Les dossiers des plugins dans « _new_plugins » contiennent bien les fichiers des plugins, et non un sous-dossier du même nom (exemple : contact-form-7/contact-form-7/). Vous devez trouver les fichiers d’un plugin directement en ouvrant son dossier.

Mettre à jour les extensions

Une fois ces vérifications effectuées, commencez par créer un dossier « _old_plugins » dans « wp-content/plugins/ » (soit au même endroit que le dossier « _new_plugins »). Sélectionnez ensuite les dossiers des plugins que vous souhaitez mettre à jour (vous pouvez faire une sélection multiple en laissant enfoncée la touche « ctrl » sur Windows ou « cmd » sur Mac).

Attention : la prochaine action va brièvement rendre votre site hors service, elle doit donc être effectuée rapidement.

Lorsque tous les dossiers de plugins à mettre à jour sont sélectionnés (et donc en bleu), déplacez-les dans le dossier « _old_plugins », cela se fera instantanément. Ouvrez ensuite le dossier « _new_plugins » et glissez tout son contenu dans le dossier parent, soit « plugins ».

Vous venez de mettre vos extensions à jour en quelques secondes. Les internautes n’ont probablement rien remarqué !

Mettre à jour WordPress

Attaquons-nous maintenant à WordPress, pour lequel la manipulation est un tout petit peu plus délicate. Remontez dans le dossier principal de votre site, là où se trouvent les dossiers « wp-includes », « wp-admin » et « wp-content », ainsi que votre dossier « _new_wordpress ».

Créez ici un dossier appelé « _old_wordpress ». Je vous recommande ensuite d’avoir sous les yeux le dossier « wordpress » de votre ordinateur en même temps que FileZilla. Vous allez devoir sélectionner exactement les mêmes fichiers et dossiers que ceux qui se trouvent dans ce dossier « wordpress ». Ne touchez donc pas à « wp-content », « wp-config.php », « .htaccess », « robots.txt » et de manière générale à tous les fichiers que vous ne voyez pas dans le dossier « wordpress ».

Attention : la prochaine action va brièvement rendre votre site hors service, elle doit donc être effectuée rapidement.

Une fois votre sélection terminée et les vérifications faites, vous pouvez transférer cette sélection dans le dossier « _old_wordpress ». Comme pour les plugins, le déplacement sera instantané. Ouvrez ensuite votre dossier « _new_wordpress » et déplacez tout le contenu dans le dossier parent, dans lequel votre site est installé.

Et voilà, WordPress est à jour, félicitations !

Vérifier que tout fonctionne bien et supprimer les anciennes versions

Avant de faire quoi que ce soit d’autre, rendez-vous sur votre page d’accueil. Si tout s’affiche correctement, c’est bon signe. Vous pouvez alors parcourir le site plus en profondeur en testant les différentes fonctionnalités pour vérifier que tout marche correctement. Bien que cela reste relativement rare, certaines mises à jour de plugins, voire de WordPress, peuvent faire sauter vos configurations ou rendre inutilisables certaines fonctionnalités du site, surtout si celui-ci n’a pas été mis à jour depuis longtemps.

Si tout a l’air normal, connectez-vous au back-office du site. Vous risquez de vous retrouver face à un message vous demandant de mettre à jour votre base de données. Assurez-vous de disposer d’une sauvegarde puis faites la mise à jour demandée. Retournez sur votre site et faites à nouveau les vérifications.

Vérifiez ensuite dans l’onglet « Mises à jour » à gauche du back-office que toutes vos extensions soient bien à jour. A noter que certaines versions d’extensions ne deviennent disponibles qu’avec une version récente de WordPress. Vous pourriez donc vous retrouver avec de nouvelles mises à jour à faire. Il vous faudra alors répéter la procédure, mais lisez d’abord ce qui suit avant de vous lancer car nous n’avons pas encore tout à fait terminé.

Lorsque vous serez certain que tout fonctionne correctement sur le site, et uniquement à ce moment-là, supprimez tout le contenu des dossiers « _old_wordpress » et « _old_plugins ». Cette étape est indispensable si vous devez refaire de nouvelles mises à jour manuelles. Vous pouvez conserver les 4 dossiers temporaires que vous avez créés en les laissant vides, ils vous serviront lorsque vous devrez répéter l’opération.

Que faire en cas de problème suite à une mise à jour ?

Si vous avez constaté un problème sur le site, essayez dans un premier temps d’en identifier l’origine. Il s’agit la plupart du temps d’une extension, soit qui n’est plus compatible, soit qui a fait sauter certaines configurations en changeant son architecture de manière trop importante, soit qui a transformé l’apparence d’un élément (nouvelle feuille de style). Si vous avez la possibilité de corriger le problème tout en conservant la nouvelle version, essayez de le faire. Sinon, nous allons devoir rétrograder.

Si vous n’avez qu’une extension à rétrograder, retournez sur votre client FTP et remettez le dossier de l’extension dans « _new_wordpress », puis récupérez l’ancien dossier dans « _old_wordpress » et remettez-le dans « plugins ». L’ancienne version de l’extension sera à nouveau en place. Si vous aviez dû mettre à jour votre base de données, vous pouvez rétablir la sauvegarde faite avant de commencer les mises à jour. Ce n’est toutefois normalement pas nécessaire car WordPress devrait détecter le changement de version et vous proposer à nouveau une mise à jour de la base, mais mieux vaut toujours avoir une sauvegarde à rétablir en cas de besoin.

Si vous n’avez pas pu localiser le problème et que vous préférez annuler complètement toutes vos mises à jour, vous devrez procéder de la même manière mais avec toutes les extensions et tous les fichiers et dossiers de WordPress. Remettez simplement tous ces éléments dans les dossiers « _new_wordpress » et « _new_plugins » et récupérez ce que vous avez mis dans « _old_wordpress » et « _old_plugins », ce qui rétablira la version précédente du site.

Vous pouvez ensuite tenter de faire les mises à jour une par une pour essayer d’identifier celle qui a posé problème. Il peut arriver que votre thème ne soit pas compatible avec une nouvelle version de WordPress. Dans ce cas, mieux vaut ne plus faire aucune mise à jour, bien que cela puisse poser d’importants problèmes de sécurité à long terme. La meilleure solution dans ce cas est d’envisager une refonte de votre site en utilisant un thème plus récent et compatible avec la dernière version de WordPress.

Source image : Pixabay