Integrate BigBlueButton with WordPress: Complete Setup Guide with Virtual Classroom Plugin

BigBlueButton Host
March 21, 202610 min read
Integrate BigBlueButton with WordPress: Complete Setup Guide with Virtual Classroom Plugin

WordPress Video Conferencing: Virtual Classroom Plugin Setup

BigBlueButton enables WordPress site owners to add professional video conferencing capabilities directly into their site. Students join meetings through WordPress pages, teachers manage sessions from the WordPress dashboard, and recordings display alongside course content.

This guide covers everything needed to install the Virtual Classroom for WordPress plugin, configure your BigBlueButton server connection, create meeting rooms, and manage the participant experience.

Prerequisites: Before Installation

1. A Running BigBlueButton Server

The WordPress plugin requires a separate, running BigBlueButton instance. You must have:

  • Server URL: The endpoint where BigBlueButton API is accessible (e.g., https://meet.example.com/bigbluebutton/)
  • Shared Secret: The authentication secret that authorizes API requests
  • Test Connectivity: Ability to verify the server responds to API calls

How to obtain these credentials:

If using Managed BBB Hosting: Your hosting provider's dashboard provides both URL and secret. Look for "API Credentials" or "Server Settings" section.

If self-hosting BigBlueButton: Run this command on your BBB server:

bbb-conf --secret

This outputs your shared secret. The server URL is typically: https://your-domain.com/bigbluebutton/

2. WordPress Site with Admin Access

  • WordPress 5.0 or later
  • FTP or file manager access (for debugging, optional)
  • Administrator account for plugin installation
  • SSL/TLS certificate (HTTPS required for secure credential storage)

3. File Permissions

Ensure WordPress directories have proper write permissions:

/wp-content/plugins/
/wp-content/uploads/

Step-by-Step Installation

Step 1: Install the Plugin from WordPress Directory

  1. Log in to your WordPress admin dashboard
  2. Navigate to PluginsAdd New
  3. Search for "Video Conferencing with BigBlueButton" or "Video Conferencing with BBB"
  4. Click Install Now on the official plugin by eLearning Evolve
  5. Click Activate Plugin

After activation, you'll see "BBB Rooms" appear in your WordPress admin sidebar.

Step 2: Configure Server Credentials

  1. In WordPress admin, navigate to BBB RoomsServer Settings

  2. You'll see two fields:

    • BigBlueButton Server URL
    • BigBlueButton Shared Secret
  3. Enter the Server URL:

    • Obtain from your BigBlueButton host or bbb-conf --secret output
    • Format: https://your-domain.com/bigbluebutton/
    • Critical: Include the trailing /bigbluebutton/ path—the plugin will not work without it
    • Do NOT include meeting room names or parameters
  4. Enter the Shared Secret:

    • Copy the secret from your BigBlueButton provider or bbb-conf --secret cmd output
    • Paste into the "Shared Secret" field
    • Keep this confidential—treat it like a password
  5. Click Save Settings

  6. Verify Connection:

    • The plugin displays a "Test Connection" button
    • Click it to verify server connectivity
    • You should see a success message indicating the server is reachable

Connection Test Failed? Skip to the Troubleshooting section below.

Step 3: Create Your First Video Classroom Room

  1. In WordPress admin, navigate to BBB RoomsAdd New

  2. Fill in the room details:

    • Room Title: The name students see on join pages (e.g., "Monday Algebra Session")
    • Description: Optional. Displays on the room's dedicated page
    • Room Settings: Leave defaults for now
  3. Click Publish to create the room

  4. After publishing, the plugin generates a unique token for this room

    • You'll see it listed under BBB RoomsAll Rooms
    • Copy this token—you'll need it for shortcodes

Step 4: Configure Room Accessibility

By default, anyone with the link can join. To restrict access:

For Member Sites:

  1. Navigate to BBB RoomsAll Rooms
  2. Click the room you created
  3. Scroll to Access Settings
  4. Set Access Level: Select your preferred restriction:
    • "Public" = Anyone with the link can join
    • "Private" = Only logged-in users can join
    • "Subscribers Only" = Specific member levels can join

For Role-Based Access (Teachers vs Students): This requires the Pro version or custom role plugins. Standard setup treats all participants equally.

Step 5: Add the Room to a WordPress Page

Option A: Dedicated Room Page (Recommended for Teachers)

  1. Navigate to BBB RoomsAll Rooms
  2. Click your room name
  3. The plugin creates a unique URL for the room
  4. Share this URL directly with students
  5. Recording displays on this page automatically after the session

Option B: Embed Room in Existing Page (Recommended for Courses)

  1. Navigate to PagesEdit (or create a new page)
  2. Click the + button to add a block
  3. Search for "BBB Rooms" or "BigBlueButton" in the block selector
  4. Add the block to your page content
  5. In the block settings, you'll see:
    • Select Room: Choose your created room from dropdown
    • Select your room and publish the page

Alternatively, use the shortcode:

[bigbluebutton token=z2xxx]

Replace z2xxx with your room token.

Step 6: Test the Student Join Experience

  1. Logged-In Test:

    • Log out of WordPress admin
    • Navigate to the page where you added the room
    • Click "Join Room"
    • You should load into BigBlueButton with your username automatically filled
  2. Guest Access Test:

    • Open the page in an incognito/private browser window (not logged in)
    • Click "Join Room"
    • A join form appears asking for your name
    • Enter a test name and click to join
    • Verify BigBlueButton response
  3. Start a Session:

    • Join as the room creator (you'll be moderator automatically)
    • Verify audio/video work
    • Test screen sharing
    • Invite other testers to join
    • Verify participant view

Advanced Configuration

Multiple Rooms on One Page

Add multiple rooms to a single page so students choose which to join:

Shortcode syntax:

[bigbluebutton token=z2xxx,z2yyy,z2zzz]

This displays a dropdown where students select the room before joining.

Widget Placement

Add a room join form as a sidebar widget:

  1. Navigate to AppearanceWidgets
  2. In the Widgets area, click + to add a block
  3. Search for "BBB Rooms Widget"
  4. Add the widget to your desired sidebar location
  5. In widget settings, enter the room token
  6. Publish changes

The join form now appears in your sidebar on all pages.

Recording Management

After a BigBlueButton session ends, the plugin automatically fetches the recording:

Display Recording on Room Page:

  • Automatically appears on the room's dedicated page
  • Accessible to anyone who could join the room (same access rules)

Display Recording on Custom Page: Use the recording shortcode:

[bigbluebutton type=recording token=z2xxx]

Manage Recording Settings:

  1. Navigate to BBB RoomsSettingsRoom Config
  2. Configure:
    • Automatic Recording: Enable to record all sessions by default
    • Max Recording Duration:* Set a cutoff time (default 300 minutes)

User Role Permissions

Moderator by Default: Room creators automatically join as moderators on their own rooms. Site administrators join all rooms as moderators.

Add Moderator Access to Other Roles:

This requires the User Role Editor plugin:

  1. Install User Role Editor
  2. Navigate to UsersUser Role Editor
  3. Find the role you want to promote (e.g., Instructor, Teacher)
  4. Check the capability: join_as_moderator_bbb_room
  5. Save changes

Result: Users with this role now join all BBB rooms as moderators.

Restrict to Access Code Entry:

To require access codes before joining:

  1. Create a room
  2. Set different access codes for moderators and viewers
  3. Users see a prompt to enter the code
  4. Only with the correct code can they join

Pro Version Feature Note: Full moderator role assignment and recording management is available in the Pro version.

Pre-Loading Presentations

Pro Version Feature:

The Pro plugin allows uploading presentations that display as slides in BigBlueButton:

  1. Upload a file (PDF, PowerPoint, Word, Excel)
  2. Presentation loads automatically when room starts
  3. Participants see slides ready for teacher annotation
  4. Supports global presentation (all rooms) or per-room custom slides

Shortcode Reference

Room Join Shortcode

Single room:

[bigbluebutton token=z2xxx]

Multiple rooms with selector:

[bigbluebutton token=z2xxx,z2yyy,z2zzz]

Parameters:

  • token (required): Room token from BBB Rooms list
  • max_participants (optional): Limit maximum participants in that room
  • welcome_message (optional): Custom welcome text [Pro only]

Recording Shortcode

Single recording:

[bigbluebutton type=recording token=z2xxx]

Multiple recordings:

[bigbluebutton type=recording token=z2xxx,z2yyy]

Troubleshooting

1. "Connection Failed" When Testing Server Settings

Symptom: Server settings won't save; "Connection Failed" message appears.

Common Causes:

  • Incorrect server URL (missing /bigbluebutton/ path)
  • Typo in shared secret
  • Firewall blocking outbound HTTPS requests
  • Server is offline

Solutions:

  1. Verify the URL format: Must end with /bigbluebutton/
  2. Copy-paste the secret from your provider (avoid manual retyping)
  3. Check with your hosting provider that outbound HTTPS is enabled
  4. Ask your BigBlueButton host to verify server is running
  5. Try using a simpler URL or IP address temporarily for testing

2. "401 Unauthorized" When Joining a Room

Symptom: Join button clicked, but error says "401 Unauthorized" or "Unauthorized".

Common Causes:

  • Shared secret was changed or is incorrect
  • API endpoint changed
  • Server rejected the request

Solutions:

  1. Return to BBB RoomsServer Settings
  2. Click Test Connection to verify current credentials are valid
  3. If test fails, update the URL/secret from your provider
  4. Clear browser cache (Ctrl+Shift+Delete) and try joining again
  5. Try joining from different device to rule out cache issues

3. Shortcode Not Displaying on Page

Symptom: Shortcode text appears literally on the page instead of embedding a room join form.

Common Causes:

  • Wrong shortcode syntax
  • Plugin disable on page
  • Theme incompatibility
  • Conflicting plugin causing shortcode parsing to fail

Solutions:

  1. Verify shortcode syntax: Must be exactly [bigbluebutton token=z2xxx] (lowercase)
  2. Check that BBB Rooms plugin is still activated (Plugins menu)
  3. Temporarily deactivate other plugins one-by-one to find conflicts
  4. Clear page cache if using caching plugin (WP Super Cache, CloudFlare, etc.)
  5. Test in a fresh browser (incognito mode, different browser)

4. Recording Not Appearing After Session

Symptom: Session ended but no recording appears on room page.

Common Causes:

  • Recording disabled in BigBlueButton room settings
  • Recording still processing (takes time depending on length)
  • Plugin recording fetch settings misconfigured

Solutions:

  1. Verify recording was enabled: BBB RoomsAll Rooms → Click room → Check "Enable Recording"
  2. Wait 5-10 minutes and refresh the page (large recordings process slowly)
  3. Check BigBlueButton server directly (login to your provider's dashboard to see if recording exists)
  4. If not listed there, verify your BigBlueButton host supports recording storage
  5. Contact plugin support if recording exists on server but doesn't display in WordPress

5. Participants Can't Join (Generic Error)

Symptom: Join form works but BigBlueButton shows generic error when trying to load room.

Common Causes:

  • Server URL doesn't support iFrame embedding
  • Participant limit exceeded
  • Server CPU/memory overloaded

Solutions:

  1. Verify your BigBlueButton host supports iFrame embedding (most do; ask support if unsure)
  2. Check server dashboard to see current participant count
  3. Test with smaller numbers first (start with 2-3 participants)
  4. Contact BigBlueButton host support if issues persist
  5. Request they review their iFrame configuration: https://github.com/bigbluebutton/bigbluebutton/issues/9998#issuecomment-678272306

Security Considerations

Credential Protection

  • Never share your shared secret with anyone except trusted administrators
  • The plugin stores credentials securely in the WordPress database
  • Ensure WordPress uses HTTPS for secure transmission
  • Regularly audit administrator accounts to limit access

Access Control

  • Use User Role Editor to precisely define who can create and manage rooms
  • Restrict BBB Rooms admin menu to specific roles
  • Require access codes for sensitive sessions
  • Regularly review participant lists in recordings

Recording Privacy

  • Verify your BigBlueButton host encrypts recording storage
  • Set automatic recording cleanup policies (don't keep indefinitely)
  • Review who has access to view recordings through WordPress
  • Test guest access before sharing public recording links

Frequently Asked Questions

Q: Do I need a BigBlueButton server to start?

A: Yes. The plugin bridges WordPress to an existing BigBlueButton server. The server must be running (self-hosted or via managed provider) before installing the plugin.

Q: What's the difference between free and Pro versions?

A: Free version supports up to 2 rooms, basic room configuration, and full-screen joining. Pro version adds unlimited rooms, embedding in iFrames, recording title editing, branding options, and custom welcome messages.

Q: Can teachers manage their own rooms?

A: In the basic setup, only administrators can create/edit rooms. The Pro version and User Role Editor plugin can delegate room management to teachers.

Q: How long are recordings stored?

A: Depends on your BigBlueButton host. Managed hosts typically offer 30-90 days storage included, with archival options for longer retention. Check with your provider.

Q: Is BigBlueButton free to use?

A: The software is open-source (free). However, self-hosting requires server costs (~$20-50/month) plus your setup time. Managed hosting typically costs $20-100+/month depending on concurrent participant limits. This is comparable to Zoom per-participant costs for educational use.

Q: Can I scale to thousands of concurrent participants?

A: Single server BigBlueButton handles 50-200 concurrent participants depending on specifications. For larger deployments, managed hosts use load balancing to scale beyond single-server limits.

Best Practices for Production Use

Before Going Live

  1. Test the complete workflow: create room → share link → join → record → view recording
  2. Verify with 5-10 real participants (not just admin tests)
  3. Test on multiple devices and browsers (mobile, tablet, desktop)
  4. Test with your managed BBB host's exact infrastructure (don't use test server for load testing)
  5. Have a rollback plan if issues arise day-of-class

Ongoing Monitoring

  • Check server status dashboard weekly (your BBB host provides this)
  • Review participant feedback for connection issues
  • Monitor recording availability and processing times
  • Keep plugin updated (check Plugins menu monthly for updates)
  • Update WordPress core as new versions release

Documentation for Students

Post clear instructions on your page:

  • How to join before the session starts
  • Minimum browser requirements (Chrome, Firefox, Safari, Edge)
  • Camera/microphone permission prompts (they'll see these on first join)
  • What to do if they can't hear/see you
  • Recording availability and access rules

Conclusion: WordPress Video Conferencing Setup

The Virtual Classroom for WordPress plugin provides a straightforward path to adding professional video conferencing to your WordPress site. Combined with managed BigBlueButton hosting, it eliminates infrastructure management concerns and lets you focus on teaching or training.

Next Steps:

  1. Subscribe to managed BigBlueButton hosting (or use your self-hosted instance)
  2. Install the Virtual Classroom plugin from WordPress directory
  3. Configure server credentials
  4. Create your first room and test the student join experience
  5. Embed rooms into your course pages using shortcodes
  6. Launch sessions and gather participant feedback for optimization

For complex implementations (LMS integration, advanced role management, branding), consider upgrading to the Pro version or consulting with a specialist who has experience with your specific WordPress workflow.


Additional Resources

About BigBlueButton Host

Thanks for reading this post on Integrate BigBlueButton with WordPress: Complete Setup Guide with Virtual Classroom Plugin. At BigBlueButton Host, we help teams, schools, and training organizations run dependable BigBlueButton infrastructure with practical guidance, clear deployment paths, and real-world operational support.

⚡ Ready to get started?

Deploy BigBlueButton Today

Get your own fully managed BigBlueButton server up and running in minutes. No technical expertise required.