Overview
An overview of the Product Listing Pages (PLP) Engine in the Malachyte Portal
The Product Listing Pages (PLP) Engine is a core module within the Malachyte Portal that governs how products, merchandising logic, filters, personalization signals, and inline content are rendered across listing experiences.
The PLP Engine functions as the orchestration layer between Shopify Collections and Malachyte's ranking, merchandising, and personalization systems, enabling merchants to configure high-performance product grids without modifying theme code.
Core Governance Principle
[!IMPORTANT] PLPs Are Collection-Governed Every PLP corresponds to a Shopify Collection. The PLP Engine does not create independent page entities. Instead, it enhances and controls the behavior, layout, and ordering of products within the bounds of a Shopify collection.
This design keeps merchant mental models aligned with Shopify primitives and prevents architectural drift:
- Ranking, pinning, filtering, banners, and personalization operate inside the dataset returned by the collection.
- No duplicate routing, indexing, or page entities are introduced.
- The PLP Engine is a behavioral and rendering layer, not a page builder.
Objectives
1. Centralize PLP Control
Provide a single configuration surface for layout, ranking, filters, and inline content instead of scattering logic across themes and third-party apps.
2. Enable Non-Engineering Control
Merchants and marketers must be able to adjust placement, filters, and banners without deployments.
3. Preserve Performance While Allowing Adaptability
Personalization and ranking must not degrade first render speed or create layout instability.
4. Maintain Visual Consistency Across Devices
Layout flexibility must not produce unpredictable grid shifts or fragmented design patterns.
Key Capabilities
| Capability | Description |
|---|---|
| Grid & Layout Engine | Configurable column counts by device with support for inline promotional spots |
| Filtering & Sorting | Merchant-controlled attribute visibility and standard sort options |
| Merchandising & Ranking | Rule-based actions (Promote, Bury, Hide, Only Show) plus Pinning |
| Banner Injection | MetaObject-driven promotional content without theme changes |
| Playground | Visual preview environment with device toggles |
| API Integration | RESTful endpoints mirroring Search patterns |
PLP User Flow
The typical workflow for configuring a PLP in the Malachyte Portal:
-
Create a Collection in Shopify The Shopify Collection acts as the governing dataset for the PLP.
-
[Optional] Create PLP Banners via Shopify MetaObjects If inline banners or promotional content are desired, create MetaObjects using the
plp_bannerschema. -
Navigate to the PLP Section in the Portal The PLP module serves as the configuration and control surface for collection-based listing experiences.
-
Select a Collection Collections are displayed in a searchable table with ID, name, and product count.
-
View Existing Configuration Review merchandising rules, associated banners, enabled filters, and sorting configuration.
-
Apply Merchandising & Ranking Rules Configure Promote, Bury, Hide, Only Show, and Pin rules for the collection.
-
Preview in the Playground Visual grid preview with device toggles reflecting filters, banners, pinning, and ranking.
-
Save / Publish Configuration Configuration is stored in Malachyte and runtime behavior updates automatically.
-
Review Performance Analytics Monitor click-through rates, conversion impact, banner performance, and engagement metrics.
Integration Philosophy
The PLP Engine is designed to work seamlessly with other Malachyte modules:
- PLP Engine defines what appears and how it is ordered.
- Playground shows how it will appear before going live.
- Attribution explains why it performed the way it did.
[!TIP] Changes made in the Portal do not modify Shopify theme code. Behavior changes are injected at runtime, allowing for rapid iteration without deployment cycles.