Upload
tony-archambeau
View
3.185
Download
0
Embed Size (px)
Citation preview
Migrer les données de n’importe quel CMS vers
WordPressWP Tech 2015Nantes @tonyarchambeau
WP Tech 2015 2
WP Tech 2015 3
Version 1.2.8
Plus maintenue depuis 2008
…
2008 ?
Dotclear 1.2.8
dc_categorie
dc_comment
dc_link
dc_log
dc_ping
dc_post
dc_session
dc_user
WP Tech 2015 4
Dotclear 1.2.8
dc_categorie
dc_comment
dc_link
dc_log
dc_ping
dc_post
dc_session
dc_user
WP Tech 2015 5
wp_comments + wp_commentmeta
wp_user + wp_usermeta
wp_posts + wp_postmeta
wp_terms + wp_term_relationships + wp_term_taxonomy
wp_links
wp_options
Les CMS
WP Tech 2015 6
« C'est la même chose, mais en différent. »
WP Tech 2015 7
Oui, c'est possible de migrer n'importe quel CMS vers WordPress
Il y a les scripts automatisés
– Gratuit
– Freemium
– Payant
Limites
– Certains CMS
– Certaines versions
– Certains contenu
WP Tech 2015 8
Comment migrer ?
Et il y a la méthode artisanale …
directement dans PhpMyAdmin
WP Tech 2015 9
Déménageur de
contenu
WP Tech 2015 10
Avant de commencer
Backup du CMS à migrer
Backup de l'installation WordPress qui recevra les données
Environnement de développement
Backup à chaque étape importante de la migration
WP Tech 2015 11
Purger avant de commencer
WP Tech 2015 12
Tables de contenuCMS maison : WordPress :
WP Tech 2015 13
Tables de contenu
INSERT INTO wp_posts (post_author, post_date, post_date_gmt, post_content, post_title, post_name)
SELECT 1, FROM_UNIXTIME(date), DATE_ADD(FROM_UNIXTIME(date), INTERVAL 1 HOUR), contenu, titre, slug
FROM old_cms_article;
WP Tech 2015 14
Méthode Jedi
Tables de contenu
WP Tech 2015 15
Méthode Padawan1) Créer dans la table « wp_posts » les
mêmes colonnes que le CMS maison.
2) Transférer le contenu de la table du CMS maison vers les nouvelles colonnes « wp_posts ».
3) Déplacer les nouvelles colonnes « wp_posts » vers les vrais colonnes, une à une, grâce à UPDATE
Tables de contenu
WP Tech 2015 16
Tables de contenu
WP Tech 2015 17
Tables de contenu
WP Tech 2015 18
INSERT INTO wp_posts (titre, contenu, date) SELECT titre, contenu, date FROM old_cms_article;
Tables de contenu
WP Tech 2015 19
UPDATE wp_posts SET post_title = titre
Tables de contenu
WP Tech 2015 20
UPDATE wp_posts SET post_content = contenu
Tables de contenu
WP Tech 2015 21
UPDATE wp_posts SET post_date = FROM_UNIXTIME(date), post_date_gmt = DATE_ADD(FROM_UNIXTIME(date), INTERVAL
1 HOUR)
Tables des utilisateursCMS maison : WordPress :
WP Tech 2015 22
Tables des utilisateurs
Champs supplémentaires :
- à transférer vers wp_usermeta
WP Tech 2015 23
INSERT INTO wp_usermeta
(user_id, meta_key, meta_value)
SELECT ID, 'first_name', prenom
FROM wp_users;
INSERT INTO wp_usermeta
(user_id, meta_key, meta_value)
SELECT ID, 'last_name', nom
FROM wp_users;
Les problématiques
WP Tech 2015 24
Les dates
1) 2015-12-05
2) 2015-12-05 11:15
3) 2015-12-05 11:15:00
4) 05/12/2015
5) 05/12/2015 11h15
6) 12/05/2015
7) 1449310500
WP Tech 2015 25
Les dates
CONCAT( SUBSTR('12/05/2015', 7, 4), '', SUBSTR('12/05/2015', 4, 2), '', SUBSTR('12/05/2015', 1, 2), ' 11:15:00' ); 20150512 11:15:00
FROM_UNIXTIME(1449310500); 20150512 11:15:00
CONCAT('20151205', ' ', '11:15:00'); 20150512 11:15:00
WP Tech 2015 26
Les médias
WP Tech 2015 27
Penser aux images et fichiers.
Conserver le même dossierOu
Déplacer dans /wp-content/uploads/
Les URL
WP Tech 2015 28
Remplacer les liens internes modifiés.
La fonction REPLACE() sera utile.
UPDATE wp_posts SET post_content = REPLACE( post_content, 'www.anciensite.fr', 'www.nouveausite.fr' );
Les clés d'une bonne migration
WP Tech 2015 29
WP Tech 2015 30
Clé n°1 :
Un simple copier/coller peut suffire dans certains cas.
WP Tech 2015 31
Clé n°2 :
Bien connaître les fonctionnalités SQL.REPLACE()
CONCAT()
FROM_UNIXTIME()
SUBSTR()
INSERT ... ON DUPLICATE KEY
...
WP Tech 2015 32
Clé n°3 :
Loi de Murphy :
« si quelque chose peut mal tourner alors ça tournera mal »
WP Tech 2015 33
Clé n°4 :
Il y a toujours des cas particuliers
WP Tech 2015 34
Clé n°5 :
Un déménageur, déplace les meubles sans se soucier de la qualité.
WP Tech 2015 35
Clé n°6 :
Logger des erreurs 404
Merci
WP Tech 2015 36
Tony Archambeau
@tonyarchambeau
Fondateur d'Organilog
Application de gestion d'interventions (mobile + web)
Programme revendeur :http://fr.organilog.com/wptech2015