Overview
The Seekmodo connector routes your Zen Cart storefront's product search, indexer cron, click beacon, and type-ahead autocomplete through the Seekmodo platform at mcp.seekmodo.com, while keeping native Zen Cart search permanently armed as a graceful fallback.
What the plugin swaps
- Storefront search — routes product search through the Seekmodo gateway with native
LIKEfallback. - Indexer cron — bulk catalog upserts to Seekmodo, auto-chunked at 500 documents per request.
- Click beacon — mirrors search and product-click events for analytics and LTR attribution.
- Type-ahead — prefix-tuned autocomplete with commerce-aware scoring.
Requirements
| Requirement | Version |
|---|---|
| Zen Cart | 1.5.8+ (v158 or v200) |
| PHP | 7.4+ (8.1+ recommended) |
| Seekmodo subscription | seekmodo.com/pricing |
Operating modes
| Mode | Storefront behaviour |
|---|---|
off | Bypass Seekmodo entirely. Native search only. |
shadow / Learning | Gateway called for observation; native result still served to shoppers. |
active (recommended) | Auto-promotes shadow → enforce based on gateway health; auto-demotes on failures. |
enforce | Gateway primary; native fallback only when the circuit breaker is open. |
Installation
This guide assumes you have a Seekmodo subscription, Zen Cart 1.5.8+, and admin access to your store.
Recommended PHP extensions
The connector self-checks your PHP environment on Tools → Connect to Seekmodo (Diagnostics panel). None are install-time gates, but each matters for steady-state behaviour.
| Extension | Required? | Why it matters |
|---|---|---|
sodium | Required | Pairing uses ed25519 to verify the Seekmodo callback. |
apcu | Strongly recommended | Caches the gateway snapshot for 5 minutes. Without it, admin pages lag. |
opcache | Strongly recommended | Standard PHP performance for ~2k lines of connector code. |
curl | Required | Outbound calls to mcp.seekmodo.com. |
openssl | Required | TLS for outbound calls. |
mysqli | Required | Zen Cart's standard database driver. |
intl | Optional | Internationalized hostname canonicalization. |
php -v # need >= 7.4
php -m | grep -E 'sodium|apcu|opcache|curl|openssl|mysqli|intl'
Download and verify
Always download the signed zip from seekmodo.com. Replace the version in the commands below with your target release.
curl -fLO https://seekmodo.com/plugins/seekmodo-zen-cart-{{VERSION}}.zip
curl -fLO https://seekmodo.com/plugins/seekmodo-zen-cart-{{VERSION}}.zip.sha256
sha256sum -c seekmodo-zen-cart-{{VERSION}}.zip.sha256
# expected: seekmodo-zen-cart-{{VERSION}}.zip: OK
Install through Plugin Manager
Open Zen Cart admin
Log in to your admin panel (/adminor your renamed path).Upload the plugin
Go to Tools → Plugin Manager → Upload New Plugin and select the downloaded zip.Install Seekmodo
Find the row labelled Seekmodo and click Install. The Scripted Installer creates the configuration group and seeds 13NUMINIX_SEEKMODO_*rows with safe defaults (MODE=off).Confirm installation
The Plugin Manager row should read Seekmodo v1.3.31 — Installed.
Pair with your Seekmodo tenant
Open Connect to Seekmodo
In Zen Cart admin, go to Tools → Connect to Seekmodo.Start pairing
Click Connect. You are redirected toseekmodo.com/connectwith a one-time token.Approve the tenant
Sign in to seekmodo.com, pick the tenant to bind, and approve.Verify pairing
On success, the plugin populates your tenant ID and HMAC secret. The page shows a green Paired banner.
Activate Seekmodo
Open admin.seekmodo.com, find your tenant, and switch Mode from Disabled to Learning or Active. The connector polls the gateway every 5 minutes; within that window your storefront starts using Seekmodo.
Verify installation
- Plugin Manager — row reads Seekmodo v1.3.31 — Installed.
- Storefront search — search for a known product; tail
<docroot>/logs/numinix_seekmodo.logand look forbackend=gateway. - Admin analytics — sign in to admin.seekmodo.com → Analytics → Top queries and confirm your test search appears.
Configuration
Most settings are managed remotely from admin.seekmodo.com and pulled into your store via tenant.snapshot every 5 minutes. You rarely need to change local constants by hand.
Connection (local)
| Constant | Description |
|---|---|
NUMINIX_SEEKMODO_URL | Gateway base URL (default: https://mcp.seekmodo.com) |
NUMINIX_SEEKMODO_TENANT_ID | Auto-populated by the Connect flow |
NUMINIX_SEEKMODO_SHARED_SECRET | HMAC key — auto-populated by pairing; treat as secret |
Mode and performance (gateway-authoritative)
| Constant | Default | Description |
|---|---|---|
NUMINIX_SEEKMODO_MODE | off | off | shadow | active | enforce — flip from admin.seekmodo.com |
NUMINIX_SEEKMODO_AUTO_PROMOTE | true | Auto-promote active mode after 50 healthy gateway responses |
NUMINIX_SEEKMODO_TIMEOUT_MS | 250 | Per-request hot-path budget in milliseconds |
NUMINIX_SEEKMODO_INDEX_BATCH | 500 | Documents per indexer chunk |
NUMINIX_SEEKMODO_DEBUG | false | Verbose logging to numinix_seekmodo.log |
Usage
After pairing and activating, the connector runs with minimal day-to-day maintenance. Policy updates from admin.seekmodo.com propagate automatically.
Search and modes
Start with Active mode on admin.seekmodo.com. The connector observes gateway health in shadow mode and auto-promotes to enforce after ~50 successful searches. On sustained failures it auto-demotes back to shadow.
Catalog indexing
The indexer runs from your existing Zen Cart cron via numinix_seekmodo_run_bulk_upsert(). Schedule is controlled by NUMINIX_SEEKMODO_INDEXER_SCHEDULE on admin.seekmodo.com (hourly, every_4h, daily, or manual).
Type-ahead and click attribution
- Type-ahead autocomplete is enabled via storefront observers — no template edits required on v1.0.9+.
- Click and impression events flow to Seekmodo for analytics and learning-to-rank.
- Shadow-mode attribution captures competitor SERP clicks (v1.1.4+).
Upgrade
The supported routine update path is the in-plugin Updates page (v1.0.7+).
Open Seekmodo Updates
Go to Tools → Seekmodo Updates in Zen Cart admin.Review available release
The page pullsseekmodo.com/plugins/manifest.json, compares versions, and shows release notes.Apply update
Click Apply update. The connector downloads the signed zip, verifies SHA-256 and ed25519 signature, backs up the current version, and installs the new tree.Roll back if needed
The Updates page lists recent backups with a Roll back button (last 3 kept).
Troubleshooting
Common issues and quick fixes. For deeper help, see the full troubleshooting guide or contact support@seekmodo.com.
Search behaves the same after install
Normal — the plugin defaults to MODE=off. Pair the store and flip mode to Active on admin.seekmodo.com.
Connect to Seekmodo fails
- Clock skew — run
date -uand compare to mcp.seekmodo.com; fix NTP. - Missing sodium — install the PHP sodium extension; pairing cannot proceed without it.
- Outbound blocked — test
curl -fsS https://mcp.seekmodo.com/v1/healthfrom the host. - Browser cookies — try pairing in a clean browser profile if VPN/proxy strips cookies.
Log shows backend=native
The gateway was bypassed — check mode is not off, verify APCu is loaded, and confirm outbound connectivity. Enable NUMINIX_SEEKMODO_DEBUG=true on admin.seekmodo.com for verbose logs.
Domain lock / multi-environment
Each tenant locks to one canonical storefront host. Dev/staging clones need their own tenant or a preview subdomain configured on admin.seekmodo.com.
Support
Need help? Our team and documentation are available on seekmodo.com.