WooCommerce is the world’s most popular open-source eCommerce solution.
Our core platform is free, flexible, and amplified by a global community. The freedom of open-source means you retain full ownership of your store’s content and data forever.
Whether you’re launching a business, taking brick-and-mortar retail online, or developing sites for clients, use WooCommerce for a store that powerfully blends content and commerce.
- Create beautiful, enticing storefronts with themes suited to your brand and industry.
- Increase revenue with an optimized shopping cart experience that converts.
- Customize product pages in minutes using modular product blocks.
- Showcase physical and digital goods, product variations, custom configurations, instant downloads, and affiliate items.
- Sell subscriptions, bookings, or memberships, with our developer-vetted extensions.
- Rise to the top of search results by leveraging WordPress’ SEO advantage.
- Build on a platform that scales. Get flexible eCommerce for high-volume stores.
Built-in tools and popular integrations help you efficiently manage your business operations. Many services are free to add with a single click via the optional Setup Wizard.
- Choose how you want to get paid. Conveniently manage payments from the comfort of your store with WooCommerce Payments (Available in the U.S., U.K., Ireland, Australia, New Zealand, Canada, Spain, France, Germany, and Italy). Securely accept credit cards, mobile wallets, bank transfers, and cash thanks to 100+ payment gateways – including Stripe, PayPal, and Square.
- Configure your shipping options. Print USPS labels right from your dashboard and even schedule a pickup with WooCommerce Shipping (U.S.-only). Connect with well-known carriers such as UPS and FedEx – plus a wide variety of delivery, inventory, and fulfillment solutions for your locale.
- Simplify sales tax. Add WooCommerce Tax or similar integrated services to make automated calculations a reality.
Grow your business, add features, and monitor your store on the go
WooCommerce means business. Keep tabs on the performance metrics most important to you with WooCommerce Admin – a powerful, customizable central dashboard for your store.
Expand your audience across marketing and social channels with Google Ads, HubSpot, Mailchimp, and Facebook integrations. You can always check out the in-dashboard Marketing Hub for fresh ideas and tips to help you succeed.
Enhance store functionality with hundreds of free and paid extensions from the official WooCommerce Marketplace. Our developers vet each new extension and regularly review existing extensions to maintain Marketplace quality standards. We are actively looking for products that help store builders create successful stores.
Manage your store from anywhere with the free WooCommerce mobile app (Android and iOS). Spoiler alert: Keep an ear out for the slightly addictive “cha-ching” notification sound each time you make a new sale!
Own and control your store data – forever
With WooCommerce, your data belongs to you. Always.
If you opt to share usage data with us, you can feel confident knowing that it’s anonymized and kept secure. Choose to opt-out at any time without impacting your store.
Unlike hosted eCommerce solutions, WooCommerce store data is future-proof; you’re free to export all your content and take your site to any platform you choose. No restrictions.
Why developers choose (and love) WooCommerce
Developers can use WooCommerce to create, customize, and scale a store to meet a client’s exact specifications, making enhancements through extensions or custom solutions.
- Leverage hooks and filters to modify or create functionality.
- Integrate virtually any service using a robust REST API and webhooks.
- Design and build custom content blocks with React.
- Inspect and modify any aspect of the core plugin code.
- Speed up development with a lightning-fast CLI.
The core platform is tested rigorously and often, supported by a dedicated development team working across time zones. Comprehensive documentation is updated with each release, empowering you to build exactly the store required.
Be part of our growing international community
WooCommerce has a large, passionate community dedicated to helping merchants succeed – and it’s growing fast.
There are WooCommerce Meetups in locations around the world that you can attend for free and even get involved in running. These events are a great way to learn from others, share your expertise, and connect with like-minded folks.
WooCommerce also has a regular presence at WordCamps across the globe – we’d love to meet you.
Contribute and translate
WooCommerce is developed and supported by Automattic, the creators of WordPress.com and Jetpack. We also have hundreds of independent contributors, and there’s always room for more. Head to the WooCommerce GitHub Repository to find out how you can pitch in.
WooCommerce is translated into multiple languages, including Danish, Ukrainian, and Persian. Help localize WooCommerce even further by adding your locale – visit translate.wordpress.org.
- PHP 7.2 or greater is recommended
- MySQL 5.6 or greater is recommended
Visit the WooCommerce server requirements documentation for a detailed list of server requirements.
Automatic installation is the easiest option — WordPress will handle the file transfer, and you won’t need to leave your web browser. To do an automatic install of WooCommerce, log in to your WordPress dashboard, navigate to the Plugins menu, and click “Add New.”
In the search field type “WooCommerce,” then click “Search Plugins.” Once you’ve found us, you can view details about it such as the point release, rating, and description. Most importantly of course, you can install it by! Click “Install Now,” and WordPress will take it from there.
Manual installation method requires downloading the WooCommerce plugin and uploading it to your web server via your favorite FTP application. The WordPress codex contains instructions on how to do this here.
Automatic updates should work smoothly, but we still recommend you back up your site.
If you encounter issues with the shop/category pages after an update, flush the permalinks by going to WordPress > Settings > Permalinks and hitting “Save.” That should return things to normal.
WooCommerce comes with some sample data you can use to see how products look; import sample_products.xml via the WordPress importer. You can also use the core CSV importer or our CSV Import Suite extension to import sample_products.csv
Where can I find WooCommerce documentation and user guides?
Where can I get help or talk to other users about WooCommerce Core?
If you get stuck, you can ask for help in the WooCommerce Support Forum by following these guidelines, reach out via the WooCommerce Community Slack, or post in the WooCommerce Community group on Facebook.
Where can I get help for extensions I have purchased on WooCommerce.com?
For assistance with paid extensions from the WooCommerce.com Marketplace: first, review our self-service troubleshooting guide. If the problem persists, kindly log a support ticket via our helpdesk. Our dedicated Happiness Engineers aim to respond within 24 hours.
I’m having trouble logging in to WooCommerce.com – what now?
Will WooCommerce work with my theme?
Yes! WooCommerce will work with any theme but may require some additional styling. If you’re looking for a theme featuring deep WooCommerce integration, we recommend Storefront.
How do I update WooCommerce?
We have a detailed guide on How To Update WooCommerce.
My site broke – what do I do?
Start by diagnosing the issue using our helpful troubleshooting guide.
If you noticed the error after updating a theme or plugin, there might be compatibility issues between it and WooCommerce. If the issue appeared after updating WooCommerce, there could be a conflict between WooCommerce and an outdated theme or plugin.
In both instances, we recommend running a conflict test using Health Check (which allows you to disable themes and plugins without affecting your visitors) or troubleshooting the issue using a staging site.
Where can I report bugs?
Report bugs on the WooCommerce GitHub repository. You can also notify us via our support forum – be sure to search the forums to confirm that the error has not already been reported.
Where can I request new features, themes, and extensions?
Request new features and extensions and vote on existing suggestions on our official ideas board. Our Product teams regularly review requests and consider them valuable for product planning.
WooCommerce is awesome! Can I contribute?
Where can I find REST API documentation?
Extensive WooCommerce REST API Documentation is available on GitHub.
My question is not listed here. Where can I find more answers?
Check out Frequently Asked Questions for more.
Contributors & Developers
“WooCommerce” is open source software. The following people have contributed to this plugin.Contributors
- Fix – Fix business details step when Gutenberg is active #35448
- Fix – Check order type is set before returning to prevent notice. #35349
- Fix – When HPOS is enabled, posts are authoritative, and sync is enabled, ensure the HPOS record correctly tracks the CPT order record. #35402
- Fix – Allow line breaks in order note again. #35366
- Fix – Sync orders for stats table. #35118
- Fix – Fix (un)trashing of orders when using HPOS #35125
- Fix – Check whether order has classname before returning. #35207
- Fix – Add billing and shipping address indexes on order update. #35121
- Fix – Use correct datastore when backfilling orders. #35176
- Fix – (HPOS) Ensure we use GMT when populating the
date_created_gmtcolumn for orders. #34875
- Fix – Admin list table for orders (in HPOS mode) should check in case the user pages beyond the available range. #34793
- Fix – Allow features to declare their initial enabled state. #34867
- Fix – Customers should be able to pay for orders so long as any required stock reductions have already taken place. #33575
- Fix – Do no override order defaults with NULL values (HPOS) #34822
- Fix – Fix “Industry” options fails to save in the Industry step after reloading the page for OBW #34847
- Fix – Fix a fatal error thrown by init_theorder_object due to the return type declaration #34730
- Fix – fixed mismatching jetpack user should not see mobile app task list item #35052
- Fix – Fix enable guided mode button not trigger when its text is translated #34843
- Fix – Fixes test environment setup setting datetime for customer user creation #34888
- Fix – Fix JSON schema for product’s image properties. #34852
- Fix – Fix obw validation issue to truly disable the continue buttons #34895
- Fix – Fix onboarding wizard popover padding for WP6.1 #34896
- Fix – Fix order refund removal when the HPOS datastore is in use. #34785
- Fix – Handle loading and error states for magic link button #35068
- Fix – Implement missing method of calculating shipping and total tax. #34805
- Fix – Serialize meta value before rendering so that it’s rendered properly. #34952
- Fix – Set correct timezone when backfilling data. #35033
- Add – Twenty Twenty-Three theme compatibility. #35306
- Add – Add handling for plugin-feature incompatibilities #34879
- Add – Add inventory stock management to new product management experience #34984
- Add – Add new attributes section and field for the new Product Management Experience. #34751
- Add – Add order preview functionality to HPOS list table. #34770
- Add – Add playwright api-core-tests for customers crud operations #34945
- Add – Add playwright api-core-tests for order notes crud operations #34979
- Add – Add playwright api-core-tests for product properties crud operations #34998
- Add – Add playwright api-core-tests for tax rates crud operations #34960
- Add – Add shipping class section and dropdown #34684
- Add – Add shipping dimensions section to product page #34329 #34856
- Add – Add SKU field to new product management experience #34978
- Add – Add the WooCommerce features engine #34727
- Add – Deprecate existing
wp wc cot migratecommand and replace with
wp wc cot sync. #34676
- Add – Disable action buttons when product form is invalid #34658
- Add – Expand attributes list to display attributes list and allow removal and re-ordering. #34841
- Add – Images Product management #34769
- Add – Improve on feature incompatibility plugin screens. #35063
- Add – Render columns via action so that they can be hooked into. #34900
- Add – Support
wc_customer_bought_productfunction in HPOS. #34931
- Add – The updates will mean that the github workflows use the playwright versions of the api-core-tests rather than the supertest versions of the tests. #34935
- Update – Don’t show feature compatibility warnings for inactive plugins #35333
- Update – Update WooCommerce Blocks to 8.7.5 #35428
- Update – Improve the warnings about incompatibilities between plugins and features #35198
- Update – Additional payment methods on new WCPay promotion page (payment-welcome) #34581
- Update – Add Tiktok to free grow extensions list #34953
- Update – Allowing generic item type in new experimental SelectControl. #34547
- Update – Change order data store internal key to props for better representation. #34627
- Update – Changing inbox display to only 5 notes with the ability to load more. #35003
- Update – Deploy spotlight product tour treatment #34859
- Update – Track orders origin in WC_Tracker. #35069
- Update – Updates a few css selectors to be more robust #34790
- Update – Update WCPay promo requirements and ensure it’s dismissed on every scenario #35030
- Dev – Add api-core-tests for playwright #34835
- Dev – Add fail-fast configuration to Playwright E2E tests. #33977
- Dev – Add new shippping class modal to a shipping class section in product page #34937
- Dev – Add shipping dimensions image to visualize the sizes of the product #34329 #34857
- Dev – Add tests for UI Revamp on Marketing Page. #34840
- Dev – Exclude “debug” module from babel compile to fix the tour kit stories loading error #34831
- Dev – Fix node and pnpm versions via engines #34773
- Dev – Improve the matching of plugins during the compatibility check. #35070
- Dev – Load size units to show it as a suffix of shipping dimensions fields #34329 #34856
- Dev – Match TypeScript version with syncpack #34787
- Dev – set the store country in the test step #34972
- Dev – Update Playwright to 1.26.0 and fix a few flaky tests #34790
- Dev – Update pnpm version constraint to 7.13.3 to avoid auto-install-peers issues #35007
- Tweak – Add hooks that fire before an HPOS order is deleted or trashed. #34858
- Tweak – Disable new-product-management-experience feature flag in development. #34836
- Tweak – Update copy in the payments welcome modal #35031
- Tweak – Update subdivision codes for New Zealand, to match current CLDR specification. #35011
- Tweak – When the primary order store is the posts table, and sync is enabled, propagate changes outside of dedicated migrations. #34863
- Performance – Support fetching order types in bulk to improve performance. #34976
- Enhancement – Add support for complex field queries for orders. #34533
- Enhancement – Also read from posts when reading from orders as a mittigation to direct write. #34465
- Enhancement – Enable async typeahead fields for the attribute and term fields within products. #34744
- Enhancement – Enchance tour experience for store location #34697
WooCommerce Blocks 8.7.0 & 8.7.1 & 8.7.2 & 8.7.3 & 8.7.4 & 8.7.5
- Enhancement – Improve visual consistency between block links. (7340)
- Enhancement – Update the titles of some inner blocks of the Cart block and remove the lock of the Cross-Sells parent block. (7232)
- Enhancement – Add filter for place order button label. (7154)
- Enhancement – Exposed data related to the checkout through wordpress/data stores. (6612)
- Enhancement – Add simple, large & two menus footer patterns. (7306)
- Enhancement – Add minimal, large, and essential header patterns. (7292)
- Enhancement – Add
showRemoveItemLinkas a new checkout filter to allow extensions to toggle the visibility of the
Remove itembutton under each cart line item. (7242)
- Enhancement – Add support for a GT tracking ID for Google Analytics. (7213)
- Enhancement – Separate filter titles and filter controls by converting filter blocks to use Inner Blocks. (6978)
- Enhancement – StoreApi requests will return a
Cart-Tokenheader that can be used to retrieve the cart from the corresponding session via GET
- Fix – Fixed HTML rendering in description of active payment integrations. (7313)
- Fix – Hide the shipping address form from the Checkout when the “Force shipping to the customer billing address” is enabled. (7268)
- Fix – Fixed an error where adding new pages would cause an infinite loop and large amounts of memory use in redux. (7256)
- Fix – Ensure error messages containing HTML are shown correctly in the Cart and Checkout blocks. (7231)
- Fix – Prevent locked inner blocks from sometimes displaying twice. (6676)
- Fix – StoreApi
/checkoutendpoint now returns HTTP 402 instead of HTTP 400 when payment fails. (7273)
- Fix – Fix a problem that causes an infinite loop when inserting Cart block in wordpress.com. (7367)
- Fix – Fixed a problem where Custom Order Tables compatibility declaration could fail due to the unpredictable plugin order load. (7395)
- Fix – Refactor useCheckoutAddress hook to enable “Use same address for billing” option in Editor (7393)
- Fix – Fixed an issue where the argument passed to
canMakePaymentcontained the incorrect keys. Also fixed the current user’s customer data appearing in the editor when editing the Checkout block.
- Fix – Compatibility fix for Cart and Checkout inner blocks for WordPress 6.1.