Bonjour,
Je suis en train de transférer des sites d'un hébergeur à un autre, avec modification également des noms de domaine. Je le fais de façon manuel : transfert des fichiers tel quel avec Filezilla, export de la base de données puis import dans la nouvelle. Quant aux domaines ils pointent bien sur le nouvel hébergement, j'ai vérifié avec des html statics auparavant.
Avec Drupal : pas de problème, les doigts dans le nez, avec Wordpress : badaboum(1)
Et pour cause : Wordpress stocke le nom de domaine (en de multiples exemplaires) dans la base de données, alors que pour le site Drupal, aucune trace du nom de domaine dans la base de données.
Comment Wordpress peut-il justifier la nécessité de stocker l'url alors qu'un autre cms du même acabit peut parfaitement s'en passer?
Je n'ai fait qu'utiliser les modes opératoires qu'on trouve sur le web, y compris chez OVH, mais je n'y arrive pas. Après il y a les plugins de transfert, il y en a une ribambelle, inutile de vous dire que ça ne m'inspire aucune confiance, et surtout je n'ai pas le temps de les tester, il faut que ça marche dans une semaine.
Bref, vous faites comment pour transférer un site Wordpress de façon efficace?
(1) Dès que je visite la nouvelle url, elle est redirigée vers l'ancienne, et donc aucun moyen de se connecter sur le nouveau site, afin de modifier l'url dans l'admin.
Et pour cause : Wordpress stocke le nom de domaine (en de multiples exemplaires) dans la base de données, alors que pour le site Drupal, aucune trace du nom de domaine dans la base de données.
Comment Wordpress peut-il justifier la nécessité de stocker l'url alors qu'un autre cms du même acabit peut parfaitement s'en passer?
Bonjour @CM63
As-tu essayé d'utiliser les outils naturels fournis d'origine avec WordPress _(pas de plugin) ?_
Voir dans mon guide, paragraphe :
**V - Duplication, transfert de WordPress vers un autre hébergement**
Voir --> **https://www.wordetweb.com/word-et-web/WORDPRESS-guide-installation-de-WordPress-premier-domaine-chez-OVH-FR.htm CMS - WordPress - Guide Installation chez OVH**
Ah merci @Gaston_Phone de l'info, j'avais zappé ça, je vais essayer.
J'ai déjà essayé :
* Duplicator : Blocage en cours via OVH,
* FTP : il faut corriger les adresses manuellement dans l'export de la base de données, il y peut rester des problèmes avec les plugins.
* Outils origine WordPress : 100 % de réussite en suivant mon guide.
Tient nous au courant de tes résultats et problèmes, pour que je puis améliorer mon site.
J'ai déjà essayé :
Duplicator : Blocage en cours via OVH,
Sur l'hébergement d'arrivée, ils fournissent un outil de transfert de sites WP, ça n'a pas marché car il n'a pas reconnu l'url d'origine, je n'ai pas compris pourquoi.
FTP : il faut corriger les adresses manuellement dans l'export de la base de données, il y peut rester des problèmes avec les plugins.
J'ai essayé ça aussi : avec une commande sed linux j'ai remplacé l'ancienne url par la nouvelle dans le fichier sql d'export, ça n'a pas marché, il redirigeait toujours vers l'ancienne, j'ai vidé le cach, niet.
Outils origine WordPress : 100 % de réussite en suivant mon guide.
Je vais essayer ça.
Salut @CM63,
Comment Wordpress peut-il justifier la nécessité de stocker l'url alors qu'un autre cms du même acabit peut parfaitement s'en passer?
C'est une question que je me pose également. Ca et la serialisation des données dans la BDD.
Cela rend les migrations de domaine plus difficile.
Pour ce genre de migration j'utilise DBSR (ce n'est pas un enième plugin supplémentaire) :
https://www.gregoirenoyelle.com/wordpress-migrer-son-site-script-dbsr/
C'est un chercher / remplacer efficace pour les données sérialisées de WP.
Sinon comme le dit @Gaston_Phone sur des WP simple, le changement des URL dans la table wp_options suffit parfois.
@Fritz2cat avais partagé un lien interressant il y a qq jours mais je ne l'ai pas retrouvé.
Parfois l'ancien nom de domaine est également dans le code source du WP. Cela peut valoir le coup de faire une recherche à ce niveau là.
Parfois l'ancien nom de domaine est également dans le code source du WP. Cela peut valoir le coup de faire une recherche à ce niveau là.
Pas mieux!
![]()
Tu n'a pas une 301 qui trainerai dans ton cache navi ? Vider le cache suffit pas.
En revanche l'inspecteur d'élements ouvert sur l'onglet réseaux (avec la checkbox désactiver le cache coché) permet de ne pas être embeté par les 301.
Sinon DBSR fera le boulot.
@Fritz2cat avais partagé un lien interressant
Désolé je ne me rappelle pas non plus
Bonjour,
J'ai essayé ça aussi : avec une commande sed linux j'ai remplacé l'ancienne url par la nouvelle dans le fichier sql d'export, ça n'a pas marché, il redirigeait toujours vers l'ancienne, j'ai vidé le cach, niet.
marchera pas, de mémoire wordpress fait un serialize des données, donc le faire via SED va juste corrompre la chaine dans le dump.
P.S. je touche plus à wordpress depuis un moment (genre 2015).
Cordialement, janus57
marchera pas, de mémoire wordpress fait un serialize des données, donc le faire via SED va juste corrompre la chaine dans le dump.
Oui c'est exactement ça.
C'est de la serialisation PHP, chaque chaine de caractère est précédée du nombre de caractères de celle-ci.
Du coup dès que tu remplaces une donnée, si ce nombre n'est pas modifé ça ne marche pas.
C'est pour cela qu'il faut passer par des scripts/plugins
Bonjour,
oui, si c'est juste 2/3 occurrence tu peux le faire à la main.
Aussi de mémoire, parfois certains plugins/thèmes WordPress mettent les données en dur dans les fichiers.
Bref, pour une migration WordPress le mieux est de suivre la documentation officiel ou du moins d'utiliser le cli plutôt que de s'amuser avec des scripts/plugins ==> https://developer.wordpress.org/cli/commands/search-replace/
Cordialement, janus57
C'est de la serialisation PHP, chaque chaine de caractère est précédée du nombre de caractères de celle-ci.
Bonjour @TTY
À quel endroit cette serialisation est elle réalisée ?
Si c'est dans la base de données, je ne me rappelle pas avoir vu cela dans un export de la base de données.
Aurais-tu un exemple précis ?
Merci
Oui dans postmeta :
`a:5:{s:5:"width";i:512;s:6:"height";i:512;s:4:"file";s:19:"2020/12/favicon.png";s:5:"sizes";a:4:{s:6:"medium";a:4:{s:4:"file";s:19:"favicon-300x300.png";s:5:"width";i:300;s:6:"height";i:300;s:9:"mime-type";s:9:"image/png";}s:9:"thumbnail";a:4:{s:4:"file";s:19:"favicon-150x150.png";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/png";}s:14:"post-thumbnail";a:4:{s:4:"file";s:19:"favicon-100x100.png";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:9:"image/png";}s:13:"entry-cropped";a:4:{s:4:"file";s:19:"favicon-512x482.png";s:5:"width";i:512;s:6:"height";i:482;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}}`
ou usermeta :
`a:1:{s:13:"administrator";b:1;}`
Je ne sais ou cela se fait dans le code mais c'est ce qu'on obtient avec la fonction serialize() et qu'on remet en "ordre" avec unserialize()
Edit : sur des WP simple, on peut migrer la plupart du temps juste en modifiant wp_option mais ce n'est pas toujours le cas.
Merci @TTY pour ces précisions et cet exemple.
J'ai utilisé la procédure de Grégoire Noyelle , ça a l'air d'avoir marché. Je vais régénérer les permaliens par précaution. Merci à @TTY .
N'oublie pas de supprimer le dossier DBSR car c'est une belle faille ![]()
Oui, je l'ai supprimé tout de suite après l'avoir lancé.