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)
| Component | Technology | Version | Purpose |
|---|---|---|---|
| CMS | WordPress | 6.7.2 | Content management & routing |
| Theme | Suma Elementor | 3.0.0 | Custom theme framework |
| Page Builder | Elementor Pro | 3.27.4 | Visual page builder |
| Custom Fields | ACF Pro | 6.3.12 | Extensible metadata |
| Forms | Gravity Forms | 2.9.3 | Lead capture & contact |
| SEO | Yoast SEO | 24.5 | Search optimization |
Commerce Layer (BigCommerce)
| Component | Technology | Version | Purpose |
|---|---|---|---|
| E-Commerce Plugin | BigCommerce for WP (Suma) | 5.0.7.20 | BigCommerce API integration |
| Product Sync | WordPress Cron | — | Automated product imports |
| Cart | BigCommerce API | — | Shopping cart management |
| Checkout | BigCommerce Hosted | — | Secure checkout flow |
| Orders | BigCommerce API | — | Order processing & fulfillment |
Search & Discovery
| Component | Technology | Version | Purpose |
|---|---|---|---|
| Faceted Search | FacetWP | 4.3.6 | Product filtering |
| Site Search | Algolia | 2.8.2 | Instant search |
| Dealer Locator | Suma Dealer Locator | 3.0.2 | Store finder |
Marketing & Analytics
| Component | Technology | Version | Purpose |
|---|---|---|---|
| Email Marketing | Klaviyo | — | Email campaigns & automation |
| Reviews | BazaarVoice | 1.1.0 | Product reviews & ratings |
| Analytics | Google Tag Manager | 1.20.3 | Event tracking |
| Social | Instagram Feed Pro | 6.6.1 | Social proof |
Security & Performance
| Component | Technology | Version | Purpose |
|---|---|---|---|
| 2FA | WP 2FA | 2.8.0 | Two-factor authentication |
| Activity Log | WP Activity Log | 5.3.4.1 | Security audit logging |
| Headers Security | Headers Security Advanced | 5.0.42 | HTTP security headers |
| Image Optimization | WP Smush Pro | 3.17.1 | Image compression |
| Email Delivery | WP Mail SMTP | 4.3.0 | Reliable email sending |
| Site Management | MainWP Child | 5.3.5 | Remote site management |
Request Flow
Product Page Request
- User requests product page → WordPress receives HTTP request
- WordPress routes request → Identifies BigCommerce product post type
- Template loads → Elementor template with custom widgets
- Product data fetch → Local WordPress database (synced from BigCommerce)
- Real-time pricing → Optional REST API call to BigCommerce for live prices (can be disabled)
- Render page → Elementor widgets display product info, images, reviews
- Track view → GTM fires product view event, Klaviyo tracks "Viewed Product"
Add to Cart Flow
- User clicks "Add to Cart" → JavaScript event captured
- API request → WordPress REST endpoint → BigCommerce API
- Cart updated → BigCommerce cart session created/updated
- Response → Cart count updated in header
- Tracking → GTM fires add-to-cart event, Klaviyo tracks "Added to Cart"
Checkout Flow
- User clicks checkout → Redirect to BigCommerce-hosted checkout
- Authentication → User login synced between WordPress and BigCommerce
- Payment processing → BigCommerce handles payment gateway
- Order creation → Order stored in BigCommerce
- Redirect back → User redirected to WordPress order confirmation page
- 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 locallywp_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_DEBUG→false(production)WP_DEBUG_LOG→true(error logging enabled)DB_NAME→wp_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
Permalinks
Structure: /%postname%/
Product URLs: /product/{product-name}/
Managed by Permalink Manager Pro (v2.5.0) for advanced URL control.
Integration Points
External Services
| Service | Type | Purpose |
|---|---|---|
| BigCommerce API | REST/GraphQL | Product catalog, cart, checkout |
| Klaviyo API | REST | Email marketing, customer data |
| BazaarVoice API | REST | Product reviews, ratings, Q&A |
| Algolia API | REST | Search indexing and queries |
| Google Tag Manager | JavaScript | Analytics and marketing pixels |
| Instagram API | REST | Social feed integration |
| MaxMind GeoIP | API | Dealer 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