﻿Trek.ca Seekmodo SERP debug (2026-08-31)
=========================================

Site: https://trek.ca/
Tenant: jlew-d1e548f7 (seekmodo:tenant meta)
Plugin on server: seekmodo-wordpress 0.11.40 (confirmed via numinix SSH read of seekmodo-wordpress.php)
Server SearchSwap.php: mergeContentIds + post-hydration fallback PRESENT (grep on box).

Symptoms
--------
- SEO query "search engine optimization": SERP shows results (10 entry-title nodes in saved HTML).
- GEO query "GEO": SERP empty (body class search-no-results, trek-search-results__none).
- Typeahead for GEO still surfaces pages (e.g. page 14475 SEO landing).

Root cause (0.11.40 gap)
------------------------
Content SearchSwap only called mergeContentIds() when the gateway returned a non-empty ID list.
For GEO the gateway returns [] while enhanced-native typeahead prefix hits still exist.
Empty-gateway path ran runContentSearch() (local index full-text) which also missed GEO, then returned [] without merging typeahead/native rows.

Fix: seekmodo-wordpress-connector 0.11.41
-----------------------------------------
When gateway IDs are empty after retry, call mergeContentIds([], q, page_size) before giving up (typeahead parity).

Ops / merchandising (not shipped in plugin)
-------------------------------------------
Suggest tenant pin or synonym so gateway indexes page 14475 for queries:
  - "search engine optimization"
  - "SEO"
  - "GEO" (acronym surface)
Page: post ID 14475 (SEO service page on trek.ca).

Deploy / verify
---------------
- Built: dist/seekmodo-wordpress-v0.11.41.zip
- Trek SSH trek@67.225.129.58: publickey denied from this workstation (use site key); numinix@ same host can read trek tree but not write plugin files.
- Patched SearchSwap.php staged on server: /home/numinix/SearchSwap-01141.php (18727 bytes) — copy into trek plugin path as trek user, bump plugin header to 0.11.41, or install zip from seekmodo.com after publish.
- wp-cli as numinix@trek path fails (Predis / object-cache.php); run wp as trek user on box.
- After deploy verify: https://trek.ca/?s=GEO&seekmodo_skip_category_redirect=1 should NOT have search-no-results; should list page 14475 / GEO-related pages.

wp eval checks (run on server as trek)
--------------------------------------
wp option get seekmodo_wp_mode
wp option get seekmodo_wp_enabled_verticals
wp plugin get seekmodo-wordpress --field=version
wp eval "var_export(\Numinix\SeekmodoWordPress\Search\EnhancedNativeRegistry::runContentSearch('GEO',1,10));"
wp eval "var_export(\Numinix\SeekmodoWordPress\Search\EnhancedNativeRegistry::runContentTypeahead('GEO',10));"
