Imagine if you want to transfer the content of your old website to new one and WordPress doesn’t provide an easier way to do it, you will have to copy and paste each of your page or post content to the new website. How complicated, time-consuming and irritating that would be. But for good reasons, WordPress has a way to do it quite easily. In Wordpress admin panel you can find Import and Export tools which can be used to transfer the content in form of XML files. As we discussed in an earlier article on Migrating the WordPress website to a new domain, it is quite easy to do that. But what if you don’t want to migrate the whole website but only the content like posts/pages/media. It is a bit tricky but not difficult. This is considered one big benefit of WordPress as migrating the whole website or transferring the content alone is very simple. You may need to transfer the content from old to new WordPress website for one of the following reasons :
- You want to completely change the design and layouts so created a new website instead of modifying the old one.
- Your old website crashed and you wanted to create the new one but want to preserve the same content.
- Your old website is hacked but somehow you survived with the backup, and now you created a new website and want to put that data on the new website.
- Just like that (pun intended).
Let me consider that you have already created your new website and your old website is also up and running. It is necessary that your old website is still live or you have already taken the backup of your old sites content else transferring the images and other media files will not be possible. Follow the below steps to accomplish the process:
- Open the Admin panel of your old website.
- Go to Tools section and open Export tool.
- Select all content and click download, back up of your old website’s content will be generated in XML format. Save this file.
- Now open the Admin panel of your new website.
- Goto tools section and open import. Select WordPress.
- Browse the file you saved in step 3 and click on import.
- It will ask you whether you want to upload the attachments. Tick this option. Also, select the author to whom you want to attribute this content to. Start the process.
- Now go to Settings -> Permalinks. Don’t change anything but just click the save button at the bottom of this page.
- Once done, check if all the content you wanted to transfer is available on the new website in the proper format.
- If you are getting timeout error while importing the backup file check this – How to fix Timeout error while importing XML backup file to WordPress
- If you are facing a problem with images check this – WordPress Website Images not showing after migration to new domain
Above is the easiest way to do it. But there can be a situation where you couldn’t take the XML backup and your old website crashed or hacked. In such a situation, the above method will not help you. Then you have to use a more sophisticated way for which you should have basic knowledge of the MySQL database.
If you can’t access the admin panel, you can your data’s backup from the file manager and Database. In file manager you can find all the images you used in the website and in database tables you can find all the text content. Follow the below process:
Process for transferring the images from Old to New WordPress Website via File Manager :
- In File manager go to public_html -> wp-content -> uploads. Here you can find all the images in monthwise folder. You can download all the folders with the images from here.
- Now open the same public_html -> wp-content -> uploads folder in the new WordPress installation. Upload all your image folders in this directory. Now, these images will be available in the Media section of the admin panel. Once you put up the content you should most probably find all the images at its place. If not you may need to relink the images, that will a bit time-consuming stuff but there is no way around it.
Process for transferring the content from Old to New WordPress website via database :
- Find phpmyadmin in the cPanel and get into it for the old website. Here select your website’s database and go to the table wp_posts & wp_postmeta (wp may be replaced by some other prefix, so focus on the posts part). Once you find it open them and export them separately.
- Now import these table into the new WordPress website’s database. New installation might have its own tables with the same name so might have to delete them or you may import only the data into the old tables. That’s a bit tricky process so you will need a basic knowledge of MySQL. If you are not a tech-savvy better find someone who can help you with it. One it is imported go and check the website. The pages/posts would have been with the content. Now you can match the image links and give it the final touch.
There is one more trick I want to share here, once I just connected one of my website’s database to another website. Both were WordPress websites and were using the same themes. Somehow it happened that I could see my first websites data on the second website as it is. It was completely unintended. I never tried it again but you may give it a try. Let me know in comments if it worked for you.