Glozr docs

WordPress & WooCommerce

Troubleshooting

A symptom-driven walkthrough for the most common WordPress plugin issues. Every fix maps to an actual code path in the plugin, so the order in which you check things matters.

Widget doesn't show on the frontend

  1. Re-open Settings → Glozr in WordPress and confirm the connection still says Connected. A revoked token will fail silently on the next page load.
  2. Check the post type. The plugin only injects on public pages — admin views, login screens and custom dashboards are skipped on purpose.
  3. Make sure your theme calls wp_footer(). Some legacy or custom themes omit it; without it the widget cannot inject.
  4. Purge any caching layer (page cache, CDN, edge cache). A pre-plugin HTML snapshot will keep serving until you flush it.
  5. Open browser devtools and verify the widget script request returns 200 with the correct workspace ID.

Connection test fails

ErrorLikely cause
Could not reach GlozrServer can't egress to app.glozr.com — firewall, DNS or proxy issue.
Invalid tokenToken revoked in /settings/api-tokens or copied with leading/trailing whitespace.
ForbiddenToken is missing the wp:integration ability. Mint a new one with the right scope.
Invalid URLWorkspace base URL malformed — must be the full https://… origin without a trailing path.

Sync runs but content doesn't appear

  • Large site. The first sync may have hit the 20-second wall-clock guard. Check the UI for the “continuing in background” banner and wait for WP-Cron to finish the rest.
  • Indexing queue. Even after the API call returns, content is embedded asynchronously. Allow 10-60 seconds before testing the agent.
  • Vector store provisioning. On a fresh workspace, the vector store may still be being created.
  • Unchanged content. “Skipped” counters mean the content hash matched — the documents are already indexed.

Sync stuck mid-way

The resume mechanism depends on WP-Cron firing. It will not fire if:

  • DISABLE_WP_CRON is set to true in wp-config.php.
  • The previous cron event failed and was never rescheduled.
  • The site has so little traffic that nobody is hitting WordPress to spin the cron.

Manually kick cron with:

curl https://your-site.example/wp-cron.php?doing_wp_cron

Page-builder content syncs as empty

If Elementor, Bricks or Oxygen pages sync without body content, check:

  • Builder version compatibility. Major builder upgrades sometimes change renderer signatures.
  • Corrupted builder data — re-save the page in the builder to refresh stored layout.
  • Custom filters returning an empty string from pitchbar_post_content_html in another plugin or your theme.

WooCommerce-specific issues

Coupon apply does nothing:

  • The visitor's browser may block third-party cookies that the cart uses.
  • An existing coupon on the cart with conflicting rules can silently reject the new one.
  • The 15-minute apply transient may have expired before the visitor opened their cart.

Abandoned cart doesn't trigger:

  • Visitor's browser must allow localStorage.
  • Themes that bypass jQuery for cart updates won't fire the listeners the plugin hooks into.
  • The idle threshold on your behavior rule may be longer than the visitor's session.
  • The 5-minute global cooldown is still active from a prior trigger.

HMAC verification failures

If the plugin logs signature mismatch on inbound calls:

  • Clock skew between the WordPress server and the Glozr server > 5 minutes. Sync via NTP.
  • The shopper_signing_secret in wp_options doesn't match the one Glozr is signing with. Re-run the handshake to refresh it.

RTL locales

If the widget renders LTR on an Arabic/Hebrew/Persian/Urdu site, confirm WordPress' is_rtl() returns true on the affected pages. The plugin mirrors based on that signal.

Plugin logging

The plugin writes diagnostics through error_log. Set WP_DEBUG_LOG to true in wp-config.php and tail wp-content/debug.log while reproducing the issue.

Filing an issue

When opening a support ticket, include:

  • Plugin version (Settings → Glozr → About).
  • WordPress and PHP versions.
  • WooCommerce version (if applicable).
  • Active page builder(s).
  • Relevant excerpts from wp-content/debug.log.
  • A minimal reproduction — ideally a single URL where the issue shows up.