Migrating from Typepad to WordPress

I just finished migrating over 500 blog posts from gumption.typepad.com to a new WordPress blog hosted here on interrelativity.com. I found the instructions at First Site Guide very helpful, but had to make a few adjustments that I wanted to share here – including a Python script I used to process the downloaded Typepad content before importing into WordPress – in case anyone else is scrambling to move their blog content before Typepad shuts down on September 30, 2025.

A few caveats:

  • this blog is hosted on Bluehost, and the steps I followed may not easily or directly transfer to other WordPress sites
  • I already had existing non-WordPress content on the site – as well as using it for my email server – after starting (a subsequently failed) company for which the site is named, and I wanted to preserve the existing site content – most of which is outdated, but is of historical value (at least to me).
  • Many of my blog posts on Typepad included cross-references to other blog posts; these links would all be broken unless I could re-direct them to the new URLs here on interrelativity.com
  • I wanted to correct some issues in the URLs assigned by Typepad, some resulting from the very short URLs Typepad assigned based on titles early on, others resulting from me having changed the title after the post was published, so that the URLs no longer reflected the title of the post.
  • I wanted to keep the process – and new design – as simple as possible.

Migration steps

Export blog posts from Typepad

The instructions at the First Site Guide were clear and concise, so I will simply copy them here:

  1. Go to your Movable Type or Type blog
  2. Log in
  3. Navigate to Blogs -> Settings -> Import/Export
  4. Click on the Export button and wait for the progress bar to fill up
  5. Click on the download link
  6. Save the file created by the export tool on your desktop

Modify exported Typepad content

As noted previously, some of my Typepad content was using suboptimal URLs, due to several factors.

I will use this one example of a URL for a post I wrote in March 2004 – with the title “Serendipity: A Wireless, Proximity-Based Dating Service” – to highlight the problems, some of which were historical Typepad design issues and some of which were due to my actions.

Here is the URL Typepad assigned to this blog post:

https://gumption.typepad.com/blog/2004/03/wireless_proxim.html

Very short title strings

Early on, Typepad used the first 15 characters in a post title in the URL they created for the post. This severely limits the ability of the contribution of the URL to search engine indexing.

Typepad eventually used longer title strings to be encoded in their URLs (around 2008, from what I can tell) , but I was not aware of any way to go back and fix the old ones without leaving broken links for any external references to the blog posts using the original URLs.

Underscores vs. hyphens

Typepad used underscores rather than hyphens to substitute for whitespace. Google’s URL Structure Best Practices for Google Search says

We recommend separating words in your URLs, when possible. Specifically, we recommend using hyphens (-) instead of underscores (_) to separate words in your URLs, as it helps users and search engines better identify concepts in the URL. For historical reasons, we don’t recommend using underscores, as this style is already commonly used for denoting concepts that should be kept together, for example, by various programming languages to name functions (such as format_date).

Google was not nearly as dominant in 2004 as it is today, and I’m not sure when these guidelines were first published. Typepad eventually switched to using hyphens instead of underscores in the URLs it created from the blog post titles (again, around 2008). They may have even provided a mechanism to fix the old ones – in a way that would enable redirection for the original, shorter URLs – that I did not know about.

Changing blog post titles

A third factor that resulted in suboptimal URLs for some of my blog posts was when I modified the title of the blog post after a URL had already been created for the post.

In the example I shared at the top of this section, I likely initially used the title “A Wireless, Proximity-Based Dating Service” and later inserted “Serendipity: ” at the start of the title.

I did not modify URLs for blog posts whose titles I modified due to concerns about broken lengths already mentioned above.

Python scripts to fix URL problems

I wrote 2 Python scripts to correct the problems noted above, and then combined them into a single script, which can be found at

https://github.com/gumption/typepad_to_wordpress_basename_converter

The final version of the Typepad URL above – after running the sripts – became https://interrelativity.com/2004/03/serendipity-a-wireless-proximity-based-dating-service after these modifications.

Install (and re-install) WordPress

I recommend using the broader context and instructions for selecting a hosting site and installing WordPress offered at the First Site Guide for anyone who does not already have a site hosting WordPress. And for anyone who wants to use Bluehost, here’s a link to their referral code to get started.

Since I already had a web site configured on Bluehost, I simply needed to install WordPress. I had previously made a backup of the site, and downloaded it, but none of the content associated with the existing site (which was not using WordPress) was modified. Although once I went live, the original page I had at interrelativity.com – which was only a simple placeholder – was changed.

While iteratively correcting the Typepad content I imported (see below), I had to navigate to Websites -> Manage -> Advanced and select Delete Content Only, which effectively re-installs WordPress, to start over several times. Fortunately, this action only deletes the content associated with WordPress, and did not affect other content already on the site.

Customize Permalink Structure

In the otherwise excellent instructions provided on migrating from Typepad to WordPress at First Guide, I had to make a couple of modifications to the step for customizing the permalink structure. In that guide, the customization of the permalink structure comes after importing the Typepad content, and uses a structure format with a “.html” extension, which does not match the structure currently used by WordPress.

  1. Open Settings -> Permalinks
  2. Choose “Custom Structure”
  3. Copy this into the field: /%year%/%monthnum%/%postname%.html
  4. Click the “Save Changes” button

After a few failures to get the desired link formats, and a few chats with Bluehost customer assistance, I started performing this step before importing the content and using the current format used by the importer (and, likely, throughout WordPress). And I used

/%year%/%monthnum%/%postname%

instead of

/%year%/%monthnum%/%postname%.html

Import Typepad export file

Once again, the instructions at First Site Guide were simple and clear:

  1. Go to Tools -> Import
  2. Find “Movable Type and TypePad” on the list
  3. Install and Run the importer tool
  4. Click on the “Choose File” button
  5. Select the file you exported previously
  6. Click the “Upload file and import” button

Since I had over 700 files (including a couple of hundred drafts I never posted), this took a few minutes.

After starting the import, I was prompted to Assign authors, possibly because my primary username here on interrelativity.com is Interrelativity, and all my Typepad blog posts were written by “Joe McCarthy”. I selected “Joe McCarthy”, and it appears this added me as a Subscriber (perhaps that’s the default for adding users) and I later had to go into Users tab to set “Joe McCarthy” as an Administrator.

Auto Upload Images

The First Site Guide instructions noted that Typepad exports are text files, so no images are exported. They suggest installing and activating a plugin for “Auto Upload Images”. I could not find one with that name, but did find one named “Smart Auto Upload Images” and installed and activated that. I would thus make a slight modfication to their instructions:

  1. Navigate to Plugins -> Add New
  2. Search for Smart Auto Upload Images
  3. Install & Activate the plugin

They also recommend then bulk editing the posts so that any references to images stored on Typepad are automatically imported into WordPress. Since I have over 700 posts (including drafts), I first selected “Screen options” on the dashboard and then modified the number of posts per page from 20 to 200.

I then repeated the process recommended at the First Site Guide 4 times (once for each page of 200 posts). This also took several minutes (for each bulk edit), but would have taken far longer if I had used the default 20 posts per page.

  1. Open Posts -> All Posts
  2. Select all posts
  3. Select the Edit option
  4. Click Apply
  5. When the new screen shows, click the “Update” button

Select a theme

There is an entirely separate blog post at First Site Guide about the best WordPress themes that includes reviews and recommendations for themes across several categories.

I wanted to keep things simple, so I just used a theme provided by Bluehost by navigating to Appearance -> Themes and activating a theme named “Twenty Twenty Three” that showed a headline of “Mindblown: a blog about philosophy”.

Theme modifications

After activating the theme, I selected “Customize” which allowed me to edit the home page, and

  1. Modified the site to use “Interrelativity” in the header,
  2. Modified the headline to say “Interrelativity: musings about interrelatedness”
  3. Deleted a few things near the bottom about “Get in touch”

I then navigated to Page -> Add Page and added 2 pages

  • About: uploaded a photo and wrote a short bio blurb
  • Categories: after creating the page, I gave it a title and simply typed “/categories” on the first line, selected “Categories List” and the categories from my old blog appeared. On the right hand side, I selected the option to show counts for each category

Finally, I added a simple Contact Form using the WPForms item in the main navigation window.

I may have omitted or misstated a few steps about above. If you are following these instructions and run into any problems, please feel free to post a comment with any corrections.


Posted

in

, ,

by

Tags: