Content Migration between WordPress Sites

Ever needed to migrate content from one WordPress site to another? Fear not, fortunately WordPress has in-built import and export facilities.

The process goes as follows:

  1. Log in to the original site you want to export data from.
  2. Go to Tools > Export.
  3. Arrange Filters as needed, by default WP exports all the content.
  4. Hit the ‘Download Export File’ button.
    When you click the button WordPress will create an XML file for you to save to your computer.
    This format, which is called WordPress eXtended RSS or WXR, will contain your posts, pages, comments, custom fields, categories, and tags.
  5. Log in to your second site, to which you want to import the content.
  6. Go to Tools > Import.
  7. Select ‘WordPress’ as the platform to use.
  8. WordPress will prompt you to install the Import plugin.
  9. Intsall and activate the plugin, you will be taken back to the Import screen.
  10. Use the ‘Browse’ button to select the XML file generated earlier on.
  11. Hit the ‘Upload file and import’ button.
    In the next screen you can tick the box which says ‘Download and import file attachments’.
  12. File import will commence, that’s all!

The nice thing is that WordPress also gives you the option of importing things like attachments from the original website, even though those are not in the XML file. Obviously the original site has to be online as WordPress will need to connect to the server and download files from there.

This process is ideal when migrating from a development to production server, but remember the blog you are importing from needs to be online if you want to import attachments.

About Jean Galea

Jean Galea is a WordPress developer, entrepreneur and padel player. He is the founder of WP Mayor, the plugins WP RSS Aggregator and EDD Bookings, as well as the podcast. His personal blog can be found at

Related Articles

11 Responses

  1. Amir Helzer
    Amir Helzer April 2, 2011 at 08:53 | | Reply

    Great summary of the export process.

    Some plugins and themes add their own tables. The WordPress XML export/import procedure doesn’t include them.

    In that case, instead of the XML export, users should do a complete DB dump. This will include all the table.

    And, in any case, when importing a blog, the posts table will include links to the previous domain. After importing (either via XML or DB dump), users should run a search-and-replace SQL query to change internal links to the new domain.

  2. ms
    ms April 19, 2011 at 18:29 | | Reply

    thank you very much , i have searched for this from a long time

  3. Septic tank man
    Septic tank man July 15, 2011 at 17:31 | | Reply

    Great blog, I will be back

  4. Ravi
    Ravi August 22, 2011 at 16:34 | | Reply

    We have been doing this procedure for a while and found it tedious. As you have to redo the widgets, headers etc..

    If you are a bit tech savvy, doing DB export and import is the best option. Or you can use BackupBuddy.

  5. IweddingDressShop
    IweddingDressShop September 20, 2011 at 10:20 | | Reply

    wow, NICE post! Keep trying.

  6. Bughunter
    Bughunter May 5, 2012 at 01:15 | | Reply


  7. Ivica
    Ivica May 5, 2012 at 01:25 | | Reply

    Fantastic tool for fast and easy WP sites migration (and many other things):

  8. steve macalpine
    steve macalpine January 11, 2013 at 07:34 | | Reply

    very useful thanks Jean

  9. Bry
    Bry February 1, 2013 at 03:41 | | Reply

    If only it was as simple as this when you are trying to migrate large amounts of content, memory limits hinder you every step of the way!

Leave a Reply