Migrating Sermons to Another Website

Occasionally the need arises for a church to migrate their sermons to a different server without migrating the entire WordPress site. This could be after a major design overhaul, or the result of a security breach or malware infection, or any number of reasons.

While Sermon Manager does not currently make this possible by the click of the button, the process is fairly simple: (1) move the media files (MP3 files and images) and (2) move the corresponding sermon database entries.

Because there are various ways to accomplish both of these steps, each with its own advantages, I will elaborate on all plausible options as we go along (Note: don’t confuse the length of this tutorial with complexity as I’m just providing multiple options for each step)

Step One: Moving the Media Files

For a small website, the simplest way to move the media files is to download the entire contents of the wp-content/uploads/sermons folder from your old site using an FTP client (like FileZilla). Then upload it to your new site retaining the same file structure. For example, your new site probably already has a wp-content/uploads folder by default, but there is no sermons folder in there. So you just copy the sermons folder into the uploads folder to get the same effect.

Now since you added new media content to your WP site through a backdoor, the WP Media Library does not know that it exists. To refresh the WP Media Library index I suggest using the free and simple plugin Add From Server. Simply install and activate this plugin and follow the instructions.

If you have a large or older website, like with over 100 sermons to move, it will take you forever to download and upload MP3 files using FTP. What you need to do in this case is make your new host’s servers do all the work of downloading the files from the old host directly through the internet instead of through your personal internet connection. If you have command line access (look around on your host’s control panel page) you can execute this manuever using one line of SCP code which you can read about on this website. The tutorial may appear techie at first glance but just skip to the examples at the end of the document and find the one that best matches your scenario. Type in the same commands on your command prompt but using your information instead of theirs.

Lastly, there are several free WP plugins that could do all of this for you but most of them focus on migrating your entire WP site or are outdated and no longer work. Contact us if you find one that works well and we will update this tutorial with that information.

And remember to refresh your media library catalog after the file transfer no matter which method you do. See second paragraph above for details.

Step Two: Moving Database Entries

If you copy only the sermon posts to your new site via the traditional WordPress export/import method, none of the media attachments (MP3, images, etc.) will show up in the sermon posts even if you transferred the media files in step #1 above. This is because WordPress links media attachments using unique references stored in the post database entries. The only way to preserve this linkage is to transfer the database entries intact…which is the tricky part.

The simplest, but costly option is to purchase the pro version of WP Migrate DB. The personal edition costs $90 currently and is worth every penny if you have to do this more than once in your life (If you are a website designer or developer you should already have this…if you are a developer and do not already have this, you need to get something like this a.s.a.p.). Once you get WP Migrate DB Pro on both the old and new sites, you simply link up your old and new sites in the options and then select the WPFC tables (FYI, that’s the acronym for WPforChurch) among the available tables and click one button to send them over to the new site. That’s it! So easy…

However, if you have more time than money you can export just the sermon entries from the old site and import them into the new site and then re-link the sermon files and images manually. This is not fun but it is not a bad option if you have a handful of sermons or only want to keep the last 6 months or so of sermons. And seriously, is anybody going to be looking for a sermon from 5 years ago? You need to ask yourself that question before creating a bunch of unnecessary work for yourself.

Here is a simple checklist for manually re-attaching the media to sermon posts and other content:

  • For every sermon post within x months: MP3 file, attachments (notes, bulletin, etc.)
  • For every preacher within x months: image of speaker
  • For every series within x months: series image

Finally, with a little technical know-how it is possible to migrate the WPFC database tables manually yourself and for free. Fully documenting this process goes beyond the scope of this tutorial but here is the basic process (only attempt this if you are familiar with mySQL databases and how WordPress uses them):

  1. Obtain the database usernames and passwords for both the old and new databases (look in your wp-config.php file for this…it is usually a long string of jumbled characters and numbers)
  2. Locate your PHP mySQL admin portal from your web host control panel (may be different for both your old and new web host)
  3. Login to the old database and export all posts, terms, taxonomies, etc. prefixed with wpfc_ (Note where they fit into the grand scheme of things on the WP database).
  4. Login to your new database and create a backup
  5. import the wpfc_ entries into their respective tables.
  6. Load your website and test…if you failed miserably, restore the backup and try again.

We hope that the guidance above helps you in your website transition and makes it less painful than transitions usually are. Also, if you have any feedback on this tutorial or are stuck somewhere in the process please contact us.

If you have enjoyed using Sermon Manager at your church, we would appreciate your contribution to the project by purchasing our Sermon Manager support package here.