Skip to main content

Platform Architecture

Overview

Walkers Game Ear runs on a headless commerce architecture where BigCommerce provides the e-commerce backend (catalog, cart, checkout, orders) and WordPress serves as the content management and presentation layer.

Architecture Diagram

┌─────────────────────────────────────────────────────────────────┐
│ User Browser │
└────────────────────────────┬────────────────────────────────────┘

┌────────▼────────┐
│ WordPress │
│ Frontend │
│ (WP 6.7.2) │
└────────┬────────┘

┌────────────────────┼────────────────────┐
│ │ │
┌────▼────┐ ┌────▼────┐ ┌─────▼─────┐
│ Elementor│ │BigCommerce│ │ Marketing │
│ Widgets │ │ API │ │ Tools │
│ │ │ │ │ │
│50+ Custom│ │Products │ │ Klaviyo │
│Components│ │Cart │ │ BazaarVoice│
└─────────┘ │Checkout │ │ Algolia │
│Orders │ └────────────┘
└───────────┘

Technology Stack

Frontend Layer (WordPress)

ComponentTechnologyVersionPurpose
CMSWordPress6.7.2Content management & routing
ThemeSuma Elementor3.0.0Custom theme framework
Page BuilderElementor Pro3.27.4Visual page builder
Custom FieldsACF Pro6.3.12Extensible metadata
FormsGravity Forms2.9.3Lead capture & contact
SEOYoast SEO24.5Search optimization

Commerce Layer (BigCommerce)

ComponentTechnologyVersionPurpose
E-Commerce PluginBigCommerce for WP (Suma)5.0.7.20BigCommerce API integration
Product SyncWordPress CronAutomated product imports
CartBigCommerce APIShopping cart management
CheckoutBigCommerce HostedSecure checkout flow
OrdersBigCommerce APIOrder processing & fulfillment

Search & Discovery

ComponentTechnologyVersionPurpose
Faceted SearchFacetWP4.3.6Product filtering
Site SearchAlgolia2.8.2Instant search
Dealer LocatorSuma Dealer Locator3.0.2Store finder

Marketing & Analytics

ComponentTechnologyVersionPurpose
Email MarketingKlaviyoEmail campaigns & automation
ReviewsBazaarVoice1.1.0Product reviews & ratings
AnalyticsGoogle Tag Manager1.20.3Event tracking
SocialInstagram Feed Pro6.6.1Social proof

Security & Performance

ComponentTechnologyVersionPurpose
2FAWP 2FA2.8.0Two-factor authentication
Activity LogWP Activity Log5.3.4.1Security audit logging
Headers SecurityHeaders Security Advanced5.0.42HTTP security headers
Image OptimizationWP Smush Pro3.17.1Image compression
Email DeliveryWP Mail SMTP4.3.0Reliable email sending
Site ManagementMainWP Child5.3.5Remote site management

Request Flow

Product Page Request

  1. User requests product page → WordPress receives HTTP request
  2. WordPress routes request → Identifies BigCommerce product post type
  3. Template loads → Elementor template with custom widgets
  4. Product data fetch → Local WordPress database (synced from BigCommerce)
  5. Real-time pricing → Optional REST API call to BigCommerce for live prices (can be disabled)
  6. Render page → Elementor widgets display product info, images, reviews
  7. Track view → GTM fires product view event, Klaviyo tracks "Viewed Product"

Add to Cart Flow

  1. User clicks "Add to Cart" → JavaScript event captured
  2. API request → WordPress REST endpoint → BigCommerce API
  3. Cart updated → BigCommerce cart session created/updated
  4. Response → Cart count updated in header
  5. Tracking → GTM fires add-to-cart event, Klaviyo tracks "Added to Cart"

Checkout Flow

  1. User clicks checkout → Redirect to BigCommerce-hosted checkout
  2. Authentication → User login synced between WordPress and BigCommerce
  3. Payment processing → BigCommerce handles payment gateway
  4. Order creation → Order stored in BigCommerce
  5. Redirect back → User redirected to WordPress order confirmation page
  6. Email sent → WP Mail SMTP sends confirmation via configured gateway

Data Synchronization

Product Import (Daily Cron)

BigCommerce API → WordPress Cron → Product Importer

1. Fetch product IDs from channel
2. Queue products for processing
3. Process queue (5 products at a time)
4. Create/update WordPress posts
5. Import product images
6. Sync categories, brands, taxonomies
7. Update currency settings

Cron Schedule Options: Hourly, Twice Daily, Daily (default), Weekly

WP-CLI Alternative:

wp bigcommerce import products

Customer Account Sync

  • Registration: WordPress user → BigCommerce customer API
  • Login: WordPress authentication → BigCommerce customer token
  • Profile Updates: Bi-directional sync (configurable)

Database Structure

WordPress Tables (Custom)

  • wp_posts (post_type: bigcommerce_product) — Product data cached locally
  • wp_postmeta — Product metadata (price ranges, SKUs, BigCommerce IDs)
  • wp_termmeta — Category/brand mappings to BigCommerce entities

BigCommerce Data (via API)

  • Products — Source of truth for catalog data
  • Carts — Active shopping carts
  • Orders — Order history and fulfillment
  • Customers — Customer profiles and addresses

File Structure

wp-content/
├── plugins/
│ ├── bigcommerce-suma/ # BigCommerce integration (v5.0.7.20)
│ ├── suma-dealer-locator/ # Store locator (v3.0.2)
│ ├── suma-patches/ # Core WordPress customizations (v1.5.19)
│ ├── suma-bazaarvoice-integrator/# Reviews integration (v1.1.0)
│ ├── back-in-stock-notifications-for-klaviyo/ # Stock alerts (v1.3.2)
│ ├── elementor/ # Page builder (v3.27.6)
│ ├── elementor-pro/ # Pro features (v3.27.4)
│ ├── advanced-custom-fields-pro/ # Custom fields (v6.3.12)
│ ├── facetwp/ # Faceted search (v4.3.6)
│ ├── wp-search-with-algolia/ # Site search (v2.8.2)
│ ├── gravityforms/ # Form builder (v2.9.3)
│ ├── gravityforms-klaviyo/ # GF + Klaviyo integration (v1.7.3)
│ └── duracelltomi-google-tag-manager/ # GTM (v1.20.3)
├── themes/
│ ├── suma-elementor/ # Parent theme (v3.0.0)
│ └── suma-elementor-child/ # Child theme (v1.0.0)
└── uploads/ # Media library

Environment Configuration

WordPress Settings

wp-config.php key constants:

  • WP_DEBUGfalse (production)
  • WP_DEBUG_LOGtrue (error logging enabled)
  • DB_NAMEwp_walkers

BigCommerce Settings

Located at: BigCommerce → Settings in WordPress admin

  • API Credentials: Store hash, client ID/secret, access token
  • Channel Configuration: Multi-storefront channel mapping
  • Product Sync Schedule: Daily (configurable)
  • Cart Settings: Cart enabled, custom cart page
  • Checkout: BigCommerce-hosted checkout
  • Account Settings: User registration enabled

Structure: /%postname%/ Product URLs: /product/{product-name}/

Managed by Permalink Manager Pro (v2.5.0) for advanced URL control.

Integration Points

External Services

ServiceTypePurpose
BigCommerce APIREST/GraphQLProduct catalog, cart, checkout
Klaviyo APIRESTEmail marketing, customer data
BazaarVoice APIRESTProduct reviews, ratings, Q&A
Algolia APIRESTSearch indexing and queries
Google Tag ManagerJavaScriptAnalytics and marketing pixels
Instagram APIRESTSocial feed integration
MaxMind GeoIPAPIDealer locator IP-based location

Performance Considerations

Caching Strategy

  • Page Caching: Recommended (exclude cart, checkout, account pages)
  • Object Caching: Available via Redis/Memcached (object-cache.php present)
  • FacetWP Cache: Built-in query result caching
  • Algolia Cache: Client-side query caching

Asset Optimization

  • CSS: Minified via Laravel Mix
  • JavaScript: Bundled and minified
  • Images: WP Smush Pro automatic compression
  • CDN: Compatible with CloudFlare or other CDN providers

Database Optimization

  • Product Sync: Chunked processing (5 products at a time)
  • Transients: Used for API response caching
  • Query Optimization: FacetWP indexing for fast faceted queries

Scalability Notes

The current architecture supports:

  • Product Catalog: Unlimited (API-driven)
  • Concurrent Users: Limited by WordPress hosting capacity
  • Product Sync: Scalable via WP-CLI for large catalogs
  • Search: Algolia scales independently

For high-traffic scenarios, consider:

  • Full-page caching with cart/checkout exclusions
  • CDN integration for static assets
  • Database read replicas for product queries
  • Upgrade hosting to handle concurrent sessions

Next Steps