Typepad to WordPress Migration

This is a collection of instructions we have found on different websites and hopefully will make your migration a little easier than ours was.

  1. Easier migration is to MovableType
  2. Export TypePad content
    Manage > Import/Export
  3. Do regular expressions directly on TypePad export file or SQL file instead of after export to cut down on errors. Or, use the Search Regex Plugin for WordPress.
  4. Disable domain mapping in Typepad if the new site keeps the same URL
    Control Panel > Site Access > Domain Mapping
  5. Most Typepad images are stored by date: ‘http://www.DomainName.com/photos/[a-Z]+?/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/’ > ‘/wp-content/uploads/imports/’
  6. Some images are stored like this: ‘http://www.DomainName.com/.a/’ > ‘/wp-content/uploads/imports/’
  7. Typepad links correctly to images without extensions; WordPress does not
    ‘800wi’ > ‘800wi.jpg’ or ‘800wi.png’, need to check image manually
    ‘500pi’ > ‘500pi.jpg’
    ‘320pi’ > ‘320pi.jpg’
  8. Some images may need manual fixes because their linked name is not the same as their filename
    ‘sunny_image_2′ > 6a00…..jpg
  9. For replacements where the pattern to match is just a string, use phpMyAdmin
    “UPDATE table SET field = REPLACE(field, ‘pattern’, ‘replacement’)”
  10. For replacements where the match is a regular expression or the replacement uses subpatterns, use a script:
    	$link = mysql_connect($address, $name, $pass) or die(mysql_error());
    	mysql_select_db($db, $link) or die(mysql_error());
    	$result = mysql_query("SELECT * FROM wp_posts WHERE post_content RLIKE '$search'") or die(mysql_error());  
    	while($row = mysql_fetch_array($result)) {
    		$raw = $row['post_content'];
    		$id = $row['ID'];
    		$matched = addslashes(ereg_replace($pattern, $replacement, $raw));
    		$query = "UPDATE wp_posts SET post_content = '$matched' WHERE ID = '$id'";
    		mysql_query($query) or die(mysql_error());
Enable Javascript