Issue #492
New Video Library (and how it was built)
Well, I’m a tad later than normal pushing out this week’s newsletter. But hey! Least it is still Monday, right? š
This issue will be a wee bit nerdy.
Last week, I went ahead and (mostly) finished up and launched the new video library at the Blog Marketing Academy.
It is a big reorganization of how I am organizing, hosting and managing video content and courses on the site. A lot different than having a course library and a Youtube gallery like I did before.
So, in this issue, I thought I’d go into my “why” and then my “how”.
Why did I bother building this thing? And then, we’ll get “tool time Dave” on ya and I’ll start talking about the tools I used to build it.
So, let’s do this….
In This Issue…
Featured This Week
How To Host Your WordPress Blog In A Sub-Folder, Hosted Separately
Need to host WordPress on a separate web host, but want it to load in a sub-folder for SEO purposes? Hereās how you can do itā¦
Creating A New Video Library (And Simplifying Everything)
Last week, when I told my tale of attempting to use WP Grid Builder, it was all in a quest to create a new video library at the Blog Marketing Academy. And, well, that didn’t work out super well. š¤Ŗ
But, then I just switched over to Kadence to build it. Built the entire library and it is now live.
Now, I know I have a lot of people who take interest in what I do with my own website. They want to know why…. and how. And so, in this part of the newsletter I thought I would share my “why”. And below, I’ll talk about how.
See, the Blog Marketing Academy has been around in one form or another since 2008. The website you see today is just the most recent version, but this WordPress site has been through numerous designs, numerous ideas, business model changes, and a few bird-brained ideas by it’s creator. š It’s SEEN things!
And in the course of that, it got a little complex.
There were a few things on my mind here…
- I am creating more video than I used to and posting them on Youtube. In fact, Youtube has done more to drive new business in the last year or so than any other channel I have.
- I don’t always want to write up a full blog post for a video. Sometimes, video is plenty. But, if I only post on Youtube, it splinters my content away from the website.
- I have a lot of old courses. Splintered up between a course library (powered by Learndash) and a member library (for documents, workshops, etc.). Some of the videos on Vimeo, others elsewhere. Not all of them even backed up properly.
- There’s just too many different silos for content on the site. Really, all I want is articles and videos. Maybe some documents. And the member content can be mixed into that as long as there are filters.
What I had was a bunch of complexity as a result of changes over the years. And I felt like things need to be reorganized so as to fit how things work now.
In the end, online courses are no longer my business model. Today, I do tech services and Concierge. I may never again create an online course in the same fashion I used to. Instead, I want to create shorter videos that are much more focused.
Plus, there’s the matter of attention spans. People don’t have the tolerance or desire anymore to sit there and go through some big honker course with multiple modules. And there I am with an aging library of big-ass courses sitting in Learndash. š
So, the project was to simplify. I wanted to create a unified video library. And in the process, make less moving parts.
The goals:
- Create one unified video library that will contain all public and members-only videos as well as courses.
- Make that library easy to use, through search, filters, and transcripts.
- In the process, get rid of Learndash. No need for it since that’s not my business model anymore.
- Get all videos out of Vimeo and over to Bunny.net.
- Old training content that is just irrelevant now will be removed. There’s just no need to keep everything
And while there will be a few more tweaks, that video library is live. I was getting antsy, so I decided to launch it on the site even though there’s still a few things to do. Why chase perfection when you can just “ship it!” š„
This Week In Concierge
In the last issue of “This Week In Concierge”, I mentioned how one client’s site kept getting ad code injected into it on Kinsta. And we moved it to Rocket and the problem went away. Well, an update…
It happened again on Rocket. But, THIS time, we went to town on this bad-boy. His membership site was re-built to remove all old plugin code (from before I rolled around). But, with the help of Rocket, we went to town on this site to brush up every possible security issue. Even right down to having the client change his own password and we reset the salts in the config file to force all new logins.
Now, shout-out to Rocket on this, because the CEO of the company even chimed in on this. I gave him the signature of the ad code being injected. They updated their own internal malware scanners with that signature so that if anything like that happens again, their own systems should catch it. Rocket is so good.
Here’s what else we were doing for Concierge clients….
- Pushed a client’s site “live” after a full re-build to Kadence. This one took a little massaging so as now to overwrite live orders on his live site. That’s always fun.
- Set up a client’s affiliate portal so she can have affiliates promote her stuff
- Migrated a client’s site out of Bluehost, plus some basic maintenance to make it compatible with PHP 8.3 (she was an old version because, well…. Bluehost).
One of the things I spend a fair amount of time on every week is just… answering questions.
Clients have a question or concern about their sites…. and they ping me with a quick email or a message in Basecamp. And I get back to them ASAP either with a written message or, often, a quick Loom video. Sometimes it is a quick fix needed, a confusion ironed out…. but that’s a big part of Concierge.
WordPress Quick Bits
FluentCRM Gets A Big Update. FluentCRM has been updated to 2.9.20. You couldn’t tell from the version number, but this is actually a big update. This version introduces native abandoned cart recovery, built-in automation templates, and several enhancements to CRM profiles. They even now integrated with FluentSMTP’s logs so you can view ALL system emails sent to your contacts, even if FluentCRM didn’t send it. Read the full list of changes here.
One Little FluentCRM Kink. One little thing to be aware of if that the new FluentCRM has an odd interaction with the recent changes in Gutenberg, meaning there are some instances where you may have annoyances in the email editor. They’re aware of it. In fact, they’ve already released a hotfix that will nab the issue for most people.
FluentSupport Update. FluentSupport has been updated to 1.8. Along with some streamlining in the customer portal, they also now have ChatCPT integration. Because, of course they do. š Read up on it here.
TutorLMS Teasing It’s 3.0 Upgrade. TutorLMS is a pretty nice LMS if you don’t want to use Learndash. It has several things that are better than Learndash, actually. And they’re gearing up to launch their big 3.0 update. I admit to laughing at them, though, when they start promoting their “Advanced AI Integration“. As they say, “build your course with just a prompt!” Ugh. Want yet another reason why I got out of the online course business? Yeah. A whole army of cheap garbage courses vomited up by AI. YAY! š«£
New Plugin: Super Rollback. A new plugin has been launched called Super Rollback. The idea is that you can instantly rollback to previous versions of a plugin if something goes wrong after an update. I’ve not tested it. Could be handy, although I usually just do this with site backups myself.
MonsterInsights Adds AI. Now, as you may know, I’m not exactly a fan of Awesome Motive. And I will never use MonsterInsights because of that. Plus, I don’t use Google Analytics. I’m a rebel like that. š¤Ŗ But, I will admit…. this new tool to be able to analyze your analytics using AI is pretty cool. That’s a great use of AI, actually.
xCloud Adds AWS Server Integration. If you’re an xCloud user, you now have the option to spin up a server on AWS and manage it via your xCloud panel. Check it out.
Fixing the performance of your website is often confusing. Lots of jargon. Lots of adviceā¦ most of it confusing. And truth is, it is a pretty holistic thing to tackle. You need to have a “big picture” understanding of what’s going on. You can’t just install a plugin and be done with it.
When you book WP Speed Fix, we’ll fix up your site’s performance scores. And we’ll do it together. I have the experience and all of the tools. And we’ll get it done.
How My New Unified Video Library Was Built (Tool Time!)
As it was before, I had a Youtube video gallery page being powered by WP Social Ninja and the online courses being powered by Learndash. And I wanted to get rid of both.
WP Social Ninja is a fine little plugin, but it does way more than I was using it for. So, it adds the menu option and brings on the overhead of another plugin just for that one page on my site with a Youtube gallery.
And Learndash is just… beefy. It does way more than I was using. Plus, remember when I talked about building online courses without an LMS plugin? Yeah. š
So, the new version of the video library will run on a custom post type with custom fields.
I use Advanced Custom Fields Pro to create the video post type, custom fields (for video duration, Youtube URL, etc.) and even custom taxonomies (for video series, category, etc.)
I use Kadence Pro and Kadence Blocks to build the actual video library. Namely…
- The Advanced Query block from Kadence to build the library and filters. Each video listed is a “card”, and I build the query to look for my custom post type. Once I get used to using it, I realize this is almost as powerful as WP Grid Builder, but without the need for another plugin.
- I use Kadence Elements (part of the Pro Kadence theme) to build my own template for individual videos. As I build the template with blocks, I use Block Visibility plugin to show/hide blocks as needed. For instance, the transcript section of my template only shows up if I actually entered a transcript. I don’t want to be forced to have a transcript for every video. The fact that Block Visibility integrated with both WP Fusion and ACF is awesomesauce and I definitely use it.
- When needed, I use the various Dynamic blocks of Kadence to bring in my custom fields for things like video duration, transcript.
For the actual video player, I am using Presto Player. I am using it for every video, whether it is from Youtube or self-hosted. By using Presto Player universally, I can style the player as I want. I can even put calls to action on the player if I like. Kinda cool!
As for video hosting, I decided to move away from Vimeo and organize things into Bunny.net. Plus, Presto Player’s native integration with Bunny will make it super easy to work with my members-only videos. See: Using Bunny.Net To Host Your Premium Content (Video, Audios, Documents)
It is quite the process moving out of Vimeo. It isn’t done yet. Come to find out I had videos in Vimeo that I didn’t even have backed up locally. That’s some poor digital sovereignty right there! So, I’m in the process of handling all that.
I’m also re-encoding some of the old videos. Many of my online courses were too broken up into too many videos. So, I’m combining many of them together so as to have less videos in the new library.
For online courses in the new system, I am setting them up as Series. I created a “Series” taxonomy where I can group videos together when needed. I’m also making use of Presto’s ability to do chapters and video shortcuts so that I can have one really long video in there but still give the end user the ability to jump around.
For transcripts, I am using HappyScribe.com. I was luck enough to have grabbed an account via an AppSumo launch special and this was one of my better AppSumo buys. HappyScribe works quite well. Once I get a transcript, I just copy/paste it into my transcript field for a video. Over time, I’ll have more transcripts in the system. Not because I assume everybody wants to read them, but because it makes the videos searchable by WordPress by the content in the video.