REIGN

13 min read · 2,658 words

Language Exchange Partners Online: Matching, Conversation Sessions and Etiquette

Language exchange illustration with Hello and Hola speech bubbles over a globe and a session calendar

A language exchange works because two people each have something the other wants. One speaks Portuguese and wants to practise English. The other speaks English and wants to practise Portuguese. Everything a site has to do follows from that simple trade: help the right two people find each other, give them a place to talk, and keep the arrangement fair so neither person quietly drops out.

This guide is about peer practice, not teaching. There are no lesson plans or graded courses here, just members who learn by talking to each other. The stack is BuddyNext for profiles, spaces and messages, Eventonomy for scheduled conversation sessions, and Jetonomy for the “how do I say this” questions that deserve a lasting answer, all running on the Reign theme. Each is free to install from the Wbcom store, and anything that needs a Pro plan is labelled as such.

One expectation to set early: none of these plugins includes an automatic partner matcher. There is no algorithm that reads two profiles and pairs them. What you build is a set of good signals on each profile, a search that uses them, and a few shared rooms where people meet naturally. That is less magical than a matching engine, and in a small community it usually works better, because members choose each other.

Matching starts with what members write about themselves

If a profile only shows a name and an avatar, nobody can tell whether a stranger speaks the language they are learning. Fix that at sign-up, not later.

BuddyNext lets you build profile field groups and mark individual fields to appear on the registration form, so members answer before they ever reach their profile. The free field types include short text, dropdown, radio buttons and multi-select, which covers the questions a language exchange needs:

Profile question Suggested field type Why
Languages I speak natively Multi-select A person can have more than one
Languages I am learning Multi-select Same reason
My level in the main one Dropdown Keeps answers comparable
Time zone or usual free hours Short text Free wording is fine here
Topics I like talking about Short text Gives a conversation starter

Two settings do the real work. Tick Include in search on the fields people will look each other up by, so typing “Japanese” in the member directory or site search finds everyone who listed it. Short text, long text and the choice types (dropdown, radio, multi-select) can all be flagged searchable. Then check each field’s visibility: a searchable field only matches for the audience that can see it. A Public field matches for anyone, a Members only field matches for signed-in members, and a field limited to followers or connections never matches in search at all. If a field exists to help strangers find each other, keep it Public or Members only.

What the directory can and cannot filter

Be honest with yourself about this part, because it shapes how you design the rest. The free member directory has a search box, a sort menu, an online-only switch, and a filter by member type. A searchable profile field adds to the search box but does not add a dropdown filter to the directory. The Pro advanced filters narrow by membership plan, space, label, join date and recent activity, not by profile field.

Member types are limited too, because each member can hold only one. That rules them out for languages. If you want a type at all, use it for something every member has exactly one of, such as “Conversation host” for the volunteers who run sessions.

So the practical route to “find me someone who speaks Spanish” is search plus spaces, which the next section covers.

Spaces as the meeting points

Create one space per language you want to support, and give each space a category. BuddyNext draws its sign-up interest chips from your space categories, so a new member ticks the languages they care about while onboarding. Those picks do not hide anything, but they raise matching spaces in suggestions, raise those spaces’ posts in the For You feed, and rank members who share the same interests higher in people suggestions. That is the closest thing to automatic matching the stack offers, and it comes with no configuration beyond creating well-named categories.

A few space ideas that tend to fit this kind of site:

  • One Open space per language, for introductions and casual practice posts.
  • A space for complete beginners, so nobody feels they are holding up a more advanced group.
  • A short-lived space for a topic, such as a shared reading list or a film night discussion.

The post composer supports polls, which suit questions like “which evening works for the next session”. Keep the first version small. Four well-used spaces beat twelve empty ones.

From finding someone to talking to them

Once a member finds a possible partner, the path is: follow, then message, or send a connection request if you have connections switched on. Direct messages run on the WPMediaVerse companion plugin, and BuddyNext shows the controls. Two settings matter for an exchange site:

  • Who can send messages. You set the most open level for the whole site: Everyone, Followers only (others land in a Requests folder), People the member follows back, or Nobody. Each member can choose that level or a stricter one. For a site full of strangers, Followers only is a sensible default, since it turns a cold message into a request the person can accept or ignore.
  • Minimum account age in days. Accounts younger than your threshold cannot send messages. This slows down drive-by spam.

Every member can also block, mute or report someone from the card menu, and a block works in both directions. Our community moderation guide covers how to run the reports queue, so this guide will not repeat it.

A first message that works

Give members a template in your welcome post. It does not have to be elaborate: say who you are, name the language you can help with, name the one you want to practise, suggest a time window, and propose a first short call. A message that asks for a specific 20 minutes is much easier to answer than “want to be language partners?”

Conversation sessions with Eventonomy

Direct partnerships suit people who click. Scheduled group sessions suit everyone else, and they give shy members a way in. Eventonomy’s free plan covers most of what you need.

The recurring weekly table

Create a session once and set Repeats to Weekly, with an interval of 1. Every date shows on the calendar. One RSVP covers the whole series: a member registers once and is on the list for every date, and the event page lists the upcoming dates for information rather than as a date picker. If people need to book single sessions, create those dates as separate events. The free plan handles Daily, Weekly and Monthly rules with an interval; Yearly and the more advanced patterns need Pro, which you will not need here.

For each session:

  1. Set a Capacity. Small groups work better for speaking practice than crowds.
  2. Switch on Waitlist when full. When someone cancels, the oldest waitlisted person is promoted and notified.
  3. Add custom RSVP questions in the shared question bank, such as “Which language do you want to practise?” and “What level are you?”. Mark them required so the host can see who is coming before the call starts.
  4. Mark the event Virtual and add the meeting address. Each registrant gets a personal join link on the event page and in the reminder email, and the link stops working if they cancel. The meeting address itself is never shown on the page.

Members get reminder emails one day and one hour before, with no setup, and an Add to calendar row on every event page offers Google, Outlook and Apple options.

Time zones will break a global exchange if you let them

An exchange site is exactly the kind of place where a Brazilian and a Japanese member share a calendar. Two settings prevent most confusion. First, set your WordPress time zone to a city, not a plain UTC offset, because an offset cannot follow daylight saving changes. Eventonomy’s Setup and Health screen warns you if you have not. Second, under Settings, Appearance, set Timezone display to Both. Visitors then see the event’s own time and their local time when it differs. Emails and calendar files always use the event’s time zone, so mention the host’s city in the event title or description to avoid doubt.

Session formats worth trying

Format Group size How to set it up
Open conversation table Up to about 12 Weekly recurring event, capacity set, waitlist on
Beginner hour Smaller Same rule, with a “level” RSVP question and a clear description
Topic night Any One-off event with a tag such as “film” or “food”, so it can be filtered
Pairs round Even numbers Capacity set to an even number; the host assigns pairs live
Member-hosted session Host decides Members submit their own events, with approval turned on

Members can create events from the front end if you add the My Events dashboard or the event editor block to a page. Under Eventonomy settings you can require approval before submitted events publish, restrict creation to a minimum role, and cap how many events one member can create. Approval is a good default, so a new account cannot fill your calendar.

If you run BuddyNext Pro alongside Eventonomy, new events and “going” RSVPs also appear in the community feed, in community search, and on each member’s profile, and a space can have its own Events tab. Without Pro the calendar still works; members just find it through your navigation rather than the feed.

For more on repeat rules and virtual events in general, see recurring events that do not break and our guide to virtual and hybrid events.

A board for questions about the language itself

Chat is poor at storing answers. Someone asks why a sentence needs the subjunctive, three people reply in a feed, and the thread scrolls away within a day. A Jetonomy space set to the Q&A type fixes that. Every post is a question, replies are answers voted on independently, and the person who asked marks one reply as the accepted answer. The accepted answer’s author earns a reputation bonus, and the question shows an “Answered” badge in the listing.

Use it for:

  • “How do I politely say this?” and “Does this word sound rude?” questions.
  • Idioms and regional differences.
  • Pronunciation questions that people answer with a voice recording or a link.

Members add tags to each question, such as the language name, so a tag page gathers every topic about one language across spaces. The Unanswered filter shows moderators which questions still need help. For the difference between a forum, a Q&A board and an ideas board, see forum, Q&A or ideas board.

If you already run BuddyNext, install Jetonomy from BuddyNext, Platform, Add-ons with one click. A space owner can then switch on Discussion under Manage space, Integrations, and the space gains a Discussions tab with a live feed on one side and a searchable board on the other. Everything is free in both plugins for this use.

One more free Jetonomy feature fits this audience well. A private topic is visible only to its author and to moderators. A learner who is embarrassed to ask a basic question, or who wants to report a bad conversation partner without naming them in public, can use it.

A caution about answers: voting and reputation measure what the community agrees with, not who is a qualified teacher. A highly voted reply can still be wrong. Say so in your guidelines, and encourage members to say whether they are native speakers when they answer. If you use BuddyNext Pro, Member Labels such as “Native speaker” can mark that, but labels are assigned by you, so they only mean what you check.

Etiquette that keeps exchanges fair

Most failed exchanges fail for social reasons, not technical ones. Write the norms down and post them in your welcome space, then enforce them with the tools that already exist. Our community guidelines template gives you wording to adapt.

Norm Why it matters How the site supports it
Split time evenly between the two languages Otherwise one person ends up teaching for free State it in the first-message template and in session descriptions
Ask before correcting Constant correction kills confidence Put it in space house rules, shown on the About tab
Show up or cancel No-shows waste a partner’s slot Cancelling an RSVP promotes the next person on the waitlist
Keep it about language practice Unwanted romantic messages drive members out Followers-only messaging, block and report tools
Do not push people to other apps early Moving off-site removes your ability to help Say so in the rules and respond to reports
Be patient with beginners Nervous members leave first A beginners’ space and beginner sessions

The “no-shows” rule deserves a note. Waitlists make cancelling cheap, so make it the easy option: remind people in session emails that cancelling frees the place for someone else.

A sensible order for the first month

  1. Create the profile field group and put the language questions on the registration form.
  2. Create four or five language spaces with categories, plus the beginners’ space.
  3. Set messaging to Followers only and set a minimum account age.
  4. Publish your etiquette post and pin it as an announcement.
  5. Schedule one recurring conversation table and one beginner hour, with capacity and waitlists on.
  6. Add the Q&A space once members start asking things the feed cannot hold.
  7. Look at who actually shows up before adding anything else. The community metrics guide suggests what to measure.

If your learners later want structured lessons, that is a different build, covered by course-based guides rather than this one. For a related community where members also meet in person, see our guide to travel communities and buddy meetups. You can compare each plugin’s free and Pro scope on the free versus Pro page and browse the whole range on the plugins overview.

Frequently asked questions

Can the site match language partners automatically?

Not with these plugins. There is no matching engine. What you can do is collect native and target languages on the sign-up form, make those fields searchable, and use space categories as interests so that suggestions favour people who share them. Members then choose each other.

Can I filter the member directory by language?

The free directory filters by member type, not by profile field. Searchable profile fields do make the search box find people by their language, and the Pro advanced filters add plan, space, label, join date and recent activity. Spaces per language are the more dependable way to group people.

Do members need an account to join a conversation session?

You decide. Under Eventonomy’s registration settings you can accept guest RSVPs, where a person gives a name and email and receives a link to manage their RSVP, or you can require login so RSVPs belong to member accounts. Requiring login is easier to moderate.

How do I handle members in different time zones?

Set your site time zone to a city, then set Timezone display to Both so visitors see the event time and their own. Put the host’s city in the description as well, because emails and calendar files use the event’s time zone.

Can I charge for sessions?

Free RSVPs and free tickets are in Eventonomy’s free plan. Paid tickets, with Stripe, PayPal or WooCommerce checkout, need Eventonomy Pro. Whether paid sessions suit a peer exchange is a separate question, since the model depends on everyone contributing equally.

Do I need all three plugins?

No. BuddyNext alone gives you profiles, spaces and messages, which is enough to start. Add Eventonomy when you want scheduled sessions and Jetonomy when the same questions keep recurring.

Reading
13 min · 2,658 words
Published
Jul 21, 2023
Shashank Dubey
Reign contributor

Writing about WordPress communities, BuddyPress, BuddyBoss, LMS plugins, and the business of paid communities.

Keep reading

More from the Reign blog

Browse all posts on community, WordPress, BuddyPress and the studio of plugins behind Reign.

What customers say on Trustpilot

Swift and expert coding!

Swift and expert coding by Kerit to apply a personalised display adjustment on the Reign Theme for a media plugin that was not fully supported at the moment.

RussellGB