{"id":144900,"date":"2022-01-16T11:00:17","date_gmt":"2022-01-16T11:00:17","guid":{"rendered":"http:\/\/premium.wpmudev.org\/blog\/?p=144900"},"modified":"2022-03-02T04:34:59","modified_gmt":"2022-03-02T04:34:59","slug":"moving-wordpress-site","status":"publish","type":"post","link":"https:\/\/wpmudev.com\/blog\/moving-wordpress-site\/","title":{"rendered":"How to Move Content From One WordPress Site to Another"},"content":{"rendered":"<p>Moving your WordPress site to another location can be a stressful and fiddly experience, not helped by the fact you can&#8217;t just simply move your files and database. No, that&#8217;s just not how WordPress works.<\/p>\n<p>Fortunately, WordPress has a handy &#8220;Import&#8221; and &#8220;Export&#8221; tool built in. But unfortunately, it&#8217;ll only suit some basic requirements and you need to improvise a little to achieve other effects.<\/p>\n<p>In this\u00a0article, I&#8217;ll show you step-by-step how to migrate your WordPress installation&#8217;s content to a new place.<\/p>\n<p>Let&#8217;s get cracking!<\/p>\n<ul>\n<li><a href=\"#backup\">Before We Start: Back Up Your Website<\/a><\/li>\n<li><a href=\"#whole-site\">Changing Your WordPress Installation\u2019s URL? Or Transferring a Whole Site?<\/a><\/li>\n<li><a href=\"#move-content\">How to Move Content From One WordPress Site to Another<\/a>\n<ol>\n<li><a href=\"#oldinstallation\">Export From Your Old Installation<\/a><\/li>\n<li><a href=\"#Installimporter\">Install the Importer<\/a><\/li>\n<li><a href=\"#Uploadcontent\">Upload Your Content<\/a><\/li>\n<li><a href=\"#Assigncontent\">Assign the Content<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#partial\">Partial Content Movement<\/a>\n<ol>\n<li><a href=\"#export-content\">Select the Content You Want to Export<\/a><\/li>\n<li><a href=\"#import-content\">Import as Before<\/a><\/li>\n<li><a href=\"#media\">Duplicate Media Files<\/a><\/li>\n<li><a href=\"#export-attachments\">Export Attachment Posts<\/a><\/li>\n<li><a href=\"#edit-sql\">Edit Your SQL<\/a><\/li>\n<li><a href=\"#import-attachments\">Import Attachment Posts<\/a><\/li>\n<li><a href=\"#export-meta\">Export Post Meta<\/a><\/li>\n<li><a href=\"#edit-sql-again\">Edit Your SQL Again<\/a><\/li>\n<li><a href=\"#import-meta\">Import Post Meta<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#shipper\">Partial Content Movement with Shipper<\/a><\/li>\n<li><a href=\"#finish\">Finishing Up<\/a><\/li>\n<\/ul>\n<h2 id=\"backup\">Before We Start: Back Up Your Website<\/h2>\n<p>Some WordPress installations or server setups may present you with unique challenges on migrating content. Although this article will deal with an additional unique <i>eventuality<\/i> (namely that you only want to transfer a\u00a0<em>part<\/em> of your WordPress installation&#8217;s content), there&#8217;s no guarantee that the steps detailed here will unfailingly work for every setup.<\/p>\n<p>It goes without saying that you&#8217;re solely responsible for your site, even when following this guide to the letter; there&#8217;s some database work involved depending on what you want to do, and if you accidentally delete a huge chunk of your site, that&#8217;s down to you. Basically, be careful with this!<\/p>\n<p>For the purposes of this post, I&#8217;ve created two separate <a title=\"How to Install WordPress Locally for PC\/Windows with XAMPP\" href=\"https:\/\/wpmudev.com\/blog\/setting-up-xampp\/\" target=\"_blank\">localhost installations of WordPress<\/a> to provide you with pictures of each step. You might like to try moving your content to a test site to check it works.<\/p>\n<p>To that end, I&#8217;d recommend making a backup of your entire site at this point. Of course, you do that regularly, don&#8217;t you?\u00a0(If not, you definitely should be. <a href=\"https:\/\/wpmudev.com\/project\/snapshot\/\" target=\"_blank\">Get to it<\/a>.)<\/p>\n<p>If you want to do this manually, remember to include both your database\u00a0<em>and<\/em> site files (primarily because this includes your website&#8217;s Uploads folder).<\/p>\n<h3>Backing Up Files<\/h3>\n<p>You can create and download a ZIP of your site files via FTP. How to do this varies per FTP client but is generally fairly obvious.\u00a0Make sure you download and securely store your backup compressed file\u00a0\u2013 just as with any backup.<\/p>\n<h3>Backing Up Your Database<\/h3>\n<p>Login to your phpMyAdmin account and select the database in which WordPress is installed.<\/p>\n<p>Select <strong>Export<\/strong> from the top menu. For most people, &#8220;Quick&#8221; options will be adequate. However, if you have tables other than the WordPress installation you want to back up in the same database, click <em>Custom<\/em>\u00a0to select the tables you want to back up; all other options should remain untouched. Finally, click <strong>Go<\/strong> to download your database backup file (.sql format).<\/p>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/database-export.png\" alt=\"phpMyAdmin Database Export Options\" width=\"1364\" height=\"479\" \/><figcaption class=\"wp-caption-text\">Your WordPress tables are prefixed &#8220;wp_&#8221; by default \u2013 since I have two installations in the same database, mine are actually prefixed wpmudev_export and wpmudev_import. Here, I&#8217;m backing up the wpmudev_export files.<\/figcaption><\/figure>\n<\/div>\n<p>Hopefully, those backups won&#8217;t be needed, but it&#8217;s always advisable before embarking upon such work. If the site to which you&#8217;re migrating content already has content, make sure you back up that one too.<\/p>\n<p>With precautions out of the way, let&#8217;s get to work!<\/p>\n<h2 id=\"whole-site\">Changing Your WordPress Installation\u2019s URL? Or Transferring a Whole Site?<\/h2>\n<p>If you&#8217;re just looking to change your website to a new URL or otherwise want to transfer absolutely everything from one installation to another, the good news is that you&#8217;ve picked the easy option. WordPress&#8217;s own import and export tools will work perfectly for you so no need to do anything too complicated under the hood.<\/p>\n<p>Here&#8217;s how to transfer\u00a0<em>all<\/em> your WordPress content \u2013\u00a0pages, images and files, posts and everything else\u00a0\u2013 to a new installation.<\/p>\n<p>Incidentally, it is probably easiest to create a new installation on your new server (or even the new location within a server) and import\/export than to change your files&#8217; configurations. However, if you&#8217;d rather do it that way, the <a href=\"https:\/\/wordpress.org\/support\/article\/moving-wordpress\/\" target=\"_blank\">WordPress Codex<\/a> can advise. Your installation should be up-to-date with the latest WordPress version so it won&#8217;t be a problem, but if it&#8217;s not, upgrade your old installation first. If you really can&#8217;t update for some reason \u2013 such as keeping a plugin that doesn&#8217;t work with new versions \u2013 your new installation can be an <a href=\"https:\/\/wordpress.org\/download\/releases\/\" target=\"_blank\">old version<\/a>. This is far from recommended because many old versions of WordPress have critical security flaws.<\/p>\n<h2 id=\"move-content\">How to Move Content From One WordPress Site to Another<\/h2>\n<h3 id=\"oldinstallation\">1.\u00a0Export From Your Old Installation<\/h3>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/wordpress-export.png\" alt=\"WordPress Export Page.\" width=\"1364\" height=\"484\" \/><figcaption class=\"wp-caption-text\">WordPress&#8217;s own Export Tool.<\/figcaption><\/figure>\n<\/div>\n<p>Go to your WordPress dashboard and select the <strong>Export<\/strong> item from the<strong> Tools<\/strong>\u00a0section.<\/p>\n<p>Because you&#8217;re exporting everything, it&#8217;s easy: keep the <strong>All content<\/strong> option selected and hit <strong>Download Export File<\/strong>.<\/p>\n<p>An XML file will be created. Keep it in a safe place and go across to the installation to which you&#8217;re migrating.<\/p>\n<h3 id=\"Installimporter\">2.\u00a0Install the Importer<\/h3>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/wordpress-importers.png\" alt=\"WordPress importer options.\" width=\"1364\" height=\"483\" \/><figcaption class=\"wp-caption-text\">The WordPress importers screen.<\/figcaption><\/figure>\n<\/div>\n<div  class=\"wpdui-pic-right  \">\n\n\n\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"attachment-490x490\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/importer-install.png\" alt=\"Importer Install screen\" width=\"490\" height=\"312\" \/><\/figure>\n\n<p>On the new WordPress installation, go once again to\u00a0<strong>Tools<\/strong>, but this time select\u00a0<strong>Import<\/strong>.<\/p>\n<p>You will be shown a list of importers, from which you should select the WordPress option.<\/p>\n<p>Click <strong>Install Now<\/strong>\u00a0and wait for the importer plugin to download and install.<\/p>\n\n\n\n\n<\/div>\n<p>If it all works, you can click <strong>Activate Plugin &amp; Run Importer<\/strong> on the next screen.<\/p>\n<p>At this point, you&#8217;re all ready to import and the XML file you generated earlier comes into play.<\/p>\n<h3 id=\"Uploadcontent\">3.\u00a0Upload Your Content<\/h3>\n<div  class=\"wpdui-pic-regular  \">\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-735x735\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/upload-wxr.png\" alt=\"Screen to upload WXR XML file\" width=\"735\" height=\"237\" \/><figcaption class=\"wp-caption-text\">Upload the WordPress eXtended RSS (WXR) XML file you created earlier.<\/figcaption><\/figure>\n<\/div>\n<p>Click <strong>Choose File <\/strong>on the screen that follows and select the XML file you created on the old site.<\/p>\n<p>Next, click <strong>Upload file and import<\/strong>.<\/p>\n<h3 id=\"Assigncontent\">4.\u00a0Assign the Content<\/h3>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/importer-post-assign.png\" alt=\"Importer Content Attribution Options.\" width=\"1364\" height=\"650\" \/><figcaption class=\"wp-caption-text\">You can import or add new author accounts, or attribute content to existing authors. Ensure you import and download attachments.<\/figcaption><\/figure>\n<\/div>\n<p>You&#8217;ll be given an option to assign content to existing users on the new site (if you have an account on both, you can assign your old posts to your new account), or create new users either with their old usernames or with a new one you select. This ensures all the content is attributed to an author account that exists on the new site.<\/p>\n<p>If you have any images or files to move to the new site, <strong>make absolutely sure that you tick <em>Download and import file attachments<\/em>\u00a0<\/strong>\u2013 it&#8217;s not selected by default.<\/p>\n<p>Hit the <strong>Submit<\/strong> button and you&#8217;re done! The page may take a little longer than usual to load because it&#8217;s creating all the new rows on the database, but it <em>will<\/em> get through it. Just wait patiently for it to be processed and all of your content should be imported onto the new site ready for its life there.<\/p>\n<h2 id=\"partial\">Partial Content Movement<\/h2>\n<p>So that&#8217;s the easy bit out of the way. However, if you&#8217;re looking to export only\u00a0<em>some<\/em> of your content, I&#8217;m afraid to say that WordPress&#8217;s tools probably won&#8217;t cater for your needs on their own.<\/p>\n<p>Selecting <strong>All content<\/strong> is the only way to export your attachments (files that appear under the\u00a0<strong>Media<\/strong>\u00a0section). Therefore, if you want to transfer specific parts of the content\u00a0<em>and<\/em> your images, you&#8217;ll either need to move everything across then delete it (time consuming for larger sites) or poke around in your files and database \u2013 which I shall show you how to do now.<\/p>\n<p>The exporting and changing SQL that I&#8217;m about to show you will be demonstrated for moving attachments, but you can also use a similar methodology\u00a0to transfer the whole database across. This is useful if you want to transfer everything but your XML file is too large to upload through the importer.<\/p>\n<h3 id=\"export-content\">1.\u00a0Select the Content You Want to Export<\/h3>\n<p>Venture\u00a0once more to the\u00a0<strong>Tools &gt; Export<\/strong> screen to begin with.<\/p>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/export-custom.png\" alt=\"Export screen with posts selected.\" width=\"1364\" height=\"514\" \/><figcaption class=\"wp-caption-text\">Here I have chosen to export only posts after mid-2010 from a certain author. You can also choose to export by status (eg. Published, Pending, Draft) or their Category. Other content types like pages (or Feedback, Portfolio, etc. if enabled) can be selected.<\/figcaption><\/figure>\n<\/div>\n<p>Once you&#8217;ve selected which content you&#8217;d like to export, click <strong>Download Export File<\/strong> as before. If there are multiple selections you&#8217;d like to make (eg. two authors&#8217; posts in a date range, or someone&#8217;s posts\u00a0<em>and<\/em> all pages), it&#8217;s entirely possible to go back and create multiple export files for each selection.<\/p>\n<h3 id=\"import-content\">2. Import as Before<\/h3>\n<p>After\u00a0you have all the WXR XML files you want, go to the new site and install the WordPress Importer as previously shown. You can upload your files (one at a time) as before and they&#8217;ll install the specific posts\/pages\/other content onto the site.<\/p>\n<p>However, this is not the end, because you&#8217;ll notice that you still don&#8217;t have any attachments (eg. uploaded images) on your installation quite yet.<\/p>\n<h3 id=\"media\">3. Duplicate\u00a0Media Files<\/h3>\n<p>Go to your old installation&#8217;s FTP client and find the\u00a0<code>\/wp-content\/uploads\/<\/code> folder. I&#8217;m using Windows 10&#8217;s File Explorer as\u00a0my FTP client, but most should be able to compress files and download them.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-735x735\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/compress-uploads.png\" alt=\"Sending to compressed (zip) file.\" width=\"735\" height=\"379\" \/><figcaption class=\"wp-caption-text\">Depending on your FTP client, compressing all folders within your uploads directory into a .zip file will be done through different methods.<\/figcaption><\/figure>\n<\/div>\n<p>Download the .ZIP file you generate and upload it to your new site&#8217;s FTP (or cut and paste it if you can access both sites through your FTP client).<\/p>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/move-uploads.png\" alt=\"Moving uploads .zip.\" width=\"1364\" height=\"792\" \/><figcaption class=\"wp-caption-text\">I&#8217;m cutting and pasting my compressed uploads across, but you can download and upload if you need to change between FTP clients.<\/figcaption><\/figure>\n<\/div>\n<p>You can then extract all the files from the compressed folder into the Uploads directory.<\/p>\n<p>Unfortunately, that&#8217;s not the end of it; while your files are in the right place, your WordPress installation won&#8217;t know about them because the attachment details haven&#8217;t yet been copied across from the database.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-735x735\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/no-attachments.png\" alt=\"No media attachments found.\" width=\"735\" height=\"180\" \/><figcaption class=\"wp-caption-text\">Your new WordPress database doesn&#8217;t know about the files you&#8217;ve uploaded to the new server yet.<\/figcaption><\/figure>\n<\/div>\n<h3 id=\"export-attachments\">4. Export Attachment Posts<\/h3>\n<p>Head over to your old site&#8217;s phpMyAdmin database and find the\u00a0<code>wp_posts<\/code> table (replace <code>wp_<\/code> with your prefix as necessary).<\/p>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/wp_posts-sql.png\" alt=\"wp_posts table SQL.\" width=\"1364\" height=\"484\" \/><figcaption class=\"wp-caption-text\">Again, I used wpmudev_exportposts, but replace the table name with the right prefix as applicable to your database.<\/figcaption><\/figure>\n<\/div>\n<p>At this point, you need to find the attachment posts (those are the media posts) so paste in the following SQL (changing the table name to have the right prefix if necessary) and hit <em>Go<\/em>.<\/p>\n<pre>SELECT \r\n * \r\nFROM \r\n `wp_posts` \r\nWHERE \r\n `post_type` = \"attachment\"<\/pre>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/select-export-all.png\" alt=\"Executed SQL query.\" width=\"1364\" height=\"372\" \/><figcaption class=\"wp-caption-text\">The SQL query will return only attachment posts.<\/figcaption><\/figure>\n<\/div>\n<p>Scroll to the bottom of the query results and check <strong>Show all<\/strong>\u00a0so\u00a0all attachment posts are showing. Once all rows are displayed, choose <strong>Check All<\/strong> then click <strong>Export<\/strong>.<\/p>\n<p>At this point, things get a bit more\u00a0complicated, but stay with me\u00a0and follow the steps carefully and you should be fine.<\/p>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/custom-wp_posts-export.png\" alt=\"Custom wp_posts Export with Format Specific Options\" width=\"1364\" height=\"777\" \/><figcaption class=\"wp-caption-text\">For the purposes of the picture, the options you&#8217;ll need to change have been moved up the page. You may need to scroll down to find them.<\/figcaption><\/figure>\n<\/div>\n<ol>\n<li>Choose <strong>Custom<\/strong> to show all possible settings.<\/li>\n<li>Scroll down to the <strong>Format-specific Options<\/strong>\u00a0section.<\/li>\n<li>Choose <strong>data<\/strong>.<\/li>\n<li>Leave everything else as it is and click <strong>Go<\/strong>.<\/li>\n<\/ol>\n<h3 id=\"edit-sql\">5. Edit Your SQL<\/h3>\n<p>This step is necessary if your new installation has a different database prefix to the one from which you&#8217;ve just downloaded your SQL export file.<\/p>\n<p>Edit the .sql file using a text editor such as <a href=\"https:\/\/notepad-plus-plus.org\/\" target=\"_blank\">Notepad++<\/a>, finding and replacing the old prefix with the new prefix.<\/p>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/wp_posts-sql-prefix-edit.png\" alt=\"Find and replace prefixes in SQL file.\" width=\"1364\" height=\"767\" \/><figcaption class=\"wp-caption-text\">In my case, my original database was prefixed wpmudev_export and the one to which I will be moving the attachments is prefixed wpmudev_import!<\/figcaption><\/figure>\n<\/div>\n<p>If your prefixes are the same (eg. both tables are <code>wp_posts<\/code>), that&#8217;s fine and you can ignore this step.<\/p>\n<h3 id=\"import-attachments\">6. Import Attachment Posts<\/h3>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/wp_posts-import.png\" alt=\"wp_posts Import Page.\" width=\"1364\" height=\"768\" \/><figcaption class=\"wp-caption-text\">As ever, find the table with the right prefix as applicable!<\/figcaption><\/figure>\n<\/div>\n<p>Go to your new database and find\u00a0<code>wp_posts<del><\/del><\/code>\u00a0(or equivalent); click <strong>Import<\/strong>.<\/p>\n<p>Click <strong>Choose File<\/strong> \u2013 make sure you click, don&#8217;t drag it in, as this means it won&#8217;t be uploaded in the right place\u00a0\u2013 and select the exported SQL file.<\/p>\n<p>Leave all other options as they are and execute the query by hitting <strong>Go<\/strong>. You&#8217;ll see a success message once it&#8217;s finished and all your attachments will now be visible under Media\u00a0\u2013 although there&#8217;s a further step before your images will start showing up properly.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-735x735\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/media-no-img.png\" alt=\"Media library showing just files, no images.\" width=\"735\" height=\"231\" \/><figcaption class=\"wp-caption-text\">As you can see, none of the images actually show as images&#8230;yet!<\/figcaption><\/figure>\n<\/div>\n<h3 id=\"export-meta\">7. Export Post Meta<\/h3>\n<div  class=\"wpdui-pic-large   \" >\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/wp_postmeta-export.png\" alt=\"wp_postmeta Custom Export Options\" width=\"1364\" height=\"1045\" \/><figcaption class=\"wp-caption-text\">Again, the options you need to change are on this picture. You may need to scroll to find them.<\/figcaption><\/figure>\n<\/div>\n<p>Similar to the previous database work, this time find your old installation&#8217;s\u00a0<code>wp_postmeta<\/code> table and select the <strong>Export<\/strong> tab.<\/p>\n<p>Select <strong>Custom<\/strong> settings again and choose\u00a0<strong>data<\/strong>\u00a0rather than <strong>structure and data<\/strong>, just as before.<\/p>\n<p>This time, also locate the Data Creation Options heading and select <strong>REPLACE<\/strong> as the function to use when dumping data.<\/p>\n<p>Once again, click <strong>Go<\/strong>\u00a0to create and download your SQL file.<\/p>\n<h3 id=\"edit-sql-again\">8. Edit Your SQL Again<\/h3>\n<div  class=\"wpdui-pic-large   \" > <img loading=\"lazy\" decoding=\"async\" class=\"attachment-1364x1364\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/wp_postmeta-sql-edit.png\" alt=\"wp_postmeta SQL file editing\" width=\"1364\" height=\"767\" \/> <\/div>\n<p>Again, you need to change the prefixes in your SQL file if the new database prefix will be different. You should also find all references to your old URL and replace them with the new one.<\/p>\n<h3 id=\"import-meta\">9.\u00a0Import Post Meta<\/h3>\n<p>Go to your new\u00a0<code>wp_postmeta<\/code> (or other applicable prefix) table and, exactly as before, import your edited SQL file into the new installation.<\/p>\n<p>Your media library is now complete once more, ready to fit back into your transferred content (finally).<\/p>\n<figure id=\"attachment_144924\" class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"size-ratio-full wp-image-144924\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2015\/08\/media-complete-1050x597.png\" alt=\"Completed Media Library\" width=\"1050\" height=\"597\" \/><figcaption class=\"wp-caption-text\">Finally, all your images show up and can be shown within content!<\/figcaption><\/figure>\n<h2 id=\"shipper\">Export Content with Shipper<\/h2>\n<p>Another method of moving content is with our very own <a href=\"https:\/\/wpmudev.com\/project\/shipper-pro\/\" target=\"_blank\">Shipper Pro<\/a>. Shipper helps make the process easy as ever.<\/p>\n<p>After having Shipper Pro installed, head to <strong>Package Migration<\/strong> and <strong>Create Package<\/strong>.<\/p>\n<figure id=\"attachment_209842\" class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-209842\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2022\/01\/package-migration.png\" alt=\"The package migration button.\" width=\"600\" height=\"512\" \/><figcaption class=\"wp-caption-text\">With Shipper, it all starts with a click of a button.<\/figcaption><\/figure>\n<p>From this point, you will <strong>Create Package<\/strong>. Give it a name and decide whether to use password protection or not.<\/p>\n<figure id=\"attachment_209843\" class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-209843\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2022\/01\/create-package.png\" alt=\"create package area.\" width=\"600\" height=\"625\" \/><figcaption class=\"wp-caption-text\">Decide whether to use password protection or not.<\/figcaption><\/figure>\n<p>Shipper migrates the entire site by default, however, you can choose to include\/exclude certain files. There is a section for <strong>Files<\/strong>, <strong>Database<\/strong>, and an <strong>Advanced<\/strong> area. Each consists of a dropdown to select what to migrate.<\/p>\n<figure id=\"attachment_209844\" class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-209844\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2022\/01\/filters.png\" alt=\"Shipper filters\" width=\"600\" height=\"561\" \/><figcaption class=\"wp-caption-text\">Decide whatever files you want to include or exclude.<\/figcaption><\/figure>\n<p>Migration may vary from site to site, based on structure and data. You&#8217;ll want to define what your content is, check what DB tables the content is stored, and include these tables (and the <code>wp-uploads<\/code> directory).<\/p>\n<p>If the content is posts, pages, and comments, you would exclude all directories but <code>\/wp-content\/uploads\/<\/code>. Then, you would want to include the following DB tables:<\/p>\n<p><b data-stringify-type=\"bold\">wp_posts<\/b><br \/>\n<b data-stringify-type=\"bold\">wp_postmeta<\/b><br \/>\n<b data-stringify-type=\"bold\">wp_comments<\/b><br \/>\n<b data-stringify-type=\"bold\">wp_commentmeta<\/b><br \/>\n<b data-stringify-type=\"bold\">wp_terms<\/b><br \/>\n<b data-stringify-type=\"bold\">wp_term_taxonomy<\/b><br \/>\n<b data-stringify-type=\"bold\">wp_term_relationships<\/b><br \/>\n<b data-stringify-type=\"bold\">wp_termmeta<\/b><br \/>\n<b data-stringify-type=\"bold\">wp_users<\/b><br \/>\n<b data-stringify-type=\"bold\">wp_usermeta<\/b><\/p>\n<p>This will migrate all of the content.<\/p>\n<p>If you need any assistance, just reach out to our 24\/7 support. Plus, for more on using Shipper for migration, <a href=\"https:\/\/wpmudev.com\/blog\/wordpress-migration-plugin\/\" target=\"_blank\">check out this article<\/a>.<\/p>\n<h2 id=\"finish\">Finishing Up<\/h2>\n<p>If you&#8217;ve got through all that, well done\u00a0\u2013 it&#8217;s a bit of a roundabout method just to transfer some images across with specific posts.<\/p>\n<p>Of course, there are still catches with this: if you only want to migrate some of the images, you need to go through and pick out the folders (hopefully you want them by date or it would take\u00a0<em>forever<\/em>) more carefully when uploading. You could also run into trouble with duplicate primary keys transferring\u00a0<code>wp_posts<\/code>\u00a0if you already had posts on the new installation.<\/p>\n<p>Additionally, you can use <a href=\"https:\/\/wpmudev.com\/project\/shipper-pro\/\" target=\"_blank\">Shipper Pro<\/a> to help! Shipper can help with moving content in just several clicks.<\/p>\n<p>Clearly, to make the Import\/Export process more intuitive\u00a0\u2013 rather than requiring such creative thinking with the databases behind the CMS\u00a0\u2013 some work will need to be completed for a future WordPress release. While we wait, however, if you do need to move some of your content, this should work for you\u00a0\u2013 it&#8217;s well worth the time!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you need to move some or all of your WordPress website somewhere else, it&#8217;s not as simple as just moving the files. WordPress comes with Import and Export tools which can, in all honesty, be a bit quirky. This guide will take you through the process of migration without the headache of working out how best to use them yourself.<\/p>\n","protected":false},"author":37930,"featured_media":199237,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"blog_reading_time":"","wds_primary_category":0,"wds_primary_tutorials_categories":0,"footnotes":""},"categories":[263,11260],"tags":[10220,10221,10060,9798],"tutorials_categories":[],"class_list":["post-144900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","category-wpmu-dev-products","tag-export","tag-import","tag-migrate","tag-weekend-wordpress-projects"],"_links":{"self":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/144900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/users\/37930"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/comments?post=144900"}],"version-history":[{"count":28,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/144900\/revisions"}],"predecessor-version":[{"id":209841,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/144900\/revisions\/209841"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media\/199237"}],"wp:attachment":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media?parent=144900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/categories?post=144900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tags?post=144900"},{"taxonomy":"tutorials_categories","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tutorials_categories?post=144900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}