How Much Traffic Can WooCommerce Handle?
Have you ever heard that you shouldn’t use WooCommerce for a busy store? Or perhaps you’ve heard it’s not for stores with a lot of visitors, which makes you wonder how much traffic a WooCommerce […]

Copy the link to a markdown format of this article for ChatGPT, Claude, Gemini, or your favorite AI.
As the world shifts more and more to online ordering, the need for a fast and flawless ecommerce experience has never been more important. Developers are embracing headless ecommerce, which has changed the way we approach website architecture.
Headless, or “decoupled” WooCommerce separates the user interface – what your customers see and interact with – from the backend systems responsible for managing inventory, processing orders, and handling other critical functions. This decoupling gives businesses a higher level of control and customization over their online storefronts, allowing for integration with a variety of front-end frameworks, tools, and platforms.
With this understanding, let’s explore the advantages, challenges, and practical steps involved in implementing a headless WooCommerce site.
With headless or decoupled site creation, content creators harness the power of the WordPress CMS, while developers and designers have the freedom to present frontend content using their preferred tech stack (such as React.js). Understanding when this architecture is right for your online store involves weighing the benefits of headless versus non-headless setups.
It’s worth considering common performance issues encountered by some headless sites, such as uncacheable requests, excessive asset fetching, and resource abuse. Mismanagement of the stack can also introduce unnecessary complexity, escalating management issues, costs, and security risks.
So, how can a headless setup benefit your WooCommerce store?
While a headless WooCommerce setup offers numerous benefits, you should also know the drawbacks website owners may encounter before committing to this approach.
Here are a few negatives to implementing a headless WooCommerce website:
Joshua Goode, Senior Technical Lead at Pressable, notes, “Overall, I am not a fan of decoupled/headless sites in most cases. It has its place but, for most sites and use cases, I find it’s over-engineering that adds unnecessary complexity to something that could be just as performant and much more simple.”
Ultimately, a headless WooCommerce implementation is only suitable for specific scenarios and users should carefully evaluate whether it aligns with their needs. For those websites where this approach is appropriate, Pressable is committed to providing support throughout the process where we can.
Transitioning to a headless WooCommerce platform requires careful consideration of the tools, plugins, and frameworks that will ensure a seamless operation.
Pressable recommends several key components for a successful transition:
Pressable’s hosting service offers unique features tailored to support headless and decoupled WooCommerce setups, such as:
Creating a headless WooCommerce site can open up a world of creative opportunities for those with the need and the know-how to implement it correctly.
Here’s a step-by-step guide to help you get started:
Prerequisites: Before starting, ensure you have Node.js and npm installed on your development machine.
Install WPGraphQL: Assuming you already have WordPress and WooCommerce set up, install the WPGraphQL plugin by navigating to your WordPress admin dashboard, then Plugins → Add New. Search for WPGraphQL, install, and activate it.
Install WooGraphQL: You will also need to install WPGraphQL WooCommerce (WooGraphQL) by downloading and extracting the zip folder into the Plugins directory of your WordPress installation.
Set Permalinks: Go to Settings → Permalinks from the WordPress admin dashboard and ensure that the permalink structure is not set to Plain. This step is necessary for WPGraphQL to work correctly. If you’re not sure which permalink setting to use, “Post Name” is a popular choice that works for most websites.
Create a React App: On your development machine, create a React app by running the following command in your terminal:
npx create-react-app my-headless-woocommerce
Replace my-headless-woocommerce: Exchange my-headless-woocommerce with your desired project name, then navigate into your project directory using:
cd my-headless-woocommerce
Install Apollo Client: Install Apollo Client to interact with GraphQL by running the following command:
npm install @apollo/client graphql
Set up Apollo Client: Within your React project folder, create a new file named apolloClient.js in the src directory. Set up Apollo Client with your WordPress site’s GraphQL endpoint:
import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
const client = new ApolloClient({
link: new HttpLink({
uri: "YOUR_WORDPRESS_SITE_URL/graphql",
}),
cache: new InMemoryCache(),
});
export default client;
Replace YOUR_WORDPRESS_SITE_URL: Exchange YOUR_WORDPRESS_SITE_URL with your website’s URL and ensure to add /graphql at the end.
Create GraphQL Queries: Within your React project src directory, create a folder to store your GraphQL queries (e.g., graphql), then create a queries.js file inside. Define your GraphQL queries using the gql function provided by Apollo Client. For example, to fetch products from your WooCommerce store, define a query like this:
import { gql } from "@apollo/client";
export const GET_PRODUCTS = gql`
query GetProducts {
products {
nodes {
id
name
description
... on SimpleProduct {
price
image {
uri
srcSet
sourceUrl
}
}
}
}
}
`;
You can add more queries to this file as needed, organizing them by their purpose (e.g., products, categories, orders, etc.)
Create React Components: Create React components to display data fetched from your WordPress backend. For example, create a component to display a list of products:
Render Components: Render your React components in the main App component (src/App.js) and provide the ApolloProvider to establish a connection with Apollo Client:
import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
const client = new ApolloClient({
link: new HttpLink({
uri: "YOUR_WORDPRESS_SITE_URL/graphql",
}),
cache: new InMemoryCache(),
});
export default client;
Start Your Application: Start your React application and view it in your web browser by running the following command in your terminal/command prompt: npm start
You’ve now set up a basic headless WooCommerce site, ready to be customized and enhanced to meet your specific needs. Remember that the details of designing, formatting, and creating your front-end will vary significantly based on your shop’s requirements, but this guide serves as a solid foundation for getting started.
Decoupling the front-end from the back-end helps you harness the power of WordPress and WooCommerce while using different front-end technologies for your website.
While not suitable for every website, a headless WooCommerce approach empowers you with total flexibility on your front-end. With Pressable’s features, such as advanced caching, specialized rate limit exceptions for the /graphql endpoint, and automatically scalable infrastructure, you can build and maintain a lightning-fast headless WooCommerce site effortlessly.
Ready to elevate your online store? Learn more about Pressable’s WooCommerce hosting and unlock the full potential of headless WooCommerce!
Have you ever heard that you shouldn’t use WooCommerce for a busy store? Or perhaps you’ve heard it’s not for stores with a lot of visitors, which makes you wonder how much traffic a WooCommerce […]
If you’re a WooCommerce store owner, then chances are you’re focused on growth. More traffic, more products, more customers, and more sales. But, success doesn’t just mean growing at the fastest rate possible. You need […]
Is your WooCommerce online store Payment Card Industry (PCI) compliant? Data breaches are common in the electronic commerce word. To buy products online, customers must submit sensitive cardholder data, such as their credit card information […]