Best Practices For a First WordPress LMS with LearnDash

learndash-decisionsWe help small and large businesses create WordPress-powered Learning Management Systems. While every business might come to us with different needs, everyone’s early questions tend to have similar themes. Is a WordPress LMS the right fit for my needs and program? How can I deliver a great learning experience? We thought many of our answers to questions like those would be of interest to a wider audience, so this post captures what we generally recommend for WordPress LMS projects.

Before jumping into any WordPress LMS project, we always make sure that WordPress is the right fit. It’s definitely the wrong choice for many projects! For programs with fewer than 100 users, a cloud LMS can be more cost-effective. I personally find that a WordPress LMS (like LearnDash or Sensei) works best for self-directed, linear elearning programs. Courses with a lot of video, text, images and downloads fit well, and it’s best for programs with relatively simple needs.

Facilitated programs can work in a WordPress platform, and we’ve created and seen examples of some that are quite effective. Tin Can support is available, and while we have created several programs that rely on an LRS, I’m never thrilled with the outcome. My strong preference, if Storyline, Captivate or Lectora content needs to be embedded inside WordPress, is to embed only and not track anything inside those modules. Rely on LearnDash (the LMS plugin we use most) for tracking and assessment rather than Tin Can, and generally speaking, simpler programs are better with LearnDash, unless you have some development expertise. If you don’t understand most of this paragraph, that’s a good thing, because it likely means your needs are probably simple and a better LearnDash fit!

Once you’ve determined whether or not a WordPress LMS seems like the right fit for your program, spend some time thinking about the learner experience you want to achieve and what the platform needs to do. There are a lot of things that LearnDash can’t handle well out of the box, even with integrations—group licensing, extended reporting, handling multiple course authors and programs where continuing education credits are issued come to mind. These types of things require professional assistance, and even then, there may be better platforms.

It’s also important to consider whether your course structure fits within the LearnDash model. For most uses, LearnDash effectively has a 3-level course structure: courses at the top, then lessons, then topics inside lessons. I like to see courses where materials can be divided up into 2-5 minute segments, which become lessons and topics inside LearnDash. Keep in mind that LearnDash only tracks whether or not users complete a lessons or topic, not what they do inside it (unless it’s a quiz). So if your course consists of a series of 1-hour videos, users are going to find it painful when they discover they can’t resume videos in later visits. By keeping pages brief and focused, it’s much easier for users to tackle programs across sessions and to feel like they’re making progress. LearnDash is a much better fit for courses that can chunk information as I’ve described.

Of course, since I’ve said that LearnDash works better with simple programs that don’t have a lot of interactivity, how do you make courses engaging and promote knowledge transfer? Well, even if you stick to simple media and interventions, you can still push them to deliver an effective learning experience. Videos work well inside LearnDash. If you have great videos to work with, you’re definitely a step ahead. Use short quizzes liberally to promote reflection and self-assessment. Get some great images and diagrams in there! We have an in-house designer for that purpose, but even if you don’t, stock photo sites like Depositphotos can be a great source of media. Try to mix things up and appeal to a variety of learning styles. We try to build programs that mix video, text, printable files, quizzes, infographics, diagrams, suggestions for offline activities, surveys and more. Since WordPress is extendable with plugins, it means we can also easily add interactive elements, like images with hotspots, games, awards for completing activities, and even social elements. For one of our sites we even created a virtual study group system!

Many of the businesses we partner with are familiar with WordPress, and sometimes unlearning the blog-centric view of WordPress is important. On a typical WordPress site, most people aren’t signed in when they use it. With LearnDash, the signed-in experience needs at least as much consideration as the public experience. A lot is different—typically menu items, navigation, and access to pages and resources will be modified for signed-in users. While anonymous visitors are typically directed through a sales funnel, signed-in users should have easy access to program materials. It’s important to think about both experiences (and, on many larger sites, the experiences of different user roles and groups).

The signed-in experience also introduces a lot of hosting considerations that are easily overlooked. It’s harder to cache LearnDash sites because pages are customized to the user. They tend to be more complex and CPU-heavy than typical WordPress sites. We only host client sites on managed WordPress hosts like WP Engine. We’ve simply had too many issues on shared hosts and VPS systems, and saving $20 per month is never worth the risk or inconvenience. Moreover, we love having a phone number to call for immediate help and having to worry less about security and backups.

Once you’ve settled on LearnDash, a vision for the platform and the infrastructure, choosing a solid theme and plugins are extremely important decisions. Before I talk about what we generally use, I’ll add some qualifiers. Yes, we know that for performance and stability reasons custom themes and code are the preferred way to go. We know that our typical platforms are “wrong” to WordPress purists. We do go heavier for several reasons:

  • Client ease of use and flexibility are huge for us. We want people in there designing new course materials without having to remember shortcodes or going through us. We want people to feel empowered by the platform, not enamoured with the front end but unable to make changes themselves.
  • We don’t want people to feel like they’re stuck with Uncanny Owl. We want to earn that ongoing relationship, not force it. That’s why we like commercial support from paid plugins and themes, big user communities, regular updates, etc. Our client sites are safe no matter how involved we are in future. Yes, we do a lot of customizations for platforms, but that doesn’t mean we need to reinvent the wheel for everything we implement.

With that model in mind, we do make use of commercial themes. Right now we like Total for new LearnDash platforms. Yes, it’s heavier than it needs to be for most sites. But it also gives people a lot of control without the risk of breaking things, and it plays nicely with LearnDash. It’s also reasonably developer-friendly.

We do use several plugins consistently on LearnDash sites. Since this invariably comes up in discussions with LearnDash users who are trying to do things themselves, here are the plugins we find particularly valuable:

Content Aware Sidebars – To segregate widgets between LearnDash and non-LearnDash parts of websites.

Gravity Forms – Because basic forms and LearnDash quizzes usually aren’t enough, and there are some interesting ways to incorporate forms for feedback, evaluation, reflection and more.

Nav Menu Roles – To manage menus based on signed-in state and role.

WooCommerce – Our ecommerce standard because we can make it accommodate almost any scenario.

We do have a lot of other recommended plugins (and lots of in-house ones) but we’ll save those for another post. The ones above make it onto almost all of our LearnDash sites. One thing to keep in mind with plugins is to try to only use the plugins you absolutely need. Yes, we know it’s tempting to experiment and add features, but they do slow things down and increase risk.

Once you’ve settled on all of the pieces described above, you’ll have all of the fundamentals in place to build an engaging and efficient platform. We hope this post helped to point you in the right direction!

author avatar
Ryan Moore Director
Ryan Moore (MA, PMP, BCom) is the Cofounder and Director of Uncanny Owl, creators of Uncanny Automator and a suite of popular add-ons for LearnDash. Since 2013, Ryan has helped thousands of companies add elearning and automation capabilities to their WordPress websites.
17 replies
  1. Slava
    Slava says:

    Thanks for that interesting article. I also work with LD plugin and Event Espresso for offline training sites. I spent a lot of time choosing the right theme but eventually chosen Avada as the most selling (popular) one. It looked like Avada can do anything but currently I struggle a bit when dealing with custom post type elements like courses or events.
    You have mentioned a Total theme. Have you chosen it over Avada for some reason I just picked up the theme that is versatile enough for your needs?

    • Ryan Moore
      Ryan Moore says:

      Hi Slava,

      Thanks for the comment!

      We’ve used LearnDash with a lot of different themes and frameworks, including Avada. We don’t have anything against Avada, and we haven’t experienced any significant Avada-related challenges on WordPress sites that use it (Total has just been easier to work with for development and for clients). If you’re having issues with custom post types in Avada, you probably will with any theme; we expect to drop in code for things like extending page setting metaboxes and editors to LearnDash post types on every site.

      We have definitely had challenges with Event Espresso, which you also mentioned. When possible we try to use The Events Calendar Pro instead. We rarely see businesses needing to tie events to course access (which requires EE4), and The Events Calendar Pro has been a lot easier to integrate into sites.

      • Slava
        Slava says:

        Thanks for your reply. Event calendar Pro is a nice plugin but it lacks functionality of registrations (at least out of the box) and as you mentioned integration with LD.

        Integration between EE and LD itself maybe not that much needed but it allows further intergrade EE with Buddypress via LD that can result in quite interesting social offline training sites.

        If you have any experience in socializing and gamifying your learning projects you can share, it could be very interesting topic for you next blog article 🙂

        • Ryan Moore
          Ryan Moore says:

          Thanks Slava. Yes, WooCommerce Tickets for Events Calendar Pro is an add-on, but we like that it means a single ecommerce platform sitewide. There are a lot of other reasons we prefer Events Calendar (code, support and look & feel come to mind), though integrations are certainly nice.

          We’ll certainly consider something about gamification and social learning in future.

          • Slava
            Slava says:

            Thanks for the option with WooCommerce.

            My main objectives was to solve the following task:
            Each month a training company runs offline 2-days trainings on the three different subjects. And they want to provide on-line post-training forum support to all who attended the training but separate students into three groups based on the training subject.

            So I link multiple events to three online LD courses which are linked via Buddypress plugin to 3 private Groups with forum. So as soon as a person registers for the event it gets access to one of the private forums.

            I do not think I can get this functionality without EE+LD.

  2. tomas angelo
    tomas angelo says:

    Hi man, thank you for the article..If you want, I can share my experiences too… I have been using for already two years and I cant say any cons. I really love no need paying any fixed monthly fees and great level of support – you can use forum, e-mail and you will get an answer in a few minutes. Moreover, great videos will help you to orientate in this elearning platform.

  3. Craig Kiessling
    Craig Kiessling says:

    Great article. Working on a site that’s WP+LD+BuddyBoss+Boss+SocialLearner and some other things.

    In looking at the usual plug-ins y’all use, it seems that a couple of them would now be off the lest, with your newly-released (and just installed on my site ;)) Toolkit plugin! 🙂

    • Ryan Moore
      Ryan Moore says:

      Thanks Craig, great point! Use of our Toolkit plugin should reduce the number of plugins that are needed on a LearnDash site, and some of the ones mentioned above may not be needed with the Toolkit. Nav Menu Roles is one, but keep in mind that our version is much simpler and not as capable (by design). Ours just allows admins to change menu entries by signed-in state, not role. That’s sufficient for most users, which is why we built the lighter alternative, but some people will still need the extra features of Nav Menu Roles.

  4. Gardner
    Gardner says:

    Thanks so much for this helpful overview! One follow up question: I want to use LearnDash with Articulate Storyline. I like the clean look of limiting a lesson’s page to one embedded Storyline I-frame with no other content in the lesson other than this. I had hoped to integrate the Storyline quizzes and other interactivity (especially completing the lesson) via TinCan/LRS. But you cautioned against this. Should I look at a different LMS other than LearnDash? Or is there a workaround? Other things to consider?

    • Ryan
      Ryan says:

      You should always consider whether or not LearnDash is the right fit. We steer people in other directions all the time. I personally don’t like seeing a lot of Storyline inside LearnDash (especially with the mobile experience), but you can do it and you can certainly capture results. It’s just cumbersome and reporting can be difficult. You won’t have better luck with any other WordPress LMS, but you could certainly look at cloud options that handle Tin Can natively. Several even have WordPress plugins.

  5. Jerome Clatworthy
    Jerome Clatworthy says:

    Great Article!

    I too am looking at how to utilise Storyline modules within Learndash.

    In cases where you embeded the file (rather than try and track with Tin Can), what was your approach with the ‘Lesson Complete’ button?

    Did you leave it apparent the whole time, so people you could past the module without going through it? Or did you put a timer on to hide the button?

    Such a tricky issue, and my only frustration with Learndash.

    Many Thanks,


  6. Silke R
    Silke R says:

    Which LMS would you recommend if courses are NOT ‘knowledge transfer’ but rooted in social constructivism with lots of learner interaction discussing the topic WITHIN the private course (not on public social media)?

    • Ryan
      Ryan says:

      This is certainly an old article and a lot has changed, but one thing that hasn’t is that we still unfortunately only work with WordPress-based solutions. As such, we can’t really recommend another LMS because we don’t use them, and instead would look at ways to deliver what you want with LearnDash and WordPress. Since this article was written there have been several LearnDash plugins released that make group discussions easier, that enable provide social sharing and more. We don’t offer them ourselves, but you’ll find several vendors in the space.



Please note that this is not a support forum. If you are experiencing issues on your site, please open a support ticket instead. Site-specific support questions submitted as comments will be unanswered.

Leave a Reply

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