Guest Access
Better Messages supports guest chat — visitors who aren't logged into WordPress can join chat rooms, send messages, share files, and participate just like registered users, without creating an account. Guest access is enabled per chat room, so admins control exactly which rooms are open to the public and which are members-only.
What it adds#
- Non-registered visitors can join enabled chat rooms with one click
- Auto-generated display names (with optional "enter your name" prompt)
- Guests get full feature access — messaging, file sharing, emoji, GIFs, voice messages (with the add-on)
- Per-chat-room enablement (each room can be guest-allowed or members-only)
- Optional global redirect: send non-logged-in users to the login page for any non-guest room
- Guest sessions persist via browser localStorage + IndexedDB — guests reconnect to the same identity across page reloads on the same browser
How it works#
When guest access is enabled on a room, the room's URL is publicly accessible. A first-time visitor sees a name prompt (or is auto-assigned a name if you've disabled the prompt). Better Messages registers a bm_guests row server-side and issues a 30-character secret token that the browser stores in localStorage and IndexedDB. Subsequent visits from the same browser restore the same guest identity by sending BM-Guest-ID and BM-Guest-Secret headers on every REST request.
| Action | Outcome |
|---|---|
| Guest opens a guest-enabled room | Sees a name prompt (or is auto-named) |
| Guest sends a message | Message appears with their display name |
| Guest leaves the page | Session persists in localStorage — they rejoin as same identity |
| Guest clears browser site data | Loses session — becomes a new guest on next visit |
| Guest reaches a non-guest-enabled room | Sees a login prompt or is redirected (if redirect setting is on) |
Guests share many features with logged-in users (file sharing, GIFs, emoji, oEmbed) but cannot create new threads, can only message inside the room they joined, and don't have a persistent profile.
When to use guest chat#
| Use case | Pattern |
|---|---|
| Public help / live support chat room | Open guest access on the support room, redirect all other pages to login |
| Event-day live chat | Time-limited guest room during a conference / launch |
| Marketplace pre-purchase questions | Guest pre-sales channel, registration required to complete a purchase |
| Open community board | A "Lobby" guest room visible to all, then members-only rooms behind login |
| Public testimonials / Q&A | Guests ask, admins / verified members answer |
How to enable#
Global enable — Navigate to WP Admin → Better Messages → Settings → General.
- Guest Chat — Enable guest access globally (must be on for any room to allow guests)
- Redirect Non-Logged Users — Optionally redirect guests away from non-guest pages to the login screen
Per chat room — Edit a chat room at WP Admin → Better Messages → Chat Rooms.
- Add guest users to the allowed participants list to permit guest access on that room
Guest Messages Page#
The Messages Location setting picks where the messenger renders. Anything except a regular WordPress page is an integration-embedded location that lives inside a login-walled UI — WooCommerce My Account, BuddyPress / BuddyBoss / Ultimate Member / FluentCommunity / UsersWP / ProfileGrid / WP User Manager profile tabs, LearnPress / Tutor LMS / MasterStudy account pages, Houzez and RealHomes dashboards, Directorist / Classified Listings / Motors dashboards, Asgaros Forum profile, SureDash Portal. Without a separate entry point, a guest who clicks a chat trigger (Live Chat button, message link from an email, etc.) lands on a page they can't access and is redirected to login.
When the Messages Location is not a regular WordPress page and Guest Chat is on, a second picker appears: Guest Messages Page. Pick (or create with one click) a regular public WordPress page; guests reach that page from every chat trigger and notification link. Logged-in users continue to use the integration-embedded inbox as before, but visiting the Guest Messages Page also renders the messenger for them, so the page is safe to share publicly.
The picker is hidden when the Messages Location is already a regular WordPress page — guests can use the same page as logged-in users and no second page is needed.
Better_Messages()->functions->get_link() returns the Guest Messages Page URL for anonymous visitors when the setting is configured, otherwise the WordPress login URL.
Frequently asked questions#
Can guests choose their own display name?#
Yes — by default, guests are prompted to enter a name when they first join. You can disable the prompt and have the plugin auto-generate names (like "Guest 4827") in the global settings.
How does the plugin prevent guest abuse / spam?#
- Per-role rate limits for new threads and replies apply to the synthetic Guest role (set the thresholds in Settings → Rate Limits)
- The bad-words filter applies to guests
- Pre-moderation can hold guest messages for admin review
- The AI moderation provider can flag or block harmful guest messages automatically
- Admins can remove a guest from a chat room from the room's participant list
- Captcha can be added before the name prompt via the
better_messages_guest_register_allowedfilter
Does the user-to-user block feature work for guests?#
Guests can't initiate user-to-user blocks the way registered users can. Admins can still remove a guest from any room from the chat-room admin panel.
Are guest conversations stored permanently?#
Yes — guest messages persist in the database like any other message. Auto-delete settings apply to guest messages too if configured.
Can guests join voice / video calls?#
Yes — if the room has calls enabled, guests can join. Call quality and participant cap apply equally.
Does GDPR apply to guest users?#
Yes — the bm_guests table stores a display name, the request IP, and an optional email. The 30-character session secret lives only in the visitor's localStorage / IndexedDB, never on the server side. WordPress's built-in Tools → Export Personal Data and Erase Personal Data routes also cover guest messages. See the Privacy & GDPR doc for the full picture.
See also#
- Chat rooms — overview of public/private rooms
- Privacy & GDPR — data handling for guests
- Guest chat blog post — feature deep-dive
- Pre-moderation — review guest messages before delivery
- Bad words filter — server-side profanity blocking