
Link preview in an activity post - title, description and image pulled from the shared link.
Activity Link Preview For BuddyPress turns a plain URL into a rich card. When a member pastes a link into the activity composer or a comment, the plugin reads the page, pulls a title, description and image, and shows a preview card before they post. Saved previews render server-side, so they still display when JavaScript is off.
It needs BuddyPress or BuddyBoss Platform active. There is no settings page: previews work as soon as you activate the plugin, and developers can change behaviour through filters.
Rich previews as members type
* Detects URLs as they are typed or pasted into the activity form.
* Shows title, description and a featured image in a card the member can review before posting.
* Multiple image selection: when a page offers several images, prev and next buttons let the member pick one, with an “Image X of Y” counter.
* The preview clears itself when the URL is removed from the composer, and blocked or invalid URLs show an inline error instead of failing quietly.
Internal member and group cards, with no HTTP request
* Sharing a link to a member profile on your own site (/members/username/) builds a card from your database: display name, the XProfile About text, and the member’s avatar.
* Sharing a link to a group (/groups/group-slug/) builds a card with the group name, description and group avatar.
* Because this reads locally, there is no self-request and no external fetch, which keeps busy sites fast.
Comments and embeds
* Link previews work in activity comments and replies, not just top-level posts.
* Native embeds for Twitter/X and Facebook.
* Inline video and rich embeds via WordPress oEmbed (YouTube, Vimeo and other providers WordPress supports).
* Short URLs (bit.ly, tinyurl and similar) are resolved to the real destination before the preview is built.
Fast and safe by default
* Per-URL caching, plus 15-minute negative caching so a slow or unreachable link is not retried on every render.
* Comment rendering never fetches remote URLs, so a dead link cannot delay a page load.
* SSRF protection blocks localhost, private and reserved IP ranges, and re-validates redirect targets.
* Nonce verification, logged-in-only parsing, and sanitized and escaped output.
Works alongside your platform
* On BuddyBoss Platform with its own link preview enabled, this plugin stands down so you never get two cards on one post.
* On Youzify with its wall URL preview enabled, it does the same.
* Preview data is included in the BuddyPress REST API activity response.
Developer friendly
* bp_activity_link_preview_load_assets – control which pages load the CSS, JS and social SDKs.
* bp_activity_parse_url_preview – filter the preview data returned by the parse endpoint.
* bp_activity_link_parse_url – filter the parsed result before it is returned.
* bp_activity_link_parse_url_shorten_url_provider – add or remove short-URL providers to resolve.
* bp_oembed_discover_support – opt in to oEmbed discovery for unknown providers.
* bp_activity_link_preview_enable_comments – turn preview handling in activity comments on or off.
Our support team can help with setup, theme compatibility and troubleshooting. Reach us through the links below.
A performance and security pass. Plugin assets and the Twitter and Facebook SDKs now load only in activity contexts instead of on every page. Failed link lookups are cached for 15 minutes and comment rendering never fetches remote URLs, so slow links no longer hold up a page. Blocked or invalid URLs now report the problem in the composer, scraped titles and descriptions are sanitized before saving, and short-URL resolution re-validates its redirect target against the SSRF guard.
This plugin renders native Twitter/X and Facebook embeds. Those embeds can only be rendered by each network’s own script, so the plugin loads that script directly from the network:
These scripts load only on BuddyPress activity screens (the activity directory, member activity and group screens), never site-wide. On those screens they load whether or not a Twitter or Facebook link is actually present, so the visitor’s browser contacts Twitter and Facebook on every activity page view. Those services can therefore see the visitor’s IP address, user agent and referring page, and may set their own cookies.
If your site needs to avoid that (for example to satisfy a consent requirement), use the bp_activity_link_preview_load_assets filter to stop the assets loading:
add_filter( 'bp_activity_link_preview_load_assets', '__return_false' );
No data is sent to Wbcom Designs, and the plugin itself collects nothing.
Rich link previews make your activity stream worth reading, but a stream is only one part of a community. These other free tools from Wbcom Designs fill in the rest of the space your members spend time in, from the theme and social network itself to forums, media, events, gamification, directories, jobs, and courses.