Escape from Typepad
These instructions will outline how I moved several long-running blogs from Typepad to a self-hosted WordPress account. Typepad makes this very difficult, but the ease of use, remarkable flexibility, and great support community of WordPress makes it all worthwhile.
These instructions are from moving to a self-hosted WordPress site, not a free, hosted WordPress.com site.
Disclaimer: I’ve tried to be as complete as possible, but these instructions pertain to my specific situation moving from Typepad to WordPress hosted on Dreamhost. If your situation is different, this should still be a time-saver and help guide you. I’m doing this as a favor to help others. I don’t do this as a living. While it worked for me, it might not work for you. I can’t be responsible if something goes wrong. If it isn’t spelled out here, I probably can’t solve your particular problem. I’ll provide additional resources at the end.
Get a web hosting account
Your domain (including don’t have one and have one mapped to Typepad)
Setting up WordPress (including permalink issues)
Exporting your Typepad posts
Importing your posts into WordPress
Obtaining your images from Typepad
Re-linking your images in your posts
Going live with your new WordPress site
For a self-hosted WordPress site, you’ll need a web hosting account and an FTP client. The latter is easy: there are many free clients available. I use Filezilla, which is free and easy to use.
Now is the time to go through your Typepad site and delete unwanted posts and images and generally clean things up.
For hosting, I chose Dreamhost, and I am very happy with them. It has a very simple interface, free one-click install of WordPress (and other applications), and the best online customer service I have ever encountered. I usually have support questions answered within 20 minutes, even at odd hours! Generally, hosting is very inexpensive. I think the most you might pay for Dreamhost is less than $120 a year, including one free domain registration. If you find these instructions helpful, please use this promocode to sign up for Dreamhost: ADIOSTYPEPAD — and you’ll get a year of hosting for $72. That’s only $6 month.
Some of these instructions pertain to things you have to do at your web host and/or domain registrar. Specific instructions will therefore refer to Dreamhost.
Typepad blogs fundamentally all have the same URL structure: yourTypepadaccount/typepad.com. If you have more than one blog, it is in a subdirectory.
For your self-hosted WordPress blog, you will need a domain name that you own, such as YourNewBlog.com.
- At Dreamhost, register a domain under Domains –>Registrations.
- Add hosting to your domain under Domain Management –> Manage Domains –> Add a new domain–>Fully host.
- Install WordPress under Goodies –> One-click installs –>Wordpress. Select the domain under the dropdown list. Use the Advanced install. It is not more complicated and does not require any extra steps.
- You’ll receive instructions and a link to login to WordPress.
- Skip to exporting your posts from Typepad.
You may already have registered that domain, and mapped it to your Typepad blog (e.g, YourMappedBlog.com). In that case, I can only speak to the easy solution at Dreamhost. That was setting up the domain at Dreamhost as fully hosted, installing WordPress (as above), then setting up a free mirror site at Dreamhost. A mirror site uses all the same files as your “real” site, but displays them at a different URL. This allows you to customize WordPress, import posts, etc. even though YourMappedBlog.com is pointing to Typepad.
After, there were several steps needed to discontinue the mirror and point the domain (YourMappedBlog.com, wherever it is registered) to Dreamhost. I’ll cover the set-up of the mirror site in this step, and the final steps later.
- At Dreamhost, go to Domains –>Manage Domains –> Add a new Domain. Use the domain name which you own and have registered at another host, the one that you have mapped to your Typepad account (YourMappedBlog.com). You don’t have to transfer it to Dreamhost if you don’t want to.
- Indicate you want it to be fully hosted.
- Go back to your main Dreamhost menu, and install WordPress (as above).
- You’ll get email instructions on how to complete the install. Since this domain is registered elsewhere and pointing to Typepad, it won’t work. This is where the mirror site comes in.
- Back at “Manage domains” click on “Edit” under the YourMappedBlog.com name.
- Scroll down to the third item on the page, “Mirrored.”
- Under “Create the Mirror at” choose a name for your free Dreamhosters site, e.g., mock-up.dreamhosters.com
- Under “Mirror this site” choose your domain, YourMappedBlog.com. It make take a couple hours for the mirror site to become accessible — you will see a little clock next to the URL in your Manage Domains page at Dreamhost until the URL is ready.
- To complete the WordPress install, use a URL in the form of
http://mockup.dreamhosters.com/wp-admin/install.php to complete the install.
- This is where you will import your posts and do all the work to set up and move your blog.
- For more information, see the Dreamhost Wiki — http://wiki.dreamhost.com/Mirror_Domain and http://wiki.dreamhost.com/index.php/DNS_-_Viewing_site_before_DNS_change
After WordPress is installed on your site, your first task is to choose a theme for your site. Many come with the installation of WordPress. From your WordPress dashboard (not Dreamhost), on the left side, go to Appearance –> Themes and browse through the choices. If nothing suits you, just browse the Internet for themes. There are hundreds of them. If you find one you like, download the zipped file to your computer. Unzip the files into a folder. Use your FTP client to upload these files to this folder:
yourdomain –> wp-content –> themes
The theme will now be available in your WordPress account under Appearance –>Themes. You’ll only have to activate it.
There are also many premium themes available. I highly recommend Thesis, an extremely flexible and customizable theme with excellent documentation and user support. It costs $87 for a lifetime license and upgrades, or $164 for a developers license that allows use on an unlimited number of domains that you own. After purchase, it is downloaded and uploaded the same way as other themes. If you find these migration instructions helpful and also want to use Thesis, please consider using this affiliate link:
Both WordPress and Thesis are very easy to use and intuitive. I won’t be giving any further tutorials here, other than particular things you’ll need to know for your migration.
One item needs to be taken care of, and that is using the same permalink structure in WordPress as is used in Typepad.
- From your WordPress Dashboard, along the left side go to Settings –> Permalinks.
- Look at the structure of the permalinks in your Typepad blog. You want to choose the same structure. So far as I know, all Typepad sites use “…./YEAR/MO/POSTNAME.HTML”. This choice in WordPress is the third button.
- Note that Typepad permalinks end in “…/samplepost.html” and WordPress ends in “…/samplepost/”. Read all about the pros and cons of each here.
- The most straightfoward thing to do is force WordPress to use the html ending. Click the Custom Structure button and put /%year%/%monthnum%/%postname%.html
- Or, choose the month and name structure. You may then want to redirect your old “.html” permalinks that are scattered throughout the Internet and probably in internal links embedded in your posts. To do this, I used the Permalink Redirect Plugin (http://scott.yang.id.au/code/permalink-redirect/). Old Permalink Structures” field, put in the Typepad structure (/%year%/%monthnum%/%postname%.html) and click “Update options.” Whenever one of the old permalinks is clicked they automatically redirect to the correct, current URL.
Typepad has an export function. Unfortunately, it does not contain proper intact permalinks, etc. These instructions will provide you with clean export files ready to import into WordPress.
Note that pages and unpublished posts will not export and will have to be copied manually. Only published posts are exported.
- You must have a paid Typepad account that allows Advanced Templates, and have Advanced Templates activated your blog. If you already use Advanced Templates, go to the next item. If you don’t, go to your blog in Typepad. Click on Design –> Choose a Theme –> Customizable –> Advanced Templates. You will have to apply the template to your design. It may change the appearance of your blog. For more information, see the Typepad overview of advanced templates.
- Next, a custom export template needs to be added. In the Design tab, under your current (advanced template) design, click Templates (under the words “Customize your current design.”
- Click on “Create a new index template.” Give it a name such as “ExportBlog” and an output file name in the format “ExportBlog-1”.
- In the template body, paste in this custom file made by Foliovision: http://foliovision.com/downloads/typepad-to-wordpress/movable-type-export-template.txt
- Save the file. Don’t worry, this will not effect your current blog in any way.
- In a browser window, view your exported file by typing in http://yourtypepadaccount.typepad.com/yourblogfolder/nameofyouroutputfile.txt Even if you have enabled domain mapping in Typepad, you’ll still have to use the original URL format from Typepad.The result in your browser is a text file of the most recent 100 published posts. Typepad does not allow for export of more than 100 posts. Save this file; make sure to number it, as you will have to repeat the export for each additional batch of 100 posts.
- Go back to the export template you created in steps 5 and 6. Change the first line of the file (which is <MTEntries lastn=”5000″>) to <MTEntries lastn=”100″ offset=”100″> Change the name of your output file, save the file, and repeat step 8, using the new name of your output file. This will produce your next 100 posts.
- Repeat as necessary, changing the first line of the export template to <MTEntries lastn=”100″ offset=”200″> for the third set <MTEntries lastn=”100″ offset=”300″> for the fourth set and so on. Don’t forget to change the name of your output file in both the template and the browser, and save each file to your computer with a corresponding name.
- Download this Foliovision import plugin: http://foliovision.com/downloads/typepad-to-wordpress/fv_mt.zip
- Unzip the file (which is fv_mt.php), and upload it via FTP to this folder: yourdomain –> wp-admin –> import You may have to create the import folder in your wp-content folder.
- In WordPress, go to your Dashboard, on the left side and click Tools –> Import
- Click on FV Movable Type and TypePad (not Movable Type and TypePad).
- Choose the file on your computer that contains first batch of posts you exported and saved. In only a couple of minutes, your first 100 posts will be in WordPress. Repeat for each batch of files.
- That’s it. Your posts are in WordPress. I’ve had
Although this next step is optional, I highly suggest it. Typepad has no native way to check your site for broken links, although there are third party resources to do so. I think valid outgoing links are important for a good blog or website. Although I tried to keep up with them, it was hard to do so on a five-year-old site. I hate 3700 links when I migrated, and about 10% of them were broken.
WordPress has an excellent plugin, Broken Link Checker, that checks all the links on your site on a regular basis, and shows them to you on your dashboard. This includes links in comments, etc. It is one of the essential WordPress plugins. Install Broken Link Checker (http://wordpress.org/extend/plugins/broken-link-checker/) and fix or unlink your broken links. You’ll want to do this before migrating your images.
There are two major problems with the way Typepad handles images: they provide you with no way for you to access images you have uploaded into posts using their image uploader, and when you upload an image, the filename is changed to a long string of gibberish without a file extension (jpg, gif, png), and a big chunk of ugly code is inserted into your post.
I (and others) don’t believe there is any logical explanation for this other than to hold Typepad customers hostage. You created your content, and pay Typepad to host it for you. That you should have to make a special request to access even a single image from your account is ridiculous. And the coding that is inserted into your posts is just convoluted. After you have suffered through the process of rescuing your work from Typepad, you will be delighted at the simple, logical, and flexible way WordPress handles your media files. Why, you can even add captions to all your photos right when you insert them into a post, a basic feature that Typepad lacks, even though customers have been requesting it for at least five years.
Let me just repeat this ugly fact: there is no way you can download your images from Typepad itself. You can request Typepad to give them to you, you can use another application to download them in batches over the Internet, or you can manually go through your posts and download them and re-insert them in your new blog individually. If you have fewer than 100 posts/images, this might be the best option as you can clean up the crappy code and have your images better organized. For the rest of us, I cover the other two options.
To have Typepad provide you with images, open a help ticket and ask support for a complete download of your images. They will eventually provide you with a link to a zip file that will be available to you for 30 days. They will not segregate the images in any way, so the zip file will contain all images uploaded to your Typepad account, with all blogs combined, if you have more than one blog. In fact, it will contain all FILES uploaded to your account, including document files, video, audio, PDFs, and images placed in your sidebar etc. There will be various folders and HTML files. This will require substantial clean-up, because you don’t want to take up tons of server space uploading extra files to your new blog, and the files you need to transfer should not be divided into folders, unless you know what you are doing and want to duplicate the directory structure at your new site.
Further, once you have downloaded and unzipped the zip file from Typepad, check it carefully. When I made this request, I got 338 files, when in fact my account contained well over 1000. It took three tries and about a week for Typepad to finally produce a zip file that actually contained all my files. Sorting through them seemed ridiculous, so I ended up using a different method to download my images.
Most of the image files from posts from the last few years will have the long file name similar to “/6a00d0134878b108e970c-800wi”. If you are a long-time Typepad user, some of your downloaded images may have the same file names that you gave them but will still have the long gibberish names in the coding of the post.
And finally, these downloaded images will have file extensions such as jpg, gif, or png. However, Typepad strips these out in the coding of the posts. Once downloaded, you will have to run a bulk file renaming utility to remove the file extensions; there are many free utilities like this available for download online. More on this below.
Even if you decide to use the method below to retrieve your own images, I suggest requesting the download from Typepad anyway. This way, you will have a complete backup of all your files; there may be old things there you’d like to have once your Typepad account is closed.
A slightly less painful way to get your images
I decided on a route that would provide me with my image files and only my image files, from one blog at a time, in a format without file extensions. This would shave off a lot of time.
I chose the Firefox extension DownThemAll (http://www.downthemall.net/).
- Create a folder on your hard drive to deposit your downloaded images.
- Install the DownThemAll Firefox extention.
- Navigate to your Typepad blog. Go to “Tools” in your Firefox toolbar, click on DownThemAll Tools –> DownThemAll.
- Two options appear at the top of the window that opens. Click Pictures and Embedded. All the files in that page will be showing in the pane.
- In the “Save files to” area, navigate to the folder you created. For the renaming mask, change it to only *name* Otherwise, the utility will append the files with the file extension.
- Below that, clear all check boxes and check “New Filter”.
- In the “Fast Filtering” area, type in the start of the URL of your inserted images. Typically this is “http://youraccountname.typepad.com/” You’ll be able to see what it is, because it is whatever is in front of the long gibberish file name Typepad has given to your images.
- Click “start.” The images will quickly be downloaded to the folder you specified. If you get a warning that an image already exists, choose the option to skip it from now on. This shouldn’t happen too often unless you have some duplicate images.
- 10) Leave the DownThemAll window open. Go back to your blog and click on “Older posts” to go to your next page of blog posts. Now go to “Tools” in your Firefox toolbar, click on DownThemAll Tools and this time choose “dTa OneClick”. It will download your files using the last set of rules you provided. Repeat this for every page in your blog. You can temporarily change the settings in your blog to display more posts per page to speed things up.
- You may have to repeat this process using different URLs in step 7 if you uploaded some of your images directly through File Manager in Typepad, or if you have had a Typepad account for many years when they had a different file structure. You can always see all the files on each page in the DownThemAll window, so you can see what other URLs are used. You’ll want to make sure you have all your images! My main blog was 5 years old, with over 400 posts and over 550 images. This process only took me about 20 minutes.Using your FTP provider, create a directory in your host account in your main folder (e.g., yourdomain.com). For example yourdomain/legacy-imagesUpload your image files to this directory.
This is the worst part, especially for long-time Typepad users. I had posts with image links that used a number of different link formats. Why? I don’t know. I nearly always used the image uploader in their post editor. Apparently, over the years, Typepad changed the way the uploader coded the images. VERY ANNOYING!
The basic premise is to search for these various formats and replace them with the path to the image you downloaded (e.g., “http://www.yourdomain.com/legacy-images/”).
For the search and replace, I installed the plugin Search Regex (http://wordpress.org/extend/plugins/search-regex/).
After installing the plugin in WordPress, use it to search for what should be the beginning of every image URL in your posts:
Write down the full path of all the various image links. Examples include those similar to the following:
Next, search for each of these paths individually. Replace it with the full path of the folder in which you uploaded your images (e.g., http://YourNewBlog/legacy-images/
Theoretically, most of your images will now be correctly linked. Some, probably not. Typepad’s messing coding may also mean the spacing or padding on your images is a bit ugly. I’m not sure there is a way around this: go through every post and look at it in one browser window, and look at the same post on your Typepad site in another and edit until you are satisfied. I told you this was the worst part.
If you have been working on a newly registered domain…
(YourNewBlog.com), that’s it — you’re done. Announce it to the world. Stick a post up at your old Typepad site pointing people to your new site. When you’re ready, say goodbye to Typepad.
As far as I can tell, Typepad does not allow for permanent redirects from your Typepad site to a new site.
If you have been using a mirrored domain…
(mock-up.dreamhosters.com), you will need to discontinue the mirror, un-do the mapping at Typepad, and point your domain to Dreamhost.
- Discontinue domain mapping (Account –> Domain Mapping) choose the appropriate blog.
At the domain registrar of the domain you have pointing to Typepad :
You’ll have to find out how to update your domain settings and DNS management at your registrar. It’s usually pretty straightforward. Contact their support if you are uncertain.
- Discontinue any URL forwarding and other forwarding services pointing to Typepad.
- Change the nameservers to NS1.DREAMHOST.COM, NS2.DREAMHOST.COM, NS3.DREAMHOST.COM.
- Change the “A” record to the IP address provided by Dreamhost. You can find this by going to “Manage Domains” in Dreamhost, and clicking on the DNS link under the domain you want to use. Scroll down, it is the value listed under Type A.
- More about DNS management here.
- Under “Manage Domains” go to your Dreamhosters.com subdomain, and click “deactivate mirror.”
Sometimes changes to nameservers or DNS settings can take awhile to propagate over the Internet, up to 72 hours (although I’ve found 12-18 about the norm). If you keep checking your site, you may find that nothing seems to be happening. You may need to clear your browser’s cache and/or cookies, flush your DNS, and/or clear out your Internet Temp files on your hard drive. Some Internet Service Providers create a cache at the network level. Not much you can do there…you may just need to wait for it to clear out on its own.
You will need to change the site URL (from mockup.dreamhosters.com) in your database to the correct URL. Dreamhost support did this for me, because it was a step I did not anticipate. There are instructions here. Be careful, or put in a support ticket if you don’t feel comfortable.
When you are able to see your site at the proper URL, login into your site in WordPress. You’ll be using a different login — YourMappedBlog.com/wp-login.php, not mockup.dreamhosters.com/wp-login.php. If you have trouble logging in, contact Dreamhost support.
Once in your WordPress dashboard,go to Settings –> General Settings and make sure they are correct.
Once again, use the Search Regex plugin (remember, it will be there since you installed it to your mirror site, all the files are the same) to clean up any links you may have created during the mirror process. Search for your mirror URL (mockup.dreamhosters.com) and replace it with the correct one.
I left my Typepad sites up for a short while until I made sure everything worked correctly.
Blogging is fun again, and I’m still amazed at the things I can do with WordPress that were onerous or impossible at Typepad. And it cheaper. I paid $149.50/year at Typepad., I’ll be paying $72/year (or less) at Dreamhost. Domain registration is a wash. There was a one-time fee for Thesis that is good for life.
- I owe the beginnings of all this to the instructions on Foliovision, which I have used as the basis of my move. Be sure to read tips in the comments. If it’s all too much for you, Foliovision has a paid service to make the move for you.
- Blogging Basics 101 also offers this service.
- Typepad to WordPress migration.
- WordPress Codex. Start here if you are new to WordPress.
- Do It Yourself Themes Thesis Users Guide. I can’t say enough good things about Thesis. If you do get Thesis, the support forums (available only to users) are phenomenal!
I’ll repeat what I said at the beginning: I’m doing this as a favor to help others. I don’t do this as a living. While it worked for me, it might not work for you. I can’t be responsible if something goes wrong. If it isn’t spelled out here, I probably can’t solve your particular problem. If I don’t reply to your comment or question below, it’s because I don’t know the answer.
Happy blogging. I hope this was useful!