Diagnostics
The Brother POS WooCommerce plugin includes a built-in Diagnostics page on your WordPress site. It is designed for the common situation where a store owner installs the plugin to sync with Brother POS but has no server shell, no access to wp-config.php, and no CDN dashboard — yet something on the host is quietly breaking wp-admin.
The page is plain server-rendered HTML with almost no JavaScript, so it still works even when the rest of wp-admin's JavaScript is broken.
Opening the Diagnostics Page
In your WordPress admin, go to WooCommerce > BrotherPOS Diagnostics.
WordPress only draws two levels of menu. The plugin's own settings are already a submenu, so Diagnostics is placed directly under the top-level WooCommerce menu to guarantee it always shows as a visible, clickable link.
The One-Click Self-Heal
The most useful feature sits at the top of the page: a button to disable admin script concatenation.
Many budget hosts serve WordPress's admin JavaScript as broken "combined" bundles. When that happens you see failures like:
- A blank block editor when editing a page or product.
- The media library throwing "Cannot read properties of undefined (reading 'View')".
- Buttons that do nothing.
Normally the fix requires editing wp-config.php. The Diagnostics page fixes it without any file access: click Disable script concatenation and the plugin loads each admin script individually instead of through the host's broken bundle. Then hard-reload wp-admin (Ctrl+Shift+R) and re-check the editor or media library.
You can toggle it back to the host default at any time from the same button.
What the Report Shows
The page collects the things that usually require server access and that break wp-admin invisibly. Each row is marked with a status badge (OK, warning, or problem):
| Section | What it checks |
|---|---|
| WordPress & PHP | WordPress and PHP versions, multisite, active theme, HTTPS, memory limit, execution time, cURL, and the GD/Imagick image libraries used for imports. |
| Admin JavaScript / script loading | Whether script concatenation is on, whether the critical core scripts are registered, and whether WordPress's script bundles actually serve real JavaScript (the direct cause of blank-editor and media-library crashes). |
| Must-use plugins & drop-ins | Hidden must-use plugins, cache drop-ins, and any persistent object cache — things that never appear in the normal Plugins list. |
| Edge / CDN / optimizer | Whether Cloudflare is in front of your site, and whether a JavaScript optimizer (Rocket Loader, WP Rocket, LiteSpeed, Autoptimize, SG Optimizer, WP Fastest Cache) is rewriting scripts in a way that can break wp-admin. |
| REST API & Application Passwords | Whether Application Passwords are available and whether the REST API responds to a loopback request. |
| BrotherPOS sync | Plugin version, whether WooCommerce is active, the Brother POS ingest URL, whether the shared secret is set, the image handling mode, and the result of the last product pull. |
Copy-Paste Report for Support
At the bottom of the page is a text box containing the entire report as plain text. Click the box to select all, copy it, and paste it into a support message. This gives Brother POS support everything needed to diagnose a host problem in one shot — without asking you to run commands.
When to Use Diagnostics
- Right after installing the plugin, to confirm the Brother POS ingest URL and shared secret are set and the connection is healthy.
- When wp-admin's editor or media library is broken — use the self-heal button first.
- When sync isn't working — check the "BrotherPOS sync" rows for the last pull result and whether the secret is configured.
- When asking for support — copy the report so support can see your exact host environment.
Troubleshooting
| Symptom | What Diagnostics tells you |
|---|---|
| Blank page editor / media library errors | Look at "load-scripts.php serves..." — if it shows a problem badge, click Disable script concatenation. |
| "BrotherPOS ingest URL: (not set)" | The plugin hasn't received its connection yet. Re-paste your POS API key in the plugin's API Setup screen. |
| "Shared secret set: no" | Same as above — the connection hasn't been provisioned. Re-check the POS API key. |
| A JS optimizer is flagged red | An edge optimizer is rewriting core scripts. Exclude the plugin's and WordPress core scripts from it, or disable it for logged-in admins. |
| Images not importing | Check that GD or Imagick shows OK. If neither is available, switch the plugin to "Link to URLs" image mode (see Product Sync). |
What's Next?
- Plugin Sync — How the firewall-proof plugin connection works.
- Product Sync — Catalog fields, image modes, and category icons.
- Health Monitor — Monitor sync activity from the Brother POS side.