Everything you need to run WOOHL: a fast Vue.js storefront on your main domain, and your WooCommerce store — including checkout — on a secure subdomain.
01 · Getting started
WOOHL works best when you split where shoppers browse from where WordPress handles checkout: your main domain serves the Vue storefront, and a secure subdomain runs WordPress, WooCommerce, the WOOHL plugin and checkout.
example.com
Hosted by WOOHL · included in your plansecure.example.com
Your current WordPress host/checkoutexample.com (and www if used) to WOOHL using the CNAME shown in your dashboard. Self-hosting? Point it at your own server instead.secure.example.com as an A or CNAME record pointing to your existing WordPress server.https://secure.example.com.https://secure.example.com — we do this for you on managed hosting.https://example.com) for CORS.02 · Getting started
WOOHL turns your WooCommerce store into a fast, modern headless storefront built with Vue.js. Shoppers browse on the storefront; WooCommerce still runs products, orders, payments and inventory on the secure subdomain.
In short: WooCommerce stays the back end (on secure.example.com); Vue.js is the customer-facing storefront (on example.com).
03 · Getting started
04 · Getting started
| Component | Role |
|---|---|
| WOOHL WordPress plugin | Installed on secure.example.com. REST endpoints for accounts, cart handoff, SEO data, Elementor pages and forms; validates your license. |
| Vue.js storefront | Runs on example.com, hosted by WOOHL (included in your plan). Talks to the secure site through the plugin's APIs. A self-hosting package is also available. |
| License | A license key with an expiry date, tied to your purchase and locked to your storefront domain. |
| Downloads | The storefront and plugin ZIPs, from your email or My Account → Woohl Licenses. |
05 · Getting started
secure.example.com with your license key — we do this with you during migration.example.com; you point your domain using the CNAME from your dashboard.example.com; checkout completes on secure.example.com/checkout.06 · Getting started
https://secure.example.com (or your chosen secure subdomain).With WOOHL hosting (included): nothing to install — no server or build tools. We handle deployment.
Self-hosting (advanced): Node.js 22 with npm, pnpm or yarn, and a Node host such as DigitalOcean App Platform.
Check out while logged in to your woohl.dev account so your license appears under My Account — guest checkout may not link it.
07 · Setup
Renewing extends the same license key — nothing on your store changes. Reminder emails go out 30 and 7 days before expiry. An expired license stops validation and downloads until renewed.
08 · Setup
Install it only on the WordPress site that runs WooCommerce — the secure subdomain.
secure.example.com.https://secure.example.com/checkout.09 · Setup
Download the storefront ZIP from My Account, unzip it and install dependencies with npm install (or pnpm / yarn).
Create a .env file pointing the app at your secure back end:
# WooCommerce back end (secure subdomain)
WC_BASE_URL=https://secure.example.com
WC_CONSUMER_KEY=ck_xxxxxxxxxxxxxxxx
WC_CONSUMER_SECRET=cs_xxxxxxxxxxxxxxxx
# The public storefront URL (the domain your license is locked to)
WOOHL_FRONTEND_URL=https://example.com
# Optional but recommended: pins WOOHL's license-signing key
WOOHL_LICENSE_PUBLIC_KEY=paste-from-the-pubkey-endpoint
Create the consumer key and secret in WooCommerce → Settings → Advanced → REST API with Read/Write permission (write is used only to post customer product reviews). They stay on the server; the storefront never sends them to the browser.
npm run build.example.com (and www if needed) and enable HTTPS.https://example.com.https://secure.example.com, with no CORS errors in the browser console.https://secure.example.com/checkout.10 · Setup
The storefront only runs with a valid license. Validation happens on the server, and each license is locked to your storefront domain.
https://woohl.dev.https://woohl.dev/wp-json/woohl-license/v1/pubkey. It lets your store cryptographically verify that license responses really come from WOOHL.The first successful validation activates your storefront domain. Need a second domain — say, a staging site? Contact support and we'll add it to your license.
11 · Help
| Symptom | What to check |
|---|---|
| Storefront shows “License required” | Open Woohl → License on the secure site. The message names the cause: an expired license (renew it), a different registered domain (ask us to add yours), or the license server being unreachable. |
| Checkout 404 or wrong domain | WordPress Address and Site Address must both be https://secure.example.com; checkout lives at /checkout on that host. |
| CORS errors in the browser | Allow https://example.com in the WOOHL plugin settings, and avoid mixing HTTP and HTTPS. |
| Storefront loads but cart or API fails | Managed: check your dashboard that the storefront is active and the CORS origin is set. Self-hosted: confirm WC_BASE_URL is exactly https://secure.example.com and permalinks are enabled. |
| No license after purchase | Licenses are created when the order is paid. Check your spam folder, then My Account → Woohl Licenses. Still missing? Contact support and we'll issue it. |
| No licenses in My Account | Guest checkout may not link to your account — contact support and we'll assign the license to it. |
| A download looks incomplete | Contact support and we'll re-publish the package. |
| Elementor errors | Regenerate Elementor's CSS files, and build storefront pages from WOOHL section widgets rather than full-page embeds. |
12 · Help
WooCommerce checkout, payment gateways and order emails stay on your WordPress URL. The storefront sends shoppers there to pay — typically https://secure.example.com/checkout.
Not for the storefront — hosting is included in your plan. If you prefer to self-host on DigitalOcean, Render or another Node host, the storefront package is available from My Account.
Yes. Use any hostname for the storefront; keep WordPress on a dedicated secure subdomain and update the storefront URL and CORS settings to match.
No. WooCommerce is the store engine on the secure site; WOOHL adds the storefront and the plugin layer that connects them.
