If a shopper sees stale data — wrong price, out-of-stock item showing as available, a discontinued product still listed — the root cause is always one of three things. Here’s how to walk them down.
1. Did Shopify actually save the change?
Open the product in Shopify Admin. Does the product page show the change? If not, it’s a Shopify save issue (connection, validation, unsaved draft). Fix in Shopify first.
2. Did the webhook arrive at searchabee?
searchabee console → Sync → Activity, filter by product ID. Look for a webhook entry matching the change time.
- Webhook arrived, index updated: go to step 3.
- Webhook arrived, update failed: the activity row will show the error. Common ones: transient Meilisearch unavailability (auto-retries) or a malformed product (rare).
- No webhook: Shopify didn’t send it. Check Shopify Admin → Settings → Notifications → Webhooks to see the delivery log. If Shopify retried and failed, reach out.
3. Is the storefront showing cached results?
Most themes cache collection pages at the CDN for a short window (typically 60s for Shopify-hosted pages). searchabee’s API calls bypass CDN cache for filtered queries, but the initial collection page HTML may still be cached.
Shoppers see fresh data within ~60 seconds. For immediate visibility (say, just before a launch), soft-purge the Shopify CDN via a no-op theme save.
Force resync a single product
searchabee console → Products → [product] → Resync.
This pulls the product directly from Shopify’s GraphQL API and upserts into the index, bypassing the webhook path. Use when you suspect a webhook was dropped.
Force resync the whole index
Last resort. Sync → Rebuild index. See timings in the large catalogs guide. During a rebuild, the old index stays serving until the new one is ready — no downtime.
Monitoring sync health
Sync → Health surfaces:
- Last webhook received (timestamp)
- Webhooks last 60m / 24h (volume chart)
- Average sync latency p50 / p95
- Queued work (if non-zero, sync is catching up)
A flat line on “webhooks last 60m” when your store is active suggests Shopify stopped sending — worth investigating.