A Behind-the-Scenes Look at the Technical Backbone of a High-Volume Member Site

A few weeks ago I mentioned to our team that we should have a blog post explaining why we use some of the tools we do for our Social Media Marketer member site. To say that it’s a frequently asked question from members is an understatement. It didn’t take long for our content manager to turn around and ask me to write it since I deal so closely with most of the tools involved. Should have seen that coming! I’m actually a little bit of a tool geek, so writing this is right up there with writing about football, or Star Trek. And yes, you can like both.

Quick heads-up: this stuff is about to get technical. I’ll do my best to keep things comprehensible for anyone without a technical background, but sometimes it simply can’t be avoided. What I can promise is to answer any questions you might have if you leave them in the comments section below.

The Tool to End All Tools

WordPress is the foundation for essentially everything we build at LKR. I could talk all day about why we love it (I won’t!), but the main reasons go something like this:

  • WordPress is easily extendible.
  • It’s flexible enough to power everything from our blog to our member site.
  • It has a large number of already available resources (plugins, themes).
  • Its powerful multi-site capabilities.
  • It’s got a great community (which means great support).
  • It’s tested and secure.
  • You’ll see regular updates and improvements for free.

My Secret Weapon: the Genesis Framework

Genesis Framework Logo Many of our site themes (definition: a “theme” is a particular look you can give to the WordPress platform so that your site looks a certain way) are now based on the Genesis Framework by StudioPress, which is a product of Copyblogger. I’m about as close as it gets to being a Copyblogger fanboy. They write quality code, and provide great support.

Genesis gives us a really great starting point for building themes. It also provides some added flexibility and control that doesn’t come with the default WordPress theme. StudioPress is good about keeping their themes secure, up-to-date with web standards, and search engine-friendly. They also work hard to maintain backwards compatibility so that updates don’t break existing sites (something that tends to happen for some WordPress themes).

It would easily take me 2 or 3 times as long to build out a new theme from scratch with such great functionality if we weren’t using Genesis.

WordPress Multi-Site

WordPress MultiSite Update

One click will update plugins for all of our 30+ sites

One of the major tasks on my plate when I first joined the LKR team was to combine a tangled mess of WordPress installations into one WordPress network. A WordPress network gives you multiple, standalone websites all connected with one common database. For example, CreatingFame.com is connected to LKRsocialmedia AND GettheDash.com. Each site still has its own appearance, media, content, and data. But we get shared WordPress core and user tables, and common plugins and themes.

What this means for us is there is less work overall. If we want to install a plugin on our blog as well as on the Creating Fame site we only have to upload and install it once, then activate it on both sites. If our Social Media Marketer member site uses the same theme as our Creating Fame member site, it’s the same story.

To give you an example, this simplicity is really important when WordPress or a plugin needs an update. Instead of having to go into every site we have and running updates, we run one update from the network admin panel.

For us – and more importantly, for our members – the shared userbase means a less annoying experience. In the past, all of our members had to login separately to each member site. Likewise, we would have to login separately to get into each admin interface. Now, a single user login gets you into all of your various products. So much easier.

Since WordPress is so flexible and has a huge variety of plugins and themes, you could basically run your own little business intranet on a network installation. One site might hold your team’s internal chat using the P2 theme. Another provides a ticketing system to your customers with SupportPress. And your company blog is on yet another. Instead of having a separate installation for each one, you can access each tool with a single login and from a single dashboard.

Controlling Member Access

iMember Content Control Panel

We can control access to each page on the website

Another building block we use for marketing, automation, and eCommerce is InfusionSoft. It powers our email newsletter, The Dash. All of our order forms go through it. And every time you log in to one of our member sites, we verify you are supposed to be there by connecting WordPress to InfusionSoft via a powerful plugin called iMember360.

iMember360 gives us fine-grained control over who can see what content on any given page in a member site. We can set one page to show to a trial member, and another to show to a full paying member. We can schedule content to show only between specific dates. And we can pop in your account info so you can upgrade with the click of a button, right inside the member site.

(By the way, if you’re not looking for a tool specific to infusionsoft we recommend WishlistMember for this functionality.)

InfusionSoft does all the backend work like storing purchase histories and passwords. WordPress does all the frontend work required to present you the content. And iMember360 connects the two with as little effort is possible. Like WordPress, it would likely take 3 or 4 other tools to replace InfusionSoft if we ever wanted to go that route. For us, it’s a mission critical tool.

That said, InfusionSoft is not without its issues. We can’t easily split test our marketing emails. We can’t view combined email statistics for emails in automated sequences. (In fact, pulling any useful stats from it often proves difficult.) If a member cancels their subscription mid-month, there’s no way to extend their membership until the end of the month for which they have paid.

Turning WordPress into a True CMS with Custom Fields

Every time I think we’ve finally put to bed the debate over whether WordPress is a true Content Management System, or just a bloated blogging platform, it usually pops back up pretty quickly. Those who argue it’s not a CMS probably haven’t used a plugin like Types, Advanced Custom Fields, or Custom Field Suite.

Have you ever needed to add organized data to every post or page? Maybe each blog post is a review of a song, and you’d like to easily record the song’s title, artist, and writer. These plugins give you a visual way to define additional information to be applied to a specific post type, or even a post in a specific category. You would define a field for each piece of information about the song, then you can display the title, artist, and writer on the blog post, and on your homepage, and on the blog archive page.

For example, inside Social Media Marketer, each post is a video lesson. With each video we want to record a run time, a thumbnail URL, an audio URL, and a transcript. We could put all of that information directly in the post, but then if we wanted to update the layout of our video page we would have to go through every single post and update its individual layout. Putting each piece of information in its own field allows us to separate the content from the presentation, which is basically the old mantra of every web developer.

Yes, you could do this without a plugin using the custom fields option, but selling that to a non-technical person who manages your content is a lot tougher. Using one of these plugins pretties up the process, and also adds customizable logic based on categories, post types, or the template used.

WordPress Custom Fields

WordPress Custom Fields handling video meta data

Right now we use both Custom Field Suite and Advanced Custom Fields due to some technical limitations of each. If you want custom post types in the same plugin, Types may be the way to go. Keep in mind that with any of these, you will most likely have to do a little bit of tweaking to your theme files in order to present the content the way you want it. So you may want to consult your tech guy before moving forward.

Wistia

We create and sell video training, so we need a place to host our videos. Wistia is pretty darn good at that. They are fast in terms of uploading and streaming, and we’ve never experienced any outages. The one problem we’ve run into is that rearranging and renaming your videos tends to change the video URL and break any existing embeds. It also resets all the video stats. (We learned this the hard way, oops!)

Wistia will also show you viewer statistics for your videos. The stats could be a little more helpful, and I think they went the way of beauty over function, but you can still get an idea about where viewers stop watching a specific video. There is also an API for more advanced users.

Wistia Stats Graph

A snapshot of a Wistia Stats Graph

Lots of Love, Hard Work, and a Little Custom Code

Unfortunately, not everything comes together with the click of a mouse. Everyone on the LKR team contributes in some way, from creating videos, to posting content, or digging up data so we can continually improve. We also rally together when a disaster occurs, like all the videos disappearing after a Wistia reorganization.

There is also a fair amount of custom code I had to write to power the member sites. Some of it ties plugins together or fixes small incompatibilities. The rest provides a little functionality we couldn’t adequately fill with existing plugins. Our favoriting, video completion, and badge system all operate on custom plugins we’ve built. When those break we can’t point our fingers at someone else. (Not that we would!)

All This And More…

If this sort of blog post is helpful or interests you, let me know in the comments! These are only a few of the many tools and plugins we use at LKR. Keep an eye out on the blog for a more comprehensive, less wordy list of all the tools we use behind the scenes at the LKR virtual office!

Leave a Reply

Your email address will not be published. Required fields are marked *