A language course has a problem that most online courses do not: you cannot learn to speak by watching videos. Learners need structured lessons that build on each other, and they also need other people to talk to, at a level that is not frightening. A site that offers only one of those loses students either way. They either finish the videos and cannot hold a conversation, or they join a chat room and drown.
This guide is for a language school, a tutor or a small academy that teaches in courses and wants the speaking practice to live on the same site. The stack is Learnomy for lessons and quizzes, BuddyNext for practice groups, and WB Gamification for progress levels and daily streaks. Reign is built to work with BuddyNext and every Wbcom plugin, so the whole site shares one design. Learnomy and BuddyNext each have a free version, and WB Gamification has no paid plan at all. Anything that needs Pro is labelled.
One boundary before we start. This guide is course-based: a teacher sets the path and members follow it. If you would rather run a site where members find a native speaker and swap practice with them, that is a different build, covered in the language exchange guide.
Build the catalogue around levels
Learners want to know one thing before they pay: is this for me? Make the answer obvious.
Create one Learnomy course per level and per language, and use the three tools that help a visitor choose. Each course can carry a difficulty badge (Beginner, Intermediate, Advanced or Expert) and a short “who this course is for” note. Categories and tags organise the catalogue, so one category per language lets a visitor browse only the one they want. And any lesson can be marked as a preview, which lets a visitor open it without enrolling. A visitor sees every lesson listed with a padlock, so they know what they get, while the preview lessons give them a taste.
If you want to use the common six-step proficiency scale that runs from A1 to C2, put it in the course title and description yourself. Learnomy’s difficulty badge has four values, so it will not carry six.
| Question a visitor asks | Where the answer lives |
|---|---|
| Which language and level? | Course title, category and difficulty badge |
| Who is it for? | The target audience note on the course page |
| What does a lesson feel like? | A preview lesson |
| What will I be able to do? | A short outcomes list in the description |
| What does it cost? | Course price, membership plan or both |
Pricing without WooCommerce
Free Learnomy includes Stripe and PayPal checkout, coupons and membership plans. A membership plan can bundle a set of courses or the whole catalogue, billed monthly or yearly, with an optional free trial. That fits language learning well, because learners move up levels and a subscription covers the climb. Turn the Membership module on first, because it ships switched off. You can also sell single courses for a one-time price and let a member keep a course their plan includes if they cancel, provided you also sell that course outright.
Lessons that fit how languages are learnt
Learnomy gives each lesson a content type, and several of them are made for language.
| Skill | Lesson type or tool | Notes |
|---|---|---|
| Listening | Audio lesson with an inline player | Upload recordings; files on your site are served only to people entitled to the lesson |
| Watching a conversation | Video or Embed | Paste a YouTube or Vimeo address |
| Reading | Text, with a passage above a quiz question | Question stems can carry a formatted passage or scenario |
| Vocabulary and grammar | Quiz | Fill-in-the-blank, multiple choice, true or false, short answer |
| Writing | Essay question, graded by hand | Free |
| Speaking | Live lesson, or an assignment with an audio link (Pro) | See below |
| Reference sheets | PDF or Download | A verb table students can keep |
Quizzes that mark themselves
Free quizzes grade automatically for every type except essays. Short answer questions compare the typed reply against the accepted answers you list, ignoring case. Add each acceptable variation as its own row, including alternative spellings, because anything you do not list is marked wrong. Each quiz runs in graded, practice or survey mode. Practice mode still scores the attempt so learners see how they did, but it never holds up course completion. Use it for the weekly vocabulary check and graded mode, with a passing percentage, for the end-of-level test.
Learnomy Pro adds more question types, including matching and ordering, which suit sentence building, and per-question timers. It also adds random question pools, so retakes do not repeat the same test.
Speaking homework
Speaking is the hard part to assess online. Two routes work.
The free route is a live lesson. It holds a Zoom, Meet or Teams join link, a start time and a duration, and the Join button stays available for that long. The start time is read in your site’s time zone, so write the zone into the lesson text for learners abroad.
The Pro route is an assignment. Learners can paste an audio or video link, or upload a file up to the size you allow, and you reply with a score and written feedback. You can score against weighted criteria that you name yourself, such as fluency and accuracy, so feedback is consistent from one learner to the next. Due dates are enforced in the site’s time zone, and you can ask for a resubmission.
Evergreen or term-based
A language school has to decide between two shapes. An evergreen course lets people join any day and move at their own pace. A term runs for a fixed period with a start date, a group, and a teacher.
Both are possible. For evergreen, free Learnomy releases lessons on a fixed date you set per lesson, and Pro adds a countdown that starts when each learner enrols, so every learner gets the same spacing from their own start. For a term, Learnomy Pro cohorts run the same course in scheduled batches with a seat cap, and an instructor dashboard flags members who have done nothing for more than ten days or who are well behind the cohort’s schedule. Enable these Pro modules under LMS Settings first, as they ship switched off.
Speaking practice groups
Courses teach. Groups let people use what they were taught. This is where BuddyNext comes in.
Create one BuddyNext space for each practice level in each language. Name them plainly, such as “Spanish beginners practice”. Decide the privacy once. An Open space lets anyone find it and join in one click, which is right for a free taster group. A Private space is listed but needs approval, which suits paying students only.
With BuddyNext Pro, Learnomy can build and fill the groups for you. Switching on Learnomy’s Community control for a course creates a private BuddyNext space named after the course, and students are added when they enrol and removed if their access ends. A space that BuddyNext creates this way follows the roster exactly. If you link a space you already run, BuddyNext only adds members and never removes them. Without Pro, a space owner or moderator approves requests by hand.
What a practice group does each week
An empty group is a dead group, so give the facilitator a weekly routine to run:
| Format | Suggested size | What happens | Where it lives |
|---|---|---|---|
| Topic of the week | Whole group | A pinned post sets a question; members reply in writing, or paste a link to a recording hosted elsewhere | The space feed |
| Read-aloud thread | Whole group | One short text; members record themselves and share a link | The space feed |
| Small-table conversation | Four to six | A scheduled video call with a teacher or a stronger learner as host | A Learnomy live lesson, or an Eventonomy event |
| Poll for next week’s topic | Whole group | Members vote | A BuddyNext poll |
Group sizes are suggestions from teaching practice, not plugin limits.
BuddyNext polls are free, and a member can pin one post to their own profile in the free plan. Direct messages run through WPMediaVerse, so install it and turn Messages on if learners will contact tutors that way. For scheduled calls that sit outside any single course, Eventonomy offers recurring events with RSVPs and a waitlist, and a virtual event gives each registrant a personal join link. Surfacing those events inside BuddyNext needs BuddyNext Pro.
Progress levels and streaks with WB Gamification
A learner on day twelve of a hard module needs a reason to log in on day thirteen. WB Gamification supplies it without a single line of code, because it detects Learnomy actions on its own and awards points for them.
What earns points
These are the default values, and you can change each one under the Points screen.
| Learnomy action | Default points |
|---|---|
| Enrol in a course | 5, with a daily cap |
| Complete a lesson | 10, with a short cooldown against rapid-fire clicking |
| Pass a quiz | 25, only for passing attempts |
| Earn a certificate | 50 |
| Complete a course | 100 |
| Review a course | 8 |
Learnomy Pro adds points for submitting an assignment and joining a cohort.
Levels
Points build up to levels. WB Gamification starts with five named steps and you can rename them, add more and move the thresholds. A member’s level comes from points they have earned, so spending points on rewards never lowers it.
Here is the point that matters for a language school. A points level measures activity, not ability. If you call a points level “B1”, learners will believe they have reached B1, and you will have claimed something your system never tested. Name the points ladder after effort, with steps such as Starter and Regular. Let the proficiency claim come from what you assess: a graded end-of-level quiz, a teacher-marked speaking assignment, and the course certificate.
| What you want to show | Measured by | Tool |
|---|---|---|
| Effort and consistency | Points, streaks, badges | WB Gamification |
| Ability at a level | Graded quizzes and teacher marking | Learnomy quizzes and assignments |
| Completed course | Completion rule | Learnomy certificate |
Streaks
A streak counts consecutive days on which a member earned at least one point. A one-day grace period is on by default, so one missed day does not reset it, and you can set the grace period between zero and three days. Milestones at 7, 14, 30, 60, 100, 180 and 365 days award bonus points. Streaks follow the member’s own time zone, which matters for learners across the world.
The streak counts any point-earning action, not only lessons. If you want it to mean “studied today”, switch off the actions you do not want to count on the Points screen, since a disabled action earns nothing. The docs also suggest disabling the daily login bonus if you want a single unified streak. Test it with a spare account before launch. A block for the streak can show the count and an optional 90-day activity heatmap on a member’s page. For ways to design streaks without making learners anxious, see the streaks and challenges guide.
Badges and leagues
Badges award on a points milestone or after an action has happened a set number of times, such as completing ten lessons. Weekly cohort leagues put members in small groups of similar activity so a newcomer is not ranked against someone who has been studying for a year. Leaderboard visibility is optional for each member, who can opt out from their notification preferences. Offer both, but do not force them on learners who find ranking stressful.
A placement quiz and a first week
New learners often pick the wrong level. A standalone Learnomy quiz can work as a placement test. Leave its course empty and it lives at its own address instead of inside a course. Write twenty or so questions that climb in difficulty and use the score to recommend a level. Open the address in a private browser window to check whether visitors who are not signed in can take it, and ask for sign-up first if they cannot. A teacher should still make the final call by message.
Then give the first week a script:
- A welcome post pinned in the level’s practice space
- A short introduction thread, asking each member to write two sentences in the language they are learning
- The first lesson with a preview of the week ahead
- A reminder of the weekly practice time
What costs money and what does not
| You want | What you need | Cost |
|---|---|---|
| Lessons, audio, quizzes, certificates, checkout, memberships | Learnomy | Free |
| Cohorts, countdown drip, assignments, advanced questions | Learnomy Pro | Pro |
| Practice spaces, polls, profiles, feed | BuddyNext | Free |
| Course and certificate cards in the feed, auto-filled course spaces | BuddyNext Pro | Pro |
| Points, streaks, badges, levels, leaderboards, leagues | WB Gamification | Free, no Pro plan |
Browse the plugins overview or read the free versus Pro comparison to see how the products fit together.
Frequently asked questions
Does Learnomy have audio lessons?
Yes. An audio lesson plays in an inline player. Files you upload to your own site are protected so only entitled learners can open them.
Can learners record their speaking and submit it?
With Learnomy Pro assignments, a learner can upload a file or paste an audio or video link, and you grade it with a score and feedback. In free Learnomy, use a live lesson for speaking practice and an essay question for writing.
Do I need Pro to group learners by level?
No. Levels are just courses, categories and spaces, which are all free. Pro matters for cohorts, assignments and automatic space membership.
Is WB Gamification a paid add-on?
No. It has no paid plan. Every mechanic, including streaks, badges, levels and leagues, ships in the free plugin.
Can a points level prove a learner reached a language level?
No, and you should not present it that way. Points show activity. Use graded assessments and your course certificate to show ability.
Does the streak respect a learner’s time zone?
Yes. Streaks use the member’s own time zone, and fall back to the site’s time zone if they have not set one.