Guest Post by Convesio
Scale LMS on your mind?
Have you considered what would be involved in scaling your LifterLMS site? LifterLMS is a powerful way to create and sell online courses using WordPress. However, as your audience grows, you might encounter performance bottlenecks, particularly if you haven’t optimized your WordPress installation to handle high-traffic events.
In this article, we’ll explore advanced techniques to scale your LMS effectively, ensuring that your customers and students have a great experience with your courses.
Key Scale LMS Takeaways
Scalability Definition: Understand what scalability means in the context of website hosting, specifically how your site can handle large traffic surges without slowing down or going offline.
- Importance for LMS Sites: Recognize the critical importance of scalability for LMS sites due to factors like customer retention, brand image, managing live events, and focusing on business growth rather than technical issues.
- Actions for Scaling:
- Plugin Management: Reduce unnecessary plugins, especially during high-traffic events.
- Caching: Implement caching plugins like W3 Total Cache, WP Rocket, or WP Super Cache to improve page loading times.
- Automation: Automate processes like support FAQs and email marketing to save time and resources.
- Hosting: Choose a reliable and scalable hosting provider to handle traffic spikes effectively.
- Host’s Role in Scaling: Look for hosts that offer optimized PHP versions, Opcache for improved PHP performance, increased database buffers, Redis and Object Cache Pro for efficient database operations, full page caching for non-logged-in users, and full page edge caching for reduced server load.
Table of contents
What does scalability mean?
Before we jump into the post, you might wonder: what does scalability actually mean? It’s something of a vague word that is used in a variety of contexts, and it is often unclear exactly what is meant to scale.
In the website hosting context, scalability refers to the ability of your website to scale resources up to handle large amounts of traffic in a short period of time.
For example, when you host a sales event for a new online course, thousands of people may visit your LMS website at once. If your website doesn’t scale, then it will slow down or go offline entirely – both of which are not good outcomes.
This kind of technical scalability directly relates to the more broad sense of scaling your business to handle growth. After all, if your eCommerce website can’t scale, then your eCommerce business can’t either!
Why does scalability matter for LMS sites?
As you can imagine, virtually every business should be concerned with the scalability of their eCommerce websites. However, there are four major reasons why LMS sites in particular should take note. Let’s briefly talk about each one:
- Losing customers because of a slow/offline site
- Brand impressions
- Handing concurrent users during a live event
- Focus on growing your business, not fixing tech problems
- Losing customers because of a slow/offline site. The single most important factor concerning scalability is its effect on your business’s bottom line. And there is no surer way to scare off potential customers – or lose current customers – than by having a slow website.
Even worse is a site that goes offline entirely, especially during sales events when potential customers are trying to buy a product.
As such, a scalable site is one that can handle all incoming visitors and process all orders, without significant slowdown and without going offline. - Brand impressions. This is an extension of the point above. Would you trust a company that can’t keep its website online? What about one with payment pages that load extremely slowly? Many consumers don’t, especially if this is the first time they’ve interacted with the business. Trust is very easy to lose online.
Keeping your website online and operating smoothly is thus a major part of brand management. Serious brands have scalable websites that can handle thousands of simultaneous users visiting at once. - Handling concurrent users during a live event. Many LMS sites hold live events, during which hundreds of thousands of customers visit the site at once. As we mentioned in the introduction, this poses a problem from a scalability perspective and is in fact one of the most common scalability issues faced by eCommerce sites. If your site isn’t prepared to scale, your customers won’t be happy, as they won’t be able to access the content they paid for.
- Focus on growing your business, not fixing tech problems. This may seem like an obvious point, but it’s an underappreciated one. If you’re running a LMS eCommerce business, your focus is probably on creating awesome content, marketing that content, and growing your business – and not on worrying if your website is working correctly.
Making your LMS site scalable can largely eliminate these kinds of technical problems, allowing you to focus on what’s important.
Things You Can Do to Scale LMS
So, now we know that scaling is important. But what can you, as an individual or small business running a LMS website, do about it? Quite a lot, in fact!
The first thing you’ll want to do is minimize the number of plugins activated on your WordPress site. Uninstall and delete anything that isn’t essential. If you’re like many WordPress users, you probably have a large number of older plugins and themes that you’ve experimented with in the past, but no longer use.
This is especially important during high-traffic events, so if possible, temporarily remove plugins ahead of holding a live course session or offering a major discount. You can always re-enable them after the event.
Next, you’ll want to implement caching. Put simply, caching is a method that preloads copies of your website so that they can be loaded more quickly by visitors’ browsers. Caching is widely used by websites that need to load their pages more quickly.
There are quite a few great caching plugins available for WordPress, including W3 Total Cache, WP Rocket, and WP Super Cache. By installing a caching plugin, you’ll make your site easier to load, especially during high-traffic times.
However, do note that caching is predominantly for public-facing parts of your website and not private ones, like dynamically generated account pages. More on that below.
As a third point, try to automate as many of your site’s processes as possible. This can range from writing a Knowledge Base or FAQ to handle first-level support questions, to automatically sending out new blog posts via an email marketing plugin – saving you the time and effort of sending it yourself. This kind of automation comes especially in handy during busy times, like annual sales events and live online lectures, when you don’t have the resources to answer support chat questions.
The last point, which is arguably the most important one, is to choose a good host. Unfortunately, there is a limit to how much you can do on your own. At the end of the day, the ability of your site to scale is ultimately dependent on your host.
A good host can handle scaling your site without much slowdown or crashing, while a bad – or merely negligent – one can drop the ball and let you down. As such, if you anticipate needing to scale your LMS site, take the time to properly investigate the potential hosting options to find one that has a good reputation.
What a Host Can Do to Help Your LMS Scale
How much your host can help – or is willing to help – scale your site depends on the host. Some hosts (like Convesio) will provide more resources and expertise to help you scale eCommerce sites. Other hosts are more hands-off and expect you to manually order and configure any resources you may need to scale.
If you’re looking for a host that can scale your LMS site, you’ll want to look for the following things. The list of items below is based on Convesio’s real-world toolbox, which we use to scale hundreds of our eCommerce client sites every day. Other hosts that offer scalability services will have similar toolsets.
- Optimized and updated PHP. Scaling your LMS requires being current. Older versions of PHP are slower, which means that your web server will run more slowly during high-traffic events. Aim for PHP 8.0 or 8.1, at minimum.
- Opcache. Opcache is a powerful tool particularly beneficial for high-traffic sites. In simple terms, Opcache improves PHP performance by storing precompiled script bytecode in shared memory. This eliminates the need for PHP to load and parse scripts on each request, which significantly reduces the server’s workload.
- Increasing Database Buffers. Scaling your LMS involves large data. One highly effective performance tweak is to increase the database buffers, specifically for MariaDB or MySQL databases. This technique involves allocating more buffer space to the database than its total size.
The logic behind this is straightforward: when you have more RAM (which is faster) and slower hard drives, by increasing the database buffers, you essentially allow most of the database operations to occur in RAM rather than on the slower disk. This can dramatically speed up database queries, which are a common bottleneck in LMS platforms, especially during high-load periods (like live course events.) - Redis and Object Cache Pro. For complex WordPress sites, including those running LifterLMS, leveraging Redis and Object Cache Pro is almost non-negotiable.
Redis serves as an in-memory data structure store, used as a database, cache, and message broker. When combined with Object Cache Pro, a persistent object cache backend powered by Redis, it significantly reduces the number of database queries required to render a page. This is crucial for LMS platforms where dynamic, user-specific content is the norm, and traditional page caching strategies fall short. - Full Page Caching for Non-Logged-In Users. Scaling your LMS requires speed. Most LMS sites require users to log in to access content. This poses a problem from a caching standpoint, as dynamic pages like the User Account page cannot be cached. However, there is still room for using a caching plugin on your site.
Large sales pages or course catalogs accessible to non-logged-in users can still benefit significantly from full page caching. By serving these pages as static assets, you can reduce server load and improve the site’s overall responsiveness. As we mentioned above, tools like WP Rocket or W3 Total Cache can help implement full page caching efficiently. - Full Page Edge Caching. Taking full page caching a step further, full page edge caching involves caching pages at the CDN (Content Delivery Network) edge.
This approach can virtually eliminate the load on your server for cached content, as the CDN serves the cached content directly to the user from the nearest edge location. However, this technology requires specific configurations and is not universally compatible, so you’ll need to see if your host supports it.
Scale LMS Conclusion
Scaling an LMS on WordPress with LifterLMS isn’t an easy process. But for sites that expect high amounts of traffic, it’s very much a worthwhile investment. “Scale-proofing” your site starts with reducing unnecessary plugins, using a caching plugin, and automating as many processes as possible.
At the more advanced level, choosing a host that implements advanced techniques like Opcache, Redis, and Object Cache Pro can significantly improve your site’s scalability.
Remember, the goal is not just to manage the current load but to future-proof your LMS for growth. For more information from Convesio on self-hosting an LMS – read more.