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_rewriteenabled (the generated.htaccessroutes 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:
directoryresources/directoryresources/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:
- Validates the new path.
- Installs and verifies proxy files at the new location first.
- Only then updates or removes the previous plugin files.
- 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
/loginare 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.
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/verifywith thex-api-keyheader. 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, thenGET https://www.google.com/recaptcha/api.jsandhttps://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 and Google Terms of Service. - 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:
Support
If you have any issues or need help, please visit our support forum or contact us at support@brilliantdirectories.com.
Installation
- Upload the
bd-reverse-proxyfolder to/wp-content/plugins/, or install the zip from Plugins Add New Upload Plugin. - Activate the plugin on the Plugins screen.
- Open BD Site on WP in the WordPress admin menu (
/wp-admin/admin.php?page=bd-reverse-proxy). - Enter:
- 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.
- Define Subfolder — the public path on this WordPress site, with no leading or trailing slash. Example:
directory.
- BD Website URL — the full Brilliant Directories site URL, including
- Click Save / Install.
- 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.
-
Where do I get an API key?
-
From your Brilliant Directories website. See How to Generate API Key.
-
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
.htaccessis for Apache (and compatible hosts such as LiteSpeed with rewrite enabled). Nginx maps are not generated. Use Apache withmod_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
.htaccessrules. -
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.
ContributorsTranslate “Brilliant Directories Site Connector” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.


