| |

How I Built It is Officially Hosted by Castos!

Castos is a fantastic WordPress-centric podcast hosting platform that I’ve been recommending in my courses and coaching calls. But I have a confession to make: since Castos launched after I launched my podcast, I’ve been using Libsyn.

For a long time, I’ve considered making the switch, but the migration process always seemed so daunting. On top of that, I’d need to make updates to my website and it never felt like the right time. Well that changes today!

With an assist from the Castos team, How I Built It has completed migrated over, using Castos as a host, and Seriously Simple Podcasting plugin. Here’s how it worked.

Moving Hosts

First, I’m using Libsyn for the audio hosting part, and Powerpress for the WordPress plugin. So the Castos team went into my site, turned on their plug, and did the migration, which included moving all published and scheduled episodes to their plugin (this was super easy because they support the same post types that Powerpress does).

On top of that, they made sure all of my audio files moved from Libsyn to their system. Because I’m using my website as the Apple Podcast feed, and not Libsyn’s URL, there will be no need to redirect any feeds, which is great. Subscribers should see absolutely no difference on their end.

Once the migration finished, they double checked everything, and I turned off the Powerpress plugin.

Code Support for Seriously Simple Podcasting

Along with moving hosts and plugins, I needed to update my child theme and custom plugin, as there are dependencies on Powerpress. It wasn’t too bad, but I needed to do a few things to make sure nothing broke

  • Update my custom fields so they show up on the Castos plugin’s Episode post type as well as of Posts in the “Episodes” category.
  • Update the episodes archives template to use Castos’.
  • Update my Fusebox integration plugin to pull the audio file from Castos’ plugin.
  • Associate Sponsors and Templates with the Episode post type.

As it turns out I didn’t really need to do a lot of this since I’m still using posts – but that’s OK. Now I can support the Castos plugin fully, which will come in handy if I want to add different series to the same site.

Site Improvements and Updates

Since I was banging around in the code to make sure the migration went smoothly, there were several improvements I wanted to make to my plugins and child theme to make the site work better:

  • Better formatting for transcripts (on episode pages, it was just a block of text. wpautop() fixed that.
  • Email guests only on Publish, not when I update posts
  • Consolidate my custom fields managers (I was using two. More on that below).
  • Improve my Fusebox integration plugin. This feels like a good candidate for a premium plugin.

Removing Fields Manager

I was using the Fields Manager library for my custom fields at the recommendation of a (then) coworker. I figured if I’d be using it a lot so I might as well use it, and then…well a lot of things changed. Honestly, I wish I stuck with CMB2 because I was more familiar with that and it seems better supported.

Because of my feelings towards that library, when it came time to add extra info to my post types and posts, I just went with Advanced Custom Fields (ACF) because it was faster, and their complex fields are what I needed. Thus, 2 fields managers were in use.

I’ll spare the details for a more dev-heavy post, but luckily Fields Manager (FM) and ACF handle data pretty much the same, so I wrote a conversion script to make all of the data out of FM and into ACF. It worked perfectly and required little update to move code, besides moving the FM dependency. You can find the function I wrote in this gist.

Other Changes

There were 3 other changes I made at the same time as these updates:

  1. Replace the Quick Redirects plugin with the Redirection plugin. It’s better, with more options. The only struggle I had was creating redirects in PHP because there’s no sample code and the documentation was a bit unclear.
  2. Replace Yoast SEO. It’s more than I need, and not worth the constant notifications on this site. I’ve been trying out Slim SEO.
  3. Add a podcast subscription plugin to replace Powerpress’ widget. This was a great feature – I’m told Seriously Simple Podcasting is adding one soon, but the Podcast Subscriptions Button plugin is very good.

Testing the Full Migration

I also created a test plan, once everything was complete. This revealed a few issues that needed resolving, so I’m glad I did it! So I cleared the cache and performed the following tasks:

  • Check all meta data on episodes (sponsors, transcripts)
  • Test all pages on front end to make sure they’re still displaying properly
  • Check links and redirects
  • Check the feed in Apple Podcasts, Spotify, and Google Podcasts
  • Check Podtrac (my stats service)
  • View the site in Chrome, Safari, Firefox, and on mobile devices
  • Add a new episode
  • Publish an episode (happening Tuesday)

Everything went pretty well – I did need to fix a few issues but nothing that completely broke the site, or more importantly, the feed.

Notice Anything Strange?

If you’re bouncing around the site or the feed in your favorite app, let me know! I’m sure while my tests checked out, they weren’t full comprehensive.

And if you want to check out Castos, you can do so here. Not only am I a fan of their work, but moving over to them has saved me a bit of money 🙂

Finally, if you have any questions about the migration process, let me know!

PS – You can find my custom plugin, WP Podcatcher, over on Github. It’s pretty dependent on both Seriously Simple Podcasting and ACF, so I don’t know how useful it is to you. But there are some nifty code gems.

Update!

There was a small snafu regarding episode URLs because of my web host, Liquid Web, and nginx (the underlying server engine). Thankfully, the Castos team knew exactly what was wrong and we added this bit of code to my plugin (it will also work in your theme’s functions.php file:

add_filter( 'ssp_episode_download_link', 'ssp_use_raw_audio_file_url', 10, 3 );

function ssp_use_raw_audio_file_url ( $url, $episode_id, $file ) {
  return $file;
}

Similar Posts

  • |

    Testing your Responsive Site

    Over the last year or so I’ve been involved with a few major projects that required responsive design/development. One of the most important things to remember about a responsive design is that it’s not just good enough to make sure your design shrinks with a smaller browser on your computer. Presumably, you’re doing this because…

  • |

    How I Prepped 9+ Piece of Content in 4.5 Hours

    In preparation for a recent vacation, I recorded and wrote a bunch of content to schedule in my absence. Today, I want to share with you how I churned out 9+ pieces of content over the course of 4.5 hours. Here’s the output: And here are the tools I used: How it Worked For each…

  • | |

    Your Personal Website

    Note: This article was published while I was in my early 20s. I was much younger and dumber. Please don’t hold it against me. One of the perils of having a 20+ year old website!I’m doing a lecture on Monday, telling students how to properly build a website to promote themselves. After the jump is…

  • |

    Hi.

    Note: This article was published while I was in my early 20s. I was much younger and dumber. Please don’t hold it against me. One of the perils of having a 20+ year old website! Remeber that post where i read the article Halo could make $75 mill on opening day. Well, that was a…

  • Clients Always Mess Things Up

    Imagine you’re buying a new phone. You walk into the store and you overhear a conversation with 2 of the sales clerks. One says to the other, “Ugh. One of my customers put an ugly case on the beautiful iPhone I gave them. Customers are so stupid. They always mess things up.” You probably wouldn’t…

  • |

    CaboPress: The Business Conference I Needed

    When you tell people that you’re going to Cabo San Lucas for a business conference, you get some funny looks. Well, you get one specific look: “Oh sure. I bet you’ll do a ton of work there.” It’s easy to think. I mean, we are in paradise. Our sessions were in pools. We had afternoons…