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
- Log in to your WordPress admin dashboard
- Navigate to Plugins → Add New
- Search for "Video Conferencing with BigBlueButton" or "Video Conferencing with BBB"
- Click Install Now on the official plugin by eLearning Evolve
- Click Activate Plugin
After activation, you'll see "BBB Rooms" appear in your WordPress admin sidebar.
Step 2: Configure Server Credentials
-
In WordPress admin, navigate to BBB Rooms → Server Settings
-
You'll see two fields:
- BigBlueButton Server URL
- BigBlueButton Shared Secret
-
Enter the Server URL:
- Obtain from your BigBlueButton host or
bbb-conf --secretoutput - 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
- Obtain from your BigBlueButton host or
-
Enter the Shared Secret:
- Copy the secret from your BigBlueButton provider or
bbb-conf --secretcmd output - Paste into the "Shared Secret" field
- Keep this confidential—treat it like a password
- Copy the secret from your BigBlueButton provider or
-
Click Save Settings
-
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
-
In WordPress admin, navigate to BBB Rooms → Add New
-
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
-
Click Publish to create the room
-
After publishing, the plugin generates a unique token for this room
- You'll see it listed under BBB Rooms → All 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:
- Navigate to BBB Rooms → All Rooms
- Click the room you created
- Scroll to Access Settings
- 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)
- Navigate to BBB Rooms → All Rooms
- Click your room name
- The plugin creates a unique URL for the room
- Share this URL directly with students
- Recording displays on this page automatically after the session
Option B: Embed Room in Existing Page (Recommended for Courses)
- Navigate to Pages → Edit (or create a new page)
- Click the + button to add a block
- Search for "BBB Rooms" or "BigBlueButton" in the block selector
- Add the block to your page content
- 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
-
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
-
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
-
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:
- Navigate to Appearance → Widgets
- In the Widgets area, click + to add a block
- Search for "BBB Rooms Widget"
- Add the widget to your desired sidebar location
- In widget settings, enter the room token
- 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:
- Navigate to BBB Rooms → Settings → Room Config
- 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:
- Install User Role Editor
- Navigate to Users → User Role Editor
- Find the role you want to promote (e.g., Instructor, Teacher)
- Check the capability:
join_as_moderator_bbb_room - 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:
- Create a room
- Set different access codes for moderators and viewers
- Users see a prompt to enter the code
- 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:
- Upload a file (PDF, PowerPoint, Word, Excel)
- Presentation loads automatically when room starts
- Participants see slides ready for teacher annotation
- 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 listmax_participants(optional): Limit maximum participants in that roomwelcome_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:
- Verify the URL format: Must end with
/bigbluebutton/ - Copy-paste the secret from your provider (avoid manual retyping)
- Check with your hosting provider that outbound HTTPS is enabled
- Ask your BigBlueButton host to verify server is running
- 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:
- Return to BBB Rooms → Server Settings
- Click Test Connection to verify current credentials are valid
- If test fails, update the URL/secret from your provider
- Clear browser cache (Ctrl+Shift+Delete) and try joining again
- 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:
- Verify shortcode syntax: Must be exactly
[bigbluebutton token=z2xxx](lowercase) - Check that BBB Rooms plugin is still activated (Plugins menu)
- Temporarily deactivate other plugins one-by-one to find conflicts
- Clear page cache if using caching plugin (WP Super Cache, CloudFlare, etc.)
- 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:
- Verify recording was enabled: BBB Rooms → All Rooms → Click room → Check "Enable Recording"
- Wait 5-10 minutes and refresh the page (large recordings process slowly)
- Check BigBlueButton server directly (login to your provider's dashboard to see if recording exists)
- If not listed there, verify your BigBlueButton host supports recording storage
- 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:
- Verify your BigBlueButton host supports iFrame embedding (most do; ask support if unsure)
- Check server dashboard to see current participant count
- Test with smaller numbers first (start with 2-3 participants)
- Contact BigBlueButton host support if issues persist
- 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
- Test the complete workflow: create room → share link → join → record → view recording
- Verify with 5-10 real participants (not just admin tests)
- Test on multiple devices and browsers (mobile, tablet, desktop)
- Test with your managed BBB host's exact infrastructure (don't use test server for load testing)
- 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:
- Subscribe to managed BigBlueButton hosting (or use your self-hosted instance)
- Install the Virtual Classroom plugin from WordPress directory
- Configure server credentials
- Create your first room and test the student join experience
- Embed rooms into your course pages using shortcodes
- 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
- Official Plugin: https://wordpress.org/plugins/video-conferencing-with-bbb/
- Support & Contact: https://elearningevolve.com/contact/
- Hosting Setup Guide: https://elearningevolve.com/blog/hosting-virtual-classroom-for-wordpress/
- BigBlueButton Features: https://support.blindsidenetworks.com/hc/en-us/articles/360052738972-What-are-the-features-in-BigBlueButton-
- User Role Editor: https://wordpress.org/plugins/user-role-editor/
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.
Related Articles
Deploy BigBlueButton Today
Get your own fully managed BigBlueButton server up and running in minutes. No technical expertise required.
