Posted on 7 janvier 2011 in Wordpress | 5 comments

Update

La mise à niveau de WordPresss sécurise votre site et vous fait profiter de nouvelels fonctionnalités.

Pour des raisons de sécurité et pour profiter des dernières avancées du génial CMS WordPress, il faut toujours mettre à jour. Mais passer d’un vieux WordPress au nouveau exige de procéder différemment.  Sans quoi vous vous retrouverez avec une page blanche et un tas de soucis. Nous allons voir comment procéder, et comment faire si vous l’avez fait sauvagement et que votre blog est planté.

Pour la petite histoire, voici ce qui pourrait vous arriver si vous lambinez pour actualiser votre site ou blog :

Soudainement, une de mes clientes ne pouvait plus accéder à son tableau de bord pour cause de page blanche au moment de se connecter. L’erreur n’était pas imputable aux classiques erreurs habituelles. Sa version de wordpress datait de 2007,  soit la version 2.5 ! Un miracle que son blog n’ait pas été hacké et qu’il ait fonctionné deux ans, plus ou moins bien. En réalité pas bien du tout. Par exemple elle ne pouvait pas charger ses images dans les articles sans de curieuses et complexes manipulations dont je vous passe les détails. Mais elle faisait avec. Puis un jour, boum.  Tous ses liens étaient corrompus, erreurs 404 à gogo et, d’une manière générale, plus rien ne s’affichait normalement. La structure des permaliens datait d’une autre ère et était devenue obsolète. Il faut dire qu’en sus d’employer une version préhistorique, son thème WP lui aussi datait des dinosaures. Mais pas ses plugins. Du coup, incompatibilités totales ou partielles, la base de données ne savait plus à quelle références se vouer. Ma cliente blogueuse avait essayé de s’en sortir seule et ses tentatives avaient pollué et torturé la pauvre base de données déjà bien malmenée. Je me suis battue pour la déboguer et assainir le tout.

Guide pour mettre à jour un WordPress ancien

Si vous venez de 2.9.2 pour aller vers 3.0.4, vous pouvez le faire en une fois. Mais faites-le manuellement. Si vous partez de plus vieux, selon les cas il faudra mettre à jour (upgrade) manuellement, et en passant par les versions successives. Ce sera pareil pour les versions futures de WordPress. Vous pouvez mettre à jour si la différence d’unité de la première décimale entre votre version et l’actuelle ne dépasse pas un. Exemples : 2.9.x vers 3.0.x c’est ok. De 3.0.x vers 3.1 est ok (3.0.1 ou 3.0.4 c’est pareil, je parle de la première décimale après l’unité). Mais pas pour passer de 2.9.x vers 3.1 (qui arrive) et ainsi de suite dans l’avenir. Dans ces cas-là considérez les méthodes ci-dessous.

  • Selon votre point de départ, évitez les mises à jour automatiques (c’est-à-dire via le bouton dans votre tableau de bord). Ou combinez les deux.
  • Faire chaque mise à jour selon la méthode dite ‘manuelle’ (c’est à dire via votre logiciel FTP ou via l’accès FTP de votre hébergeur).
  • Mettre à jour (upgrade) étape par étape, version par version en respectant leur succession.

Je vous rassure, la procédure est la même, on met à jour manuellement par FTP, sauf qu’on le fait par étape. En somme vous devez vous coltiner toutes les étapes que vous n’avez pas encore faites.

Les anciennes versions de WordPress peut être téléchargées à partir des archives. Toutes les versions de WordPress ici.

On verra les cas suivants :

  1. Rappel de la méthode générale
  2. Mise à niveau classique et mineure
  3. Mise à niveau classique – Passer de 2.7 à 3.0.4 – Passer de 3.0.x à 3.0.y
  4. Mise à niveau majeure – Passer de 3.0.1 à 3.1
  5. A partir d’une version plus ancienne que 2.7
  6. A partir de 1.5

RAPPEL DE LA MÉTHODE GÉNÉRALE POUR METTRE A JOUR WORDPRESS

1. SAUVEGARDER LA BASE DE DONNÉES

Allez chez votre hébergeur, repérer où se trouve SQL et son administration, phpmyadmin. Affichez votre base de données et exportez-la avec la fonction « exporter ».Au passage, profitez-en pour optimiser la base.

L’alternative est d’utiliser un plugin : updraft ou wp-db-manager. Mais passer par l’hébergeur est plus fiable et pas plus compliqué.

Facultatif mais conseillé : Optimiser avant de sauvegarder. Si vous regardez les tables de votre base de données, la dernière colonne à droite nommée ‘Pertes’ contient des chiffres, des octets inutiles qui alourdissent. C’est tout ce qu’il convient de nettoyer pour optimiser.

phpmyadmin_wordpress

Votre base n'est pas propre, il y a des pertes

optimiser-base-donnees-sql

Tant qu'à faire, optimisez votre base avant de la sauvegarder

Exporter Base

Exporter sa base de données pour sauvegarder. Avant mise à jour mais aussi par prévoyance.

phpmyadmin-export sauvegarde

Sauvegarder le fichier au format compressé

2. SAUVEGARDER SES CONTENUS

Avec un logiciel FTP ou via votre hébergeur, sauvegarder tout le dossier wp-content. Car la base de données sauvegarde tous vos réglages, articles, pages, emplacements des liens, images. Mais pas les fichiers importés, ni vos thèmes ni vos plugins.

Sauvegarder aussi les fichiers wp-config.php, robots.txt (si vous en avez un), .htaccess

3. DÉSACTIVER TOUS SES PLUGINS

Dans le Tableau de bord du blog, repérer l’onglet Extensions.  Sélectionner tout, choisir dans le menu la fonction désactiver.

4. METTRE A JOUR

Vous avez le choix : la voie rapide automatique ou plus manuelle (avec un hébergement gratuit vous n’avez le choix que du manuel).

AUTOMATIQUE : le tableau de bord vous affiche une alerte, cliquez sur la mise à jour proposée. Si elle ne s’est pas bien déroulée, vous pouvez recommencer en cliquant à nouveau sur le lien. Les mises à jour se trouvent dans l’onglet Tableau de bord tout en haut.

MANUELLE : Via FTP (hébergeur ou logiciel). A noter que c’est plus rapide de le faire via l’hébergeur. Vous pouvez alors charger le dossier zippé et le décompresser en ligne. Puis déplacer les nouveaux dossiers pour écraser les anciens.

Récupérer la dernière version de WordPress.  La décompresser.

Supprimer : les anciens dossiers en ligne intitulés wp-admin et wp-includes, wp-config-sample.php, wp-content/cache.

Uploadez les nouveaux dossiers wp-admin et wp-includes, ainsi que tous les fichiers individuels contenus dans le dossier wordpress.

Dans le wp-content qui est en ligne, parfois il faudra aussi charger le dossier langages. Si vous partez d’une vieille version. Penser, s’il y a lieu, à mettre à jour également les permaliens.

5. VISITER SON SITE

Dans votre navigateur, tapez l’adresse de votre site suivi de /wp-admin/upgrade.php.Il vous est signifié de mettre à jour la base de données, cliquez, c’est tout.

6. RÉACTIVER SES PLUGINS

Dans le tableau de bord, opération inverse, aller dans l’onglet Extensions, sélectionner tout et activer.

7. SAUVEGARDE DE SÉCURITÉ

Idéalement, maintenant que tout tourne bien, refaire une sauvegarde de sa base de données.

Maintenant, étudions les cas particuliers

Cas 1 :Mise à niveau mineure

Le bouton de mise à jour automatique dans votre tableau de bord suffit et c’est le plus rapide. Pertinent si la mise à niveau ne concerne qu’une version mineure 3.0.1 à 3.0.4 etc. Mais cela ne vous dispense pas de désactiver les plugins avant.

Pour les plus aguerris, on peut aussi faire la mise à jour manuelle mais seulement avec les fichiers modifiés. Aimablement fournie par Xavier et que vous trouverez annoncés dans Planète WP francophone.

Cas 2: Passer de la version 2.7.x à 3.0.4. Passer de 3.0.x vers 3.0.x. Ou mise à jour mineure (d’une décimale à une autre).

Faites une mise à jour manuelle de 2.7 vers 2.9.2. Puis de 2.9.2 vers 3.0.1, toujours manuellement. Ensuite la mise à jour automatique de 3.0.1 vers 3.0.4.

Cas 3 : Passer de 3.0.1 à 3.1

La 3.1 n’est disponible qu’en beta. Mais elle arrive bientôt, aussi je prévois les instructions dans la mesure où ça vous indique comment faire d’une manière générale pour mettre à jour lors des mises à jour dites ‘majeures’, soit lors des changements de version d’une unité.

Mettre à jour manuellement pour arriver à la dernière version 3.04. Ensuite, faites la mise à jour automatique, via votre tableau de bord vers 3.1. La méthode manuelle est toujours pertinente si vous la préférez.

Cas 4 : A partir d’une version plus ancienne que 2.7.

Mise à niveau progressive pour éviter les conflits potentiels.Il faut mettre à niveau, manuellement, par unité de version. De WordPress 2.5 à 2.7. Puis de 2.7 à 2.9. Puis de 2.9 à 3.04. Puis de 3.0.4 à 3.1. Il faudra aussi cliquer sur les Permaliens dans votre tableau de bord pour choisir une structure pertinente. Et indiquer un nom pour les catégories et les tags dans ce même onglet Permaliens. Il faudra aussi uploader le nouveau thème par défaut dans wp-content/themes. En attendant voir si votre vieux thème passe. Généralement il ne passe pas car le thème est aussi très vieux et pas mis à jour, voire abandonné par son créateur. Profitez-en pour en changer.

Cas 5 : A partir de… 1.2 ou 1.5.

Si vous êtes encore-là, vous êtes un blogueur rare qui a délaissé WP pour mieux y revenir. Bravo. Laissez un commentaire pour l’avouer ^^.

D’abord passer de 1.2 à 1.5 avant d’évoluer plus haut. Sauvegardez comme décrit plus haut puis supprimer TOUS les fichiers et dossiers. Sauf wp-config.php. Une fois la mise à jour réalisée, visitez votre tableau de bord et cliquez sur l’onglet Permaliens. Choisissez une structure autre que celle qui contient un ? et des chiffres. Ensuite réalisez les mises à jour successives, manuellement.

A la fin, il faudra éditer un nouveau wp-config.php à partir du dernier wp-config-sample.php, en recopiant les informations nécessaires, et en entrant au passage des clés de sécurité.

Si le mal est déjà fait

Fail

Si la mise à niveau ne passe pas, analyser pourquoi, ou recommencez.

Vous avez mis à jour d’un seul coup à partir d’une très ancienne version, inférieure à 2.9.2, et plus rien n’est accessible. Page blanche et tableau de bord injoignable. Ou joignable mais à l’évidence tout ne tourne pas bien. C’est que le tableau de bord peut afficher 3.0.4 ou la dernière version, mais la base de données, elle, n’a pas été mise à jour, d’où la page blanche ou les instabilités.

Il faut avant tout trouver le moyen de forcer la mise à jour de la base de données. Le meilleur est évidemment de passer par : adresse-de-votre-site/wp-admin/upgrade.php. Mais pas toujours. Pour le faire d’une manière simple, il faut jouer entre les déconnections du tableau de bord, le vidage du cache du navigateur puis simplement taper son adresse de blog jusqu’à ce que la mise à jour de la base vous soit proposée. Et ceci en passant par l’activation du thème par défaut en attendant. Car si le thème est lui aussi trop ancien, ça ne se fera pas.

wordpress upgrade

Arriver jusqu'à cet affichage

A noter que si vous utilisez un plugin de cache, il vaut mieux le supprimer, ainsi que le dossier cache situé dans wp-content. Par FTP seulement.

Si vous n’avez plus accès à votre tableau de bord, allez dans votre base de données et repérez la table wp_options. Trouvez les deux lignes où votre thème WP apparaît. Remplacez par le nom de du thème par défaut, soit twenty ten. Déplacez votre thème activé ailleurs.

Et pensez à renommer votre dossier de plugins si vous n’avez pas accès à votre tableau de bord pour les obliger à se désactiver.

Ce n’est pas le plus ‘informaticien’ comme méthode mais c’est la plus simple pour la majorité des blogueurs.

A tester aussi : Aller dans sa base de données, console PhpMyadmin. Cliquer sur le nom de sa base de données pour afficher les tables WP. Cocher toutes ses tables. En bas, il y a un menu. Ne vider pas, ne supprimez pas sinon plus de blog. Vous pouvez Optimiser (pour nettoyer) et aussi Réparer, pour arranger quelque peu.

QUE FAIRE EN CAS DE PLANTAGE ?

La mise à jour plante

Il arrive (fréquemment) que la mise à niveau ne passe pas. Plusieurs raisons à cela, parfois très obscures. Dans ce cas il faudra ouvrir votre logiciel FTP (ou aller dans l’espace de Gestion de fichiers chez l’hébergeur). Repérez le fichier .maintenance situé à la racine de votre blog (au même niveau que les dossiers wp-admin, wp-content et wp-includes). Supprimez-le. Retournez dans votre tableau de bord et recommencez la mise à jour en cliquant sur le lien proposé. Si vraiment ça coince, déconnectez-vous. Avec Filezilla ou votre logiciel FTP, supprimez les dossiers wp-admin et wp-includes et chargez les nouveaux.

La mise à jour est ok mais le blog est brouillé et figé

Si la mise à jour est convenable mais votre tableau de bord semble dénaturé et les onglets figés : désactivez tous les plugins et réactivez un à un pour déterminer lequel cause ce trouble.

Une erreur Headers already sent apparait.

Si vous voyez ceci

1
<strong><strong>Warning: Cannot modify header information - headers already sent by (output started at</strong></strong>
<strong><strong>Warning: Cannot modify header information - headers already sent by (output started at</strong></strong>

Téléchargez votre wp-config.php sur votre ordinateur. Ouvrez-le avec Notepad (PC) ou CYberduck (Mac).

Vérifiez qu’il n’y a aucun espace avant la première ligne en haut. La première ligne doit :

1
2
3
4
commencer par
<?php
et terminer par
?>
commencer par
<?php
et terminer par
?>

Enregistrez-le au format UTF-8 Sans Bom. Uploadez à nouveau.

Vérifiez que le nombre d’octets du fichier soit identique entre l’original et ce que vous avez chargé. Si ce n’est pas le cas, supprimez le fichier plutôt que l’écraser et uploadez à nouveau. Si ça résiste encore, passez par le FTP chez votre hébergeur.

Effacez les cookies et le cache de votre navigateur, ça résout aussi bien des déboires pour visualiser correctement ce qui est sensé être actualisé.

Impossible de se connecter, login erreur

Si vous certain de votre wp-config.php, allez dans votre console SQL chez l’hébergeur. Cliquez sur le nom de votre base de données. Cliquez sur Requête SQL. Entre le code suivant avec vos paramètres :

1
SET PASSWORD FOR 'votre-login-de-blog'@'nom-de-domaine' = VIEUX_PASSWORD('password');
SET PASSWORD FOR 'votre-login-de-blog'@'nom-de-domaine' = VIEUX_PASSWORD('password');

Un plugin activé rend le blog inaccessible

Repérez ce qui est écrit dans votre navigateur et le nom du plugin concerné. Via FTP, allez dans le dossier wp-content/plugins. Renommez le dossier du plugin coupable. Ou supprimez-le.

Conseils

Un petit conseil qui n’a rien à voir, mais peut vous aider grandement en cas de problème. Si vous ne l’avez pas encore fait, créez un fichier texte avec le nom de votre site et prenez le temps de noter tout ce qui le concerne  :

  • Login et mot de passe du blog.
  • Login et mot de passe de l’hébergeur
  • Données pour la connexion FTP
  • Données pour la base de données (nom, utilisateur, mot de passe, serveur, préfixe de la table wp)
  • DNS, code d’autorisation de transfert du nom de domaine, chemin absolu des fichiers
  • Numéro de client, date de facturation, date d’expiration du nom de domaine à renouveler, téléphone de support de votre hébergeur
  • Vos adresses sur les réseaux, feedburner, code google analytics, code adsense, etc.

Ainsi, vous, ou un prestataire comme votre serviteur, sera en mesure de vous aider rapidement à dépanner votre blog.

Bonne année avec votre site actualisé !