WordPress.org

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Importing Content

WordPress currently supports importing data in the form of posts (articles) and most of the details or features supported by the content publishing platform.

Many of the following Content Import scripts can be found under ToolsImport menu of your WordPress Administration Screens.

If you run into specific problems, a search on the WordPress Support Forum will likely lead to a solution, or try the Codex FAQ. Users of a blogging system not listed here who wish to switch to WordPress are invited to ask for help in the WordPress Support Forum as well.

To help you understand the differences between WordPress and other existing software, we recommend you review the WordPress Features and more on Working with WordPress.

Before Importing

If your exported file is very large, the import script may run into your host's configured memory limit for PHP.

A message like "Fatal error: Allowed memory size of 8388608 bytes exhausted" indicates that the script can't successfully import your XML file under the current PHP memory limit. If you have access to the php.ini file, you can manually increase the limit; if you do not (your WordPress installation is hosted on a shared server, for instance), you will have to break your exported XML file into several smaller pieces and run the import script one at a time.

If the import process is run again with the same data file after stopping midway through, it could result in duplicate data, missing data or other errors in the destination database.

For those with shared hosting, the best alternative may be to consult hosting support to determine the safest approach for running the import. A host may be willing to temporarily lift the memory limit and/or run the process directly from their end.

Atlassian Confluence

To import from Atlassian Confluence, export the content to HTML pages. Then, use the HTML Import 2 plugin.

Instructions:

  1. Install WordPress
  2. Set the permalink structure
  3. Activate HTML Import 2 plugin
  4. Click "Settings"
  5. Fill in the Directory to import
  6. Click "Content" tab and locate the title, tick applicable more content options (e.g. linked images, internal links)
  7. Click "Title & Metadata" tab and fill in the desired options.
  8. Set "Custom Fields" and "Categories & Tags" if desired.
  9. Don't forget to save settings
  10. Click "Import files"
  11. Don't close the setting page until the importer has finished "Fixing relative links"

After Importing

  • The Broken Link Checker plugin is very helpful in locating broken links. The links can be easily edited from the plugin's administration area.
  • Search and Replace can be used to search and replace content.
  • There are other useful plugins listed on the HTML Import Settings page under Tools tab.
  • You can also write your own plugin to format the imported content.

b2

The script for importing b2 posts to WordPress was included in the versions up to 1.5.2 (wordpress/wp-admin/import-b2.php).

b2evolution

There are two methods of importing a b2evolution install into WordPress described in this section.

Import via Movable Type Export Format

One approach is to re-skin a b2evolution blog so that when its source is viewed it appears to be in the Movable Type export format. This approach, which should work for all versions of WordPress, and all recent versions of b2evolution.

For WordPress v3 and higher

Another approach is to us a script that imports b2evolution blogs, categories, posts, comments, files and users into existing WordPress installation. This is an easy way to migrate a complete b2evolution install into WordPress. Note that this requires payment. BIMP Importer script.

Blogger

You can import posts, comments, and categories from a Blogger blog and migrate authors to WordPress users.

If you haven't already, you must be using New Blogger and a Google Account on Blogger. If you are still using Old Blogger, the importer will not work.

  1. Export your Blogger contents as XML file.
  2. Log into that WordPress site as an administrator.
  3. Go to ToolsImport in the Administration Screen.
  4. Click "Install Now" link under the "Blogger" if you have not yet installed it.
  5. Click "Run Importer" link.
  6. Click the "Browse" button and navigate to the Blogger Exported XML file and click "Upload file and import" to let it run.

Also see the Google Blog Converters section.

blog.cz

  • It's a mainstream czech blog server with no export support whatsoever.
  • You can use small Groovy-based program called Blogparser to parse blog's content and generate a WXR file.
  • See Blogparser's web page. There is a more verbose Czech variant of this page as most users of this program will probably speak czech.

Drupal

Excel Spreadsheet/CSV/XML/JSON

Google Blog Converters

In case the above methods don't work, you can try Google Blog Converters.

This tool can convert Blogger export into WordPress format. It also supports conversion from Movable Type & LiveJournal to Blogger format. You can take the Blogger format then convert it again into WordPress format.

Joomla

  • FG Joomla to WordPress - Plugin for WordPress - Compatible with Joomla 1.0 through 3.6 and with Mambo 4.5 and 4.6 - Compatible with many Joomla plugins: K2, JComments, sh404sef, EasyBlog, Kunena forum, Zoo, Virtuemart and many more
  • Joomla to Wordpress Migration - Web service to migrate Joomla 1.5 - 3.x to WordPress 4.1.x - 4.6.x. Compatible with K2

LiveJournal

You can connect directly to LiveJournal and import all entries and comments into WordPress.

  1. Log into that WordPress site as an administrator.
  2. Go to ToolsImport in the Administration Screen.
  3. Click "Install Now" link under the "LiveJournal" if you have not yet installed it.
  4. Click "Run Importer" link.
  5. Enter the LiveJournal Username, LiveJournal Password and Protected Post Password and click "Connect to LiveJournal and Import" to let it run.

Also see the Google Blog Converters section.

Live Space (MSN Space)

Magento

Mambo

See the Joomla section.

Movable Type

You can import posts and comments from a Movable Type.

  1. Export your Movable Type contents as a text file.
  2. Log into that WordPress site as an administrator.
  3. Go to ToolsImport in the Administration Screen.
  4. Click "Install Now" link under the "Movable Type or TypePad" if you have not yet installed it.
  5. Click "Run Importer" link.
  6. Click the "Browse" button and navigate to the Movable Type Exported file and click "Upload file and import" to let it run.

Also see the Google Blog Converters section.

Nucleus CMS

Plone

An article on how to migrate Plone content into Wordpress via Movable Type format.

Posterous

Use WordPress.com's Posterous importer, then export/import as a WXR (WordPress eXtended RSS).

PrestaShop

Roller

You can fairly easily import data from Roller using the MovableType import script. First, you need to export your blog from Roller database, then use it to create entries in your new blog. Pictures you need to copy to appropriate content directory yourself. Modify the $user, $oldresources, $newresources, and $connection variables in a beginning of script, store it on somewhere on you web host where php execution is allowed, and you will get the dump of your Roller blog in MovableType Import format in return. You can just use wget to store it into file. Then follow the instructions for MovableType import...

  • Importing From Roller is complete and comprehensive. This should work for Roller pre-2.0 release. After Version 2.0, the comment table is changed to roller_comment. Just change the select statement to roller_comment.

Serendipity

SPIP

Sunlog

Sunlog is old and has not been maintained for quite a while. Fortunately, you can import to WordPress, though it will take a little hacking.

  • Open phpMyAdmin to see the database of your Sunlog install. You only need two tables, "blogname_entries" and "blogname_comments".
  • Use phpMyAdmin to export both tables as XML files. There are no options available so you can do no wrong here.
  • Install a WordPress plugin to import arbitrary XML files, for example WP All Import. Sunlog's rather silly simplistic database structure comes in handy here.
  • The headline is "title", the content is "entry" followed by "more". The date is "timestamp" in Unix format. The post categories are "cat" seperated by a ";".

Textpattern

The script for importing Textpattern CMS posts into your WordPress blog may be found on the WordPress Forum on this forum thread.

2/26/2015: See the Textpattern to WordPress exporter (create a WordPress-format export file from a Textpattern blog) at GitHub: https://github.com/drewm/textpattern-to-wordpress

Tumblr

You can import posts from a Tumblr blog. Install Tumblr Importer and follow the instructions.

  1. Log into that WordPress site as an administrator.
  2. Go to ToolsImport in the Administration Screen.
  3. Click "Install Now" link under the "Tumblr" if you have not yet installed it.
  4. Click "Run Importer" link.
  5. Follow the instructions in the screen.
    1. Create an 'app' on Tumblr that provides a connection point between your blog and Tumblr's servers.
    2. Copy and paste the "OAuth Consumer Key" and "Secret Key"
    3. Click "Connect to Tumblr"

For more detail refer Tumblr Importer page.

Twitter

There are several plugins to import your tweets into WordPress, such as Ozh' Tweet Archiver

TypePad

The Importing from Movable Type to WordPress works for TypePad blogs, too. The only difference is in the process of exporting entries from the TypePad blog. Once you have the exported entries, follow the instructions in Importing from Movable Type to WordPress to complete the import into WordPress.

Vox

Use WordPress.com's Vox importer, then export/import as a WXR (WordPress eXtended RSS).

WordPress

To import from a WordPress export file (WXR) into a WordPress blog follow these steps.

  1. Log into that blog as an administrator.
  2. Go to ToolsImport in the blog's Administration Screen.
  3. Click "Install Now" link under the "WordPress"
  4. Click "Run Importer" link.
  5. Upload your WXR file using the form provided on that page.
  6. You will first be asked to map the authors in this export file to users on the blog. For each author, you may choose to map to an existing user on the blog or to create a new user.
  7. WordPress will then import each of the posts, comments, and categories contained in the uploaded file into your blog. In addition, you can import attachment by checking the "Download and import file attachments" option.

Xanga

xanga.r is a program that parses xanga pages to get the post and comments. Then it can output them in the WordPress rss 2.0 xml format for WordPress to import.

Yahoo! 360

Use WordPress.com's Yahoo! 360 importer, then export/import as a WXR (WordPress eXtended RSS).

Zenphoto

zenphoto-to-wordpress.py is a python script to export galleries and comments to a standard WXR (WordPress eXtended RSS) file. See this article for details.

Zoomblog

These are the instructions to import your posts from Zoomblog:

  1. Go to your Zoomblog account and export your blog data (it generates an XML file).
  2. Download the Zoomblog importer from here. Unzip it, and upload the file zoomblog.php to your wp-admin/import directory.
  3. Login into WordPress and go to Manage:Import:Zoomblog.
  4. Choose the Zoomblog XML export file and it should be done.

It imports all posts and comments, and creates new categories, though, unfortunately, there's no way to figure out the proper category name, so you'll have to edit them afterwards. It does not deal with multiple authors.

Importing from an RSS feed

  1. Save the RSS feed you wish to import someplace on your local machine.
    This would be the source and would come from the site that has the content you wish to import into your WordPress site. A simple way to get the feed into a text file is to find the RSS link for that site, click it and view it in your browser, then copy/paste that to a text file. Or, of course, use your preferred tools.
  2. Log into that WordPress site as an administrator.
  3. Go to ToolsImport in the Administration Screen.
  4. Click "Install Now" link under the "RSS" if you have not yet installed it.
  5. Click "Run Importer" link.
  6. Click the "Browse" button and navigate to the file containing the feed you wish to import and click "Upload file and import" to let it run.

Note: Depending on the feed and format, you may not get the entire thing loaded on the first attempt. One option is to determine how much got imported (Manage -> Posts) and remove those sections from your saved RSS file and then re-import. Lather, rinse, repeat as necessary.

Note that newlines will be converted to <br />. Therefore be sure there is no newlines between any <p>..</p>s.

Importing from [X]HTML

Using trial and error one can make an e.g., perl script to concatenate [X]HTML files as RSS <item>s, saving into a single file.xml, then import that as RSS. Note however to first remove any newlines between <p>..</p>s, as mentioned above.

The format allowed is quite simple in fact. Just make each HTML file into an <item> as below and concatenate them together:

<item>
 <pubDate>Wed, 30 Jan 2009 12:00:00 +0000</pubDate>
 <category>Kites</category>
 <category>Taiwan</category>
 <title>Fun times</title>
 <content:encoded><p>What great times we had...</p><p>And then Bob...</p></content:encoded>
</item>
<item>...

Just be sure the <content:encoded> line is a single long line with no newlines embedded.

If your HTML is well-formed, you can try using the HTML Import 2 plugin.

Importing from a Site of Static Pages

A discussion in February 2011 on the wp-hackers email list involved importing 6,000 static pages into WordPress. A number of responses recommended using the PHP Simple HTML DOM Parser to facilitate the porting of the pages.