Title: Brilliant Directories Site Connector
Author: Brilliant Directories
Published: <strong>October 14, 2026</strong>
Last modified: October 14, 2026

---

Search plugins

![](https://ps.w.org/bd-reverse-proxy/assets/banner-772x250.png?rev=3745604)

![](https://ps.w.org/bd-reverse-proxy/assets/icon.svg?rev=3745604)

# Brilliant Directories Site Connector

 By [Brilliant Directories](https://profiles.wordpress.org/brilliantdirectories/)

[Download](https://downloads.wordpress.org/plugin/bd-reverse-proxy.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/bd-reverse-proxy/#description)
 * [Reviews](https://wordpress.org/plugins/bd-reverse-proxy/#reviews)
 *  [Installation](https://wordpress.org/plugins/bd-reverse-proxy/#installation)
 * [Development](https://wordpress.org/plugins/bd-reverse-proxy/#developers)

 [Support](https://wordpress.org/support/plugin/bd-reverse-proxy/)

## Description

This plugin lets a WordPress administrator connect an external Brilliant Directories(
BD) website and publish it at a path on the WordPress site, for example `/directory`.

After you save a valid BD website URL, API key, and subfolder, the plugin writes
the proxy files under the site root (the folder that serves your WordPress home 
URL). Visitors use your WordPress hostname. The plugin does not require you to upload`.
htaccess` or PHP files by hand.

#### Requirements

 * A Brilliant Directories website and API key.
 * Apache with `mod_rewrite` enabled (the generated `.htaccess` routes only the 
   chosen subfolder).
 * The WordPress root folder must be writable so the plugin can create the subfolder.

#### What the plugin does

 * Stores the BD website URL and an encrypted API key.
 * Validates the subfolder (including nested paths) and checks that it is not reserved
   by WordPress or already used by a page.
 * Installs proxy files at `{WordPress root}/{subfolder}/`.
 * Forwards directory traffic to your Brilliant Directories site and rewrites links,
   cookies, and redirects onto the WordPress path.
 * Shows connection health for troubleshooting.
 * Saves the BD Site ID after a successful connection check and adds an **Open BD
   Admin** button that opens the site’s Brilliant Directories admin in a new tab.

### Nested subfolders

Nested paths are allowed. Examples:

 * `directory`
 * `resources/directory`
 * `resources/directory/members`

Each segment may contain only letters, numbers, hyphens, and underscores. Do not
use a leading slash, `..`, or a full URL.

The generated rewrite rules apply only inside that folder. Other WordPress URLs (`/
wp-admin`, posts, pages) stay on WordPress.

### Changing the subfolder

When you change **Define Subfolder**, the plugin:

 1. Validates the new path.
 2. Installs and verifies proxy files at the **new** location first.
 3. Only then updates or removes the previous plugin files.
 4. Restores the previous subfolder setting if the new install fails.

An SEO warning appears before you save when the path differs from the installed 
location. It shows the previous URL and the new URL.

You can:

 * **Keep the previous subfolder** — leave the old proxy files in place so both 
   URLs keep working.
 * **Redirect the previous URL (HTTP 301)** — replace the old proxy with a permanent
   redirect to the new URL. Inner paths such as `/login` are redirected too.
 * Select neither option — previous plugin files are removed after the new install
   succeeds.

A 301 cannot be created when the old and new paths overlap (for example `directory`
and `directory/members`), because a parent redirect would also catch the child path.

If both keep and redirect are selected, the 301 is installed at the previous path.

### reCAPTCHA

Google reCAPTCHA checks the hostname the visitor sees in the browser. That is this**
WordPress** hostname, not the Brilliant Directories hostname.

If login or forms show “Invalid domain for site key”, add the WordPress hostname(
for example `example.com`) to the same reCAPTCHA site key in [Google reCAPTCHA admin](https://www.google.com/recaptcha/admin).

**Connection Health** includes a **reCAPTCHA Domain** check. It reads the public
site key from the Brilliant Directories login page and asks Google whether the WordPress
hostname is allowed for that key. It shows **Error** until the hostname is added.
If no reCAPTCHA is found on the login page, the check shows **Healthy**.

### Deactivate, update, and uninstall

 * **Deactivate** leaves settings and the live subfolder in place. The public directory
   URL keeps working.
 * **Plugin update** refreshes generated routing/code files. Customer values in `
   proxy-config.php` (API key, source URL, paths) are preserved.
 * **Delete / uninstall** removes plugin settings and only folders this plugin created(
   a live proxy marked by `directory-proxy.php`, or a 301 stub this plugin wrote).
   Other WordPress folders are not deleted.

Uninstall is destructive. Back up the site if you may need the directory URL again.

### External Services

This plugin makes outbound requests to the Brilliant Directories website URL you
enter and, for the reCAPTCHA Domain check, to Google reCAPTCHA. It does not phone
home to any other host from PHP.

 * **API key check** — `GET {your BD site}/api/v2/token/verify` with the `x-api-
   key` header. Runs when you click Save / Install, when the form checks the key,
   and when you click Check Connection.
 * **Source ping** — `GET {your BD site}/` to confirm the site is reachable. Runs
   with Check Connection and after a successful save (health refresh).
 * **reCAPTCHA Domain check** — `GET {your BD site}/login` (and `/` if needed) to
   read the public reCAPTCHA site key, then `GET https://www.google.com/recaptcha/
   api.js` and `https://www.google.com/recaptcha/api2/anchor` (or the Enterprise
   equivalents) with that site key and your WordPress origin. Runs with Check Connection
   and after a successful save. The license key is never sent to Google. See the
   [Google Privacy Policy](https://policies.google.com/privacy) and [Google Terms of Service](https://policies.google.com/terms).
 * **Public proxy** — visitor requests to your WordPress subfolder are forwarded
   with cURL to that same BD site (pages, assets, login, and forms).

The settings page loads no remote content. It only shows links to Brilliant Directories
resources, which open in a new tab when clicked.

Privacy & Terms:

 * [Brilliant Directories Privacy Policy](https://www.brilliantdirectories.com/online-directory-script-privacy-policy)
 * [Brilliant Directories Terms of Service](https://www.brilliantdirectories.com/online-directory-terms-of-use)

### Support

If you have any issues or need help, please visit our support forum or contact us
at support@brilliantdirectories.com.

## Screenshots

[⌊Plugin settings and connection configuration.⌉⌊Plugin settings and connection 
configuration.⌉[

Plugin settings and connection configuration.

[⌊Connection health status.⌉⌊Connection health status.⌉[

Connection health status.

## Installation

 1. Upload the `bd-reverse-proxy` folder to `/wp-content/plugins/`, or install the 
    zip from **Plugins  Add New  Upload Plugin**.
 2. Activate the plugin on the Plugins screen.
 3. Open **BD Site on WP** in the WordPress admin menu (`/wp-admin/admin.php?page=bd-
    reverse-proxy`).
 4. Enter:
 5.  * **BD Website URL** — the full Brilliant Directories site URL, including `https://`.
     * **BD API KEY** — generated in your Brilliant Directories admin. See [How to Generate API Key](https://support.brilliantdirectories.com/support/solutions/articles/12000088768).
     * **Define Subfolder** — the public path on this WordPress site, with no leading
       or trailing slash. Example: `directory`.
 6. Click **Save / Install**.
 7. Open the Public URL shown on the settings page (for example `https://example.com/
    directory/`).

## FAQ

### Do I need a Brilliant Directories account?

Yes. You can start at [https://www.brilliantdirectories.com](https://www.brilliantdirectories.com).

### Where do I get an API key?

From your Brilliant Directories website. See [How to Generate API Key](https://support.brilliantdirectories.com/support/solutions/articles/12000088768).

### Why was the API key rejected?

Confirm the BD Website URL is the site that issued the key, the key is complete (
no extra spaces), and the site is reachable over HTTPS.

### Why can’t I use a subfolder name?

The path may be reserved (`wp-admin`, `wp-content`, `wp-includes`, `wp-json`), already
used by a WordPress page or permalink, or already exist as a folder that this plugin
does not own.

### Does this work on Nginx?

The generated `.htaccess` is for Apache (and compatible hosts such as LiteSpeed 
with rewrite enabled). Nginx maps are not generated. Use Apache with `mod_rewrite`,
or add equivalent Nginx routing for the subfolder yourself.

### Opening proxy-config.php in the browser

That file is denied over HTTP (403). It must not show the API key. If it does, the
server is not applying the generated `.htaccess` rules.

### The directory page loads but assets or login break

Click **Save / Install** again so proxy files match the current plugin version. 
Confirm you are browsing the WordPress public URL, not the Brilliant Directories
hostname. For reCAPTCHA errors, add the WordPress hostname in Google reCAPTCHA admin.

### What happens if I change the Brilliant Directories URL later?

Save / Install regenerates proxy configuration for the current subfolder using the
new URL and stored API key.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Brilliant Directories Site Connector” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Brilliant Directories ](https://profiles.wordpress.org/brilliantdirectories/)

[Translate “Brilliant Directories Site Connector” into your language.](https://translate.wordpress.org/projects/wp-plugins/bd-reverse-proxy)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/bd-reverse-proxy/),
check out the [SVN repository](https://plugins.svn.wordpress.org/bd-reverse-proxy/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/bd-reverse-proxy/)
by [RSS](https://plugins.trac.wordpress.org/log/bd-reverse-proxy/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.0**
 *  Last updated **14 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [brilliant directories](https://wordpress.org/plugins/tags/brilliant-directories/)
   [directory](https://wordpress.org/plugins/tags/directory/)[membership](https://wordpress.org/plugins/tags/membership/)
   [reverse proxy](https://wordpress.org/plugins/tags/reverse-proxy/)[subdirectory](https://wordpress.org/plugins/tags/subdirectory/)
 *  [Advanced View](https://wordpress.org/plugins/bd-reverse-proxy/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/bd-reverse-proxy/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/bd-reverse-proxy/reviews/)

## Contributors

 *   [ Brilliant Directories ](https://profiles.wordpress.org/brilliantdirectories/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/bd-reverse-proxy/)