A step-by-step guide to get a new headless store built on Vendure, WordPress and Webien’s Elementor storefront for Vendure up and running in a breeze.
Introduction
More and more WordPress agencies are starting to look beyond WooCommerce as their default e-commerce engine. Performance issues, plugin conflicts, and scaling limitations are pushing clients—and developers—to explore more modern, modular alternatives.
This is where headless e-commerce comes in. With a headless architecture, you can decouple the CMS from the e-commerce engine, giving you more flexibility, better performance, and a smoother development experience.
And the best part? You don’t have to leave WordPress behind.In this guide, we’ll walk you through how to get a local Vendure backend up and running and connect it to a WordPress installation using Elementor and a pre-built headless storefront.
What You’ll Need
Before we begin, make sure you have the following:
Technical prerequisites
- Node.js and npm installed
- A local WordPress installation with Elementor (any setup tool like LocalWP or DevKinsta works)
- Basic command line knowledge
- Elementor Pro (recommended for theme builder capabilities)
Tools we’ll use
- Vendure – Headless e-commerce engine (runs locally)
- WordPress + Elementor – For content and layout
- Our prebuilt Elementor storefront package (plugin or component library)
Step 1: Set Up Vendure Locally
First, we’ll create a local Vendure instance. Vendure provides a CLI to scaffold your project quickly:
npx @vendure/create my-shop
cd my-shop
npm run build
npm run dev
This starts a local development server at http://localhost:3000.
You now have:
- Shop API: http://localhost:3000/shop-api
- Admin UI: http://localhost:3000/admin
- A working product catalog with dummy data
You can use the Admin UI to explore products, orders, and configuration, but for this guide we’ll only need the Shop API, which is public by default and requires no authentication for basic queries.
Step 2: Install the Headless Storefront in WordPress
With Vendure running, it’s time to set up the storefront in WordPress.
1. Install our storefront plugin
This plugin registers a set of custom Elementor widgets (or blocks) that communicate with the Vendure API. You can use these widgets to render:
- Product grid
- Product detail view
- Cart and checkout components
- Add-to-cart buttons
2. Configure the API connection
In the plugin settings:
- Set your API endpoint to:
http://localhost:3000/shop-api
No API key is required for reading product data or placing orders via the Shop API.
Step 3: Build Your First Storefront with Elementor
Now that both the backend and frontend are set up, it’s time to create a simple MVP storefront.
1. Create a new page in WordPress
Use Elementor to drag and drop the following widgets:
- Product Grid – Displays product listings from Vendure
- Product Detail – Template for individual product pages
- Cart + Checkout – Add these to your Cart and Checkout pages
Each component connects automatically to your Vendure backend via the API.
2. Customize layout and styling
Use Elementor’s visual controls to:
- Adjust the number of columns in the product grid
- Set up category filters or tags
- Style buttons, forms, and layout to match your brand
3. Test the full shopping flow
Open the site in a new tab and walk through the entire flow:
- Browse products
- Add to cart
- Proceed to checkout
- Confirm the order appears in Vendure Admin
You now have a working headless storefront—powered by WordPress for content and Vendure for e-commerce.
Wrapping Up
This setup allows your agency to offer modern, headless e-commerce without leaving the WordPress ecosystem. With just a local Vendure backend and a pre-built Elementor integration, you can create fast, flexible storefronts that:
- Load faster than plugin-heavy WooCommerce sites
- Are easier to scale and maintain
- Keep the content workflows your team and clients already know
You’ve taken the most important step to proving that headless WordPress e-commerce is within reach—without reinventing your agency’s entire workflow.