Brilliant Directories Site Connector

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.

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 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.

Screenshots

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:
    • 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.
  5. Click Save / Install.
  6. 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 .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

Changelog

1.0.0

  • Initial release.