Stephanie Leary discusses various methods for migrating content between different systems such as WordPress, Joomla, Drupal, and other content management systems. Some key points include:
- It's important to back up files and databases before migrating to allow reverting changes.
- Content can generally be imported via plugins, but users may need to be mapped or recreated manually between systems.
- Special care needs to be taken when migrating between systems that use different character encodings for content.
- Migrating entire databases or just portions like posts, users, and options can both have advantages depending on the situation.
- Plugins exist to help with tasks like search/replace, redire
14. Preparation
? Back up
? Prepare to undo
? Import on development server
? Or turn on maintenance mode
? Turn off crossposting plugins
? Use absolute URLs for linked files
15. Plugins
? DB Backup
http://wordpress.org/extend/plugins/wp-db-backup/
? Mass Page Remover
http://wordpress.org/extend/plugins/mass-page-remover/
? WordPress Reset
http://wordpress.org/extend/plugins/wordpress-reset/
? Maintenance Mode
http://wordpress.org/extend/plugins/maintenance-mode/
16. WordPress export
? Posts, pages, comments, authors
? Uploads optional
? No settings
? No menus in 3.0 (fixed in 3.1)
? Category slug issues
? Custom post types and taxonomies
25. XML or MySQL?
? XML pros ? MySQL pros
? simple ? complete
? limited ? complicated
? slug bug ? merging users
? skipped users ? manual edits
26. Moving databases
? export all tables except
users, usermeta
? change table prefixes
? change wp_userroles option
name to match new table prefix
? change wp_* fields in wp_usermeta
table to match prefix
27. Moving user tables
? Export users, usermeta
? or specific rows
? Manually change IDs
? Stab yourself in the eye with a fork
? http://sillybean.net/?p=6187
28. Compromise
? Use WordPress export to move
content and taxonomies
? Have it create or map new users
? Move only the wp_options table
by hand
29. Character sets
? define('DB_CHARSET', 'latin1');
? Try to convert the old db
? work with a copy!
? Alter the table
http://codesnippets.joyent.com/posts/show/306
? Export Latin1, import UTF-8
http://alexking.org/blog/2008/03/06/mysql-latin1-utf8-
conversion
I’m not going to talk much about the HTML import plugin because I’d like to get to some other things today, but you can come find me tonight if you want to know whether it’ll work in your situation.\n
\n
\n
\n
\n
Some importers ask you to upload a file. Others ask for credentials so they can fetch data from an external API. This one asks for database connection info. \n
\n
\n
\n
\n
\n
\n
\n
The older Joomla and Drupal import scripts haven’t been updated to work with WordPress 3, so you’ll need to grab an older version from the release archive, do your import, then upgrade.\n
\n
\n
These are the three main parts of any import script. You might also have functions to fetch authors, comments, and anything else you need to pull out of your old database. The dispatch() function displays greet() and then moves on to import(), which calls all the other functions in turn. \n