Skip to main content

How to Add Video Chat to a WordPress Site

· 10 min read
Creator of Better Messages

"Video chat on a WordPress site" can mean two different things, and the right tool depends on which one you need.

  • A meeting. Someone hosts a call at a set time and sends people a link: a webinar, a class, a consultation.
  • Members calling each other. The people on your site, members of a community, buyers and sellers on a marketplace, students of a course, start a video call with each other whenever they want, the way they already send each other messages.

Most WordPress video chat plugins are built for the first. This guide walks through every way to add video chat to WordPress, what each one takes to set up and to run, and which one fits which kind of site.

A group video chat on a WordPress site: four participants in a grid of camera tiles beside the conversation, with the mic, camera, screen sharing and hang-up controls along the bottom

The five ways at a glance#

WayBest forWhat people needWhat it costs
Send a Zoom or Google Meet linkScheduled meetings you hostThe app of that service, often an accountFree plans limit how long a group meeting lasts
Embed a video room on a pageOne fixed room on one pageA browserUsage billing from the video service above a free allowance
A meeting pluginMeetings and webinars created in wp-adminWhatever the service behind it needsThe plugin plus the service
Video calls inside the chat of your siteMembers calling each other, one-on-one and in groupsTheir account on your siteOne license, servers included
Build your own on WebRTCA product where video is the productA browserMonths of development and your own servers

The simplest way needs nothing installed. Create a meeting in Zoom, Google Meet or Microsoft Teams and put the link where people will find it: on a page, in a booking confirmation, in an email to members.

Good: everyone knows these apps, they handle large meetings and recordings, and there is nothing to maintain.

Not so good:

  • People leave your site for the call, and the meeting knows nothing about your members. Anyone with the link can join unless you set a passcode or a waiting room.
  • Members cannot call each other. Every call is a meeting that someone has to create and share first.
  • The free plans cap how long a group meeting can last.

Fits: a weekly webinar, a scheduled class, a consultation booked through a form.

2. Embed a video room on a page#

Hosted video services give you a room that you embed into a page with an iframe, pasted into a Custom HTML block. Jitsi Meet is the open source option, and Whereby Embedded and Daily Prebuilt are hosted services built for this.

Good: the call happens on your page, in the browser, with no app to install.

Not so good:

  • A room is a URL. Anyone who has it can join unless you build a sign-in on top, and the room does not know which of your members is in it.
  • Hosted services bill by usage, usually per participant minute, once you pass their free allowance.
  • The free public Jitsi server, meet.jit.si, no longer supports embedding. For an embedded Jitsi room you use Jitsi as a Service from 8x8, or run a Jitsi server of your own.
  • It is still one room on one page. A member cannot call a specific person.

Fits: a consultation page with one host, a support page with a "talk to us" room, a small team room.

3. A meeting plugin for WordPress#

WordPress.org has plugins that connect your site to Zoom or Jitsi. You create meetings and webinars in wp-admin and show them on pages with a shortcode, and some plugins add booking or calendar sync.

Good: meetings are managed where your content is, and some plugins tie a meeting to a course lesson or a booking.

Not so good: these are still meetings with a host, like the first two ways. Check when a plugin was last updated before you install it, because several video chat plugins on WordPress.org have not been tested with recent WordPress versions.

Fits: course platforms with live lessons, coaches who sell scheduled sessions.

4. Video calls inside the chat of your site#

This is what Better Messages does. Members already message each other on your site. With the WebSocket version, every conversation also gets a video call and an audio call button, and group conversations and chat rooms get group calls.

A one-on-one video call beside the conversation in Better Messages: the other person fills the call panel, a small preview of your own camera sits in the corner, and the mic, camera and hang-up controls line the bottom

What members get:

  • One-on-one video and voice calls in any private conversation. The other person hears a ring in the browser, and with web push on, a notification reaches them even when your site is closed. Calls go directly between the two browsers whenever the network allows, encrypted by WebRTC.
  • Group video chat for up to 32 people and group voice calls for up to 50, inside group conversations and chat rooms. Group calls can be encrypted end to end, and in Broadcast mode only moderators speak while everyone else watches.
  • Screen sharing during any call.
  • Calls on phones, in the mobile browser and in your own branded iOS and Android apps.

What you control:

  • Who can call. Call Restrictions lists the roles that cannot place calls, and Friends Only limits calls to friends on sites with a friends feature, such as BuddyPress.
  • Who can start or join a group call, by role, and for each chat room whether it has calls at all.
  • Guests. Visitors without an account can call too, when guest chat is on and they are part of the conversation.
  • A call button on any page. The [better_messages_video_call_button] shortcode puts a button for a video call with a given member on a profile, a listing or a sales page.

It works with the plugins your site already runs, such as BuddyPress, BuddyBoss, PeepSo, Ultimate Member, FluentCommunity, Dokan, WCFM, LearnDash, Tutor LMS, HivePress and Directorist, and members reach the messenger from the profiles, stores, courses and listings those plugins show.

Good:

  • Calls happen between people who already have accounts on your site, with the permissions you set, and without links to share.
  • The chat goes on during the call and after it. When a call ends, the conversation keeps a note that it took place and how long it lasted.
  • The video servers are included in the license. There is no Zoom, Twilio or Daily account to open, and video and sound never pass through your WordPress server.

Not so good:

  • Calls need the WebSocket version. The free version on WordPress.org has private messages, group chats and chat rooms, but no calls.
  • Calls are not recorded.
  • Group calls stop at 32 cameras. A webinar for hundreds of viewers needs a webinar tool.

Fits: communities and social networks, marketplaces, dating sites, membership sites, course platforms with office hours, coaching and telemedicine where clients have accounts.

5. Build your own on WebRTC#

Browsers have video calling built in through WebRTC, so building it yourself looks tempting. The browser part is the small part. You also need:

  • a signaling server that tells two browsers how to reach each other,
  • STUN and TURN servers for the many networks where browsers cannot connect directly,
  • a media server for any call with more than two people, such as LiveKit, mediasoup or Janus,
  • a call screen that works in every desktop and phone browser, and ringing for people who are not on the page.

Video APIs such as Agora, Daily, Twilio and Vonage run the servers for you and bill by the minute. Either way, you write and maintain the rest.

Fits: a product where video is the product, with a developer team behind it.

Setting up video chat with Better Messages#

  1. Install Better Messages from WordPress.org and activate it.
  2. Get a WebSocket version license. The WebSocket version is a separate download from your account, and it replaces the free version with all messages and settings kept.
  3. Activate the license in Better Messages → Account.
  4. Open Better Messages → Settings → Calls and turn on Video Calls and Audio Calls. Both are off on a new install.
  5. For group video chat, open Settings → Group Calls and turn on Group Video Chat for groups, conversations or chat rooms.
  6. Optionally, choose the roles that cannot place or join calls under Call Restrictions and Group Call Restrictions.

Your site must use HTTPS, because browsers give camera and microphone access only to secure pages.

Which way fits your site#

Your siteThe way that fits
Community or social network on BuddyPress, BuddyBoss, PeepSo or FluentCommunityCalls inside the chat
Marketplace or directory where buyers talk to sellersCalls inside the chat, with a call button on vendor or listing pages
Dating siteCalls inside the chat, so members talk face to face before they meet
Course platformGroup calls in the course chat for office hours, a meeting tool for large live lessons
Coach or consultantCalls inside the chat when clients have accounts, a meeting link when they do not
Company webinar for hundreds of peopleA webinar tool, not video chat

Frequently asked questions#

Is there a free video chat plugin for WordPress?#

Jitsi Meet is open source and free when you run your own Jitsi server, and some WordPress plugins connect to it. Hosted video services have free allowances. The free version of Better Messages covers private messages, group chats and chat rooms, and calls come with the WebSocket version.

Does video chat slow down my WordPress site?#

Not with Better Messages. Video and sound go between the browsers or through the media servers that come with the license, never through your WordPress server. Your site only decides who may join a call.

Can visitors without an account use video chat?#

Yes, when guest chat is on. A guest who is part of a conversation or a chat room can place and join calls, and the Guests entry in the call restrictions turns that off.

How many people can join a video chat?#

Two in a one-on-one call, up to 32 in a group video call and up to 50 in a group voice call.

Does video chat work on phones?#

Yes, in mobile browsers and in the iOS and Android apps you can build for your site with Better Messages.

Can I record calls?#

No. Better Messages does not record calls. If you need recordings, use a meeting tool for those sessions.

See also#

Install Better Messages from WordPress.org →