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

Note from Matthias Hager, resident tech guru at LKR:

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 LogoMany 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!

Need more actionable advice?
Get your FREE weekly marketing “to-do” list
straight to your inbox every Wednesday:

Comments

  1. Great post — I learned a lot Laura. Thanks for being so thorough. I’m wondering why you don’t use customerhub with infusionsoft? Wouldn’t that reduce some of the custom coding and plug-ins?
    We just bought into both and having a harder-than-expected time getting on board but I expect it will give us the ability to run our membership website better than our old system of membergate AND integrate all the CRM and shopping cart and autoresponder abilities we now have on several other platforms.

    However, change is always painful even when it’s a great new system.

    Again, thanks!

    • This is all before my time at LKR, but I believe the root reason we’re on WordPress instead of CustomerHub is that Laura wasn’t always running on InfusionSoft. Before the switch she was (I believe) using a combination of Aweber for email marketing, and Wishlist Member for controlling member access.

      If you are an established business (i.e. with a budget), InfusionSoft + CustomerHub might be a better option. It gives you a tighter coupling, and an automatic support team. But – and the reason we likely would never switch – you sacrifice a lot of flexibility and the benefits of the open source WordPress ecosystem. If we want a feature on our site, one of the 20000+ plugins probably gives us it. If not, we can build it or hire someone to build it. With CustomerHub you’re stuck with whatever InfusionSoft offers.

    • Customerhub is not a good product … I have pulled people with Customerhub sites back to wordpress because the design and capabilities of Customerhub are just not there. Not mobile friendly, not ipad/iphone friendly, etc … I was having to create so many workarounds for the technology that it just became not worth it and not cost effective. For example, the video player on Customerhub doesn’t work in iPads, so we had to buy an additional Vimeo account to embed videos … the same for the audio embeds and having to pay for Soundcloud. I wish it was a viable product but until they change their mobile-unfriendly and Flash-heavy ways, it’s not much use to most of my clients!

  2. This article is one of the best and most useful articles related to web tech specs I have read in 2013, thank you so much. One question: What would you do if you had to do all this but in two languages? Like for example in http://www.couchsurfing.org (at the very bottom, on the right, drop-down menu to choose the language).

    I run an eco events website in Spain and more and more there is the need to have all the same info also in English (there are both English event organizers and English speakers who live in Spain plus visitors from abroad interested in getting to know the green side of Spain!).

    More than a translator I am trying to find a way of running the same site with the same information in two languages in parallel so that you can switch the language without any hassles or having to go back to the home page, etc.

    Many thanks,

    Mj

    • Kim Roberts says:

      Great, very helpful article! I am also interested in knowing about the best way to create a bi-lingual (or even tri-lingual) site–the GTS translation plugin is limited, and often very wrong!!

      thanks again,
      Kim

    • I have never worked with this plugin, but I believe http://wpml.org/ will do exactly what you are looking for if you run the site on WordPress. It doesn’t translate the content, but gives you the ability to manage multiple language variants of the same pages so the reader can switch between them.

  3. Thanks for sharing! Great info and some of those tool I was not familiar with!

  4. Love this – very helpful info. TKS!! :)

  5. Matthias – thank you, thank you, thank you! I’m about to undergo a site redevelopment to better organise my online courses and this info is incredibly helpful. The behind the scenes look into all the tools you use across the board is what was interesting to me. It’s easy to find info out about each part separately (themes, framework, membership plugins etc), but difficult to find out about the reasons each one is selected and then the way they are combined. I’d love to see more posts like this.

  6. Excellent post, even for the non-techie reader (like me!). Very generous of you and the LKR team to share. kudos and thanks.

  7. Great info!

    Thanks for sharing

  8. wow thanks for the sneak peek :).
    Wordpress is deff. the go to platform for small medium businesses.

  9. Finally took the plunge and updated my sites to wordpress mulitsite. I have been meaning to do that for a while, I don’t know why I didn’t do it earlier. It rocks!

  10. Matthias, thanks for such a great article. Yes, please continue this series when you’re able. I’m also curious about the tools you don’t use. For example, what’s your opinion– if you have one — on Premise membership, which is what I use (my business can’t yet afford infusionSoft or Office AutoPilot)? And did you consider Vimeo before selecting Wistia? New to me is the idea of WP multi-site & the custom fields plugins. Also, although you didn’t cover this in your blog post, I noticed the Flare plug-in for sharing and really like it. I’m going to switch over to it & keep my fingers crossed that the data transfers along with it. Again, thanks.

    • Premise – I’ve only toyed with this a little bit, but it seems to be really great for one-off products and less so for larger membership sites. So if you’re selling videos, or ebooks it will probably do for you, but if you want a more complex member site like we have with Social Media Marketer you may want to consider a more powerful alternative.

      I can’t say much about Vimeo. But if you’re thinking it’s a better alternative to Wistia I say go for it. I’m far from a staunch Wistia fan.

      We used to run Digg Digg for sharing but switched to Flare within the past year. DD was giving us problems and Flare looks much nicer. They are releasing a premium version soon. All of your count data should switch fine!

      • Matthias, thanks for your help.
        Premise – Your comment came under the category of “don’t know what I don’t know”. Don’t know enough to pare prospective tech into simple/complex membership sites. Makes sense. This leads me to a request: could you or someone at LKR post information about how we bootstrappers can evaluate potential tech resources without taking so much time or making huge mistakes that we derail our business? I find that figuring out tech processes for each new project is the biggest time-and-energy sucker & risky part of my business.
        Vimeo/Wistia: I don’t use either, as I’m trying to avoid monthly expenses. Currently my (very few) videos are hosted for me on someone else’s S3 (is that correct? the Amazon cloud) cloud.
        Flare/Digg Digg: I’m switching today. I have always disliked the way DD looks (messy). I love Flare’s look. Thanks for the reassurance about the data transfer.
        Again thanks.

  11. LOVE this post, Matthias!! Thank you and yes, please keep this coming.. I look forward to trying out some of these soon!

  12. What a fantastic post – I think you may have just evaporated a huge stumbling block I had with a project for a client.

    Definitely write more of these!

    • Actually, maybe I’ll just tack on a question.

      Have you had any luck using WordPress (or a plugin) to pull submission form data from it’s own sql database? In other words, a form could query a list of customers/donors that a user could search through, then fill in other relevant information for a ticket or event. Basically, a way for agents to add data for individual events, with fields that pull from database tables (custom fields maybe?)

      • Sounds like custom fields are what you need. For example, each event might have a field for venue, city, headliner, and date. Then you could build the site so a visitor could filter or search by those fields. There are a handful of good plugins around for tickets/events that might already include all of this.

  13. Thank you for a very detailed explanation of how you make all this online stuff work. This article was very helpful! Keep it coming.

  14. Sherry Borsheim says:

    As I’m about to make major decisions on switching all my business platforms today, I re-read this article. Wow, there is a WEALTH of very important information in this article for how you make your membership site, plugins, blog and websites all work together. This is the kind of nitty gritty details I need to know when changing online tools because there are soooo many little important details that are not communicated when looking to purchase a pn online tool. Thesis is the best article I’ve read on how a successful business makes it all work on the back end without leaving out the important tidbits that can drive a business owner crazy when trying to make all these tools work together smoothly. So thank you!!!!

    On that note, does the new Optimize Press 2.0 solve some of the issues you mentioned above for membership sites, videos and eliminate extra plugins?