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.
- Customize pages in minutes using modular product blocks.
- Showcase physical and digital goods, product variations, custom configurations, instant downloads, and affiliate items. Bookings, memberships, subscriptions, and dynamic pricing rules are only an extension away.
- Rise to the top of search results by leveraging WordPress’ SEO advantage.
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, and now: Spain, France, Germany, and Italy). Securely accept 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, FedEx, and ShipStation – 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 inventory 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; should you wish to migrate to a different platform, you’re free to export all your content and take your site wherever 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 – Make sure payment gateway title is a string before sanitizing. #33434
WooCommerce Blocks 7.6.1 & 7.6.2
- Fix – Fix error Uncaught Error: Call to undefined function Automattic\WooCommerce\Blocks\Templates\wp_is_block_theme() in WP 5.8. #6590
- Fix – Fix PHP notice in Mini Cart when prices included taxes. #6537
- Fix – Fix images hidden by default in Product grid blocks after WC 6.6 update. #6599
- Add – Add experimental import product task, which replaces the default add products task when selling elsewhere is selected during the OBW. #32835
- Add – Adding badge to homescreen item on admin menu for setup tasks #33025
- Add – Add filtered tracks properties to client-side tracks #32690
- Add – Add load sample products for experimental product task #32815
- Add – Add experimental add product for task list #32801
- Add – Add tracks to products list page #32949
- Add – Add experimental product task feature flag & experimental-products component #32774
- Add – Add experimental import product task feature flag & experimental-import products component #32789
- Add – Add track events for experimental import products task #32914
- Add – Add TikTok for Business plugin in the Marketing task #32850
- Add – Add fashion sample products #32977
- Add – Add task_view tracks prop for experimental products #32933
- Add – Added events for experimental products page #32944
- Add – Removed experimental product hook and instead poll the slot’s fill for variant metadata. To be removed when experiment concludes! #33052
- Add – Add the
needs_processingboolean properties to order response objects in both v2 and v3 of the WC REST API. #32900
- Add – Adds a
before_woocommerce_pay_formaction to the Pay for Order page. #33078
- Add – Add experimental product stack component #32779
- Add – Add support for select2 for the log files dropdown #32749
- Add – Adds usage data for the Mini Cart Block to the WC Tracker snapshot. #32777
- Add – Add wcadmin_tasklist_view_more_product_types_click track event for add product task #33058
- Add – Added react mount point in payment settings page for banner slotfill #32697
- Add – Adds a
search_skuparameter to the v3 products endpoint. Allows for partial match search of the product SKU field. #32046
- Add – Add
readmethod to custom order table datastore. #32701
- Add – CLI support for running COT migrations (one way). #32938
- Add – Implement backfill for wp_post and wp_postmeta table for custom tables. #32857
- Add – Effectively synchronize orders from the posts table to the custom orders table. #32817
- Add – Enable meta table to meta table migrations towards custom table project. #32701
- Add – Add an ‘image_src’ field to product line items returned by the orders endpoint (v2 and v3). This contains the URL of the main product image. #32851
- Add – Mark marketing task as complete when an extension is installed #32630
- Add – Add ‘recorded_sales’ meta to operational data table. #32925
- Add – Add formatting rules for Latvian postcodes. #32799
- Add – Add a WooCommerce > Subscriptions menu item for eligible stores to offer WC Payments Subscriptions functionality #32958
- Dev – Add Preview store button to Home screen #32739
- Dev – Add dropins to WCTracker #32686
- Dev – Bumps the WP version for the WP tested up to. #33025
- Dev – Add ExPlat call for product task experiment #32941
- Dev – #32925
- Dev – Add basic pre-requisite checking to the test suite installation script. #32687
- Dev – Fix typescript type errors in react admin
- Dev – Fix remaining typescript type errors in react admin #32712
- Dev – Fix typescript type errors in react admin ./client/tasks/task & ./client/tasks/tests #32698
- Dev – Fix typescript type errors in react admin ./client/two-column/tasks #32695
- Dev – Add @types/* & declare TS modules to fix admin TS errors #32616
- Dev – Standardize WooCommerce build scripts #32689
- Dev – Comment: Related to QOL #32804
- Dev – Comment: This is a JSON formatting change. #32899
- Dev – Check WP version 5.9 before adding mini_cart_block to WC Tracker #32835
- Dev – Standardize lint scripts: Add lint:fix #32795
- Dev – Update create-extension script to function in the monorepo. #32752
- Dev – Move Storybook to better monorepo location #31915
- Dev – Comment: This is a developer tooling change #32901
- Dev – Comment: No entry needed because this change only added a new performance test. #32606
- Dev – Updates the WC sniffs version to latest. #32870
- Dev – Comment: Tooling change #32657
- Dev – Comment: Simply remove woocommerce-admin tests folder #32621
- Dev – Remove the post_id column from the orders table, and adjust the SQL queries that count/get out of sync orders accordingly. #32706
- Dev – Update woo admin ts config to have an isolated TS environment #32616
- Dev – Updating scripts to use pnpm/Nx commands #32943
- Dev – Remove woo tracks type declaration from woo admin ./cleint. #32937
- Dev – Fix react admin ./client type errors after updating @woocommerce/data types #32735
- Dev – Removed temporary codepath added in #32603 since translation paths have been updated #33226
- Enhancement – Add fallback image for payments task gateway icons #32773
- Fix – Ensure observers of the
removed_coupon_in_checkoutevent can access the coupon code successfully. #32049
- Fix – Add legal messaging on WCPay task and fix click behavior #32824
- Fix – Allow removal of all zone regions from a shipping zone #32828
- Fix – Fix possible fatal error during install on PHP 8.x #32685
- Fix – Fix progress header title #32786
- Fix – Fix database errors after deleting WC Admin standalone plugin while WC 6.5 is active #32869
- Fix – Fix no padding between the task section and things to do next in experiment 2 #32866
- Fix – Fix fatal errors when activated alongside WooCommerce Admin plugin #32814
- Fix – Fix get_options function deprecation notice #32891
- Fix – Update finish setup button logic to adhere to new Task List data structure. #32926
- Fix – Fix notice on emptry product page #32973
- Fix – Make sure WooCommerce Admin is also being disabled on multi sites. #32981
- Fix – Skip payment welcome screen for wc pay banner experiment #33071
- Fix – Fixed broken event tracking by correcting ‘const’ to ‘let’ from a previous commit #33083
- Fix – Update path to email template for analytics report. #32838
- Fix – Don’t include draft orders in reports #32613
- Fix – Comment: This fixes a bug that was introduced in a PR targetting the same Woo version. #32756
- Fix – Fix janky border on hover product task items #32938
- Fix – Product attributes lookup table is now properly updated on WooCommerce upgrade and when using REST API batch endpoints #32893
- Fix – Comment: Changelog added in #32046, which has not yet been released, and this simply fixes a bug from that. #33039
- Fix – Sanitize order and orderby args in get_notes and lookup_notes. #32614
- Fix – Fix setup task list style conflict #32704
- Fix – Display the raw 6 decimal place tax data while editing line item #29688
- Fix – Fix payment settings banner tos link #33082
- Fix – Prevent errors and log a warning in the event the WP Filesystem cannot be initialized while updating the geoloc database. #33091
- Fix – Add exception handling to serialize when seriliazing context. #32577
- Fix – Add check for $wp_query before calling is_cart to prevent doing_it_wrong notice. #32747
- Fix – Revert 30204 for Indian pincode to “PIN Code” #33051
- Fix – Updates the stable tag and changelog from 6.5.1 release. #33037
- Fix – Comment: updating performance test request #33044
- Fix – Use the configured decimal separator to format product weight and dimensions #32746
- Fix – Fix dashboard and analytics crashing with certain timezone configuration #33206
- Fix – Fix clicking on edges of product task cards #33235
- Fix – Add guard to avoid error when $block_templates is null. #33180
- Fix – Add woo install timestamp to server experimental assignment requests. #33300
- Fix – Fix a warning caused by an attempt to iterate over a submenu that may not exist on WC Pay subscriptions page. #33339
- Fix – Fix the script version parameter for chunk URLs. #33332
- Fix – Sanitize payment gateway titles.
- Performance – Fix system status API requests that only query some fields #32823
- Tweak – For Vietnam, the second street address line should be displayed but not required. #32610
- Tweak – Comment: We’re adding extra protections to a newly introduced feature; a further changelog entry is not needed. #32771
- Tweak – Fix spacing between the Paymetn logo assets in the payment banner experiment. #33065
- Tweak – Comment: Omitting a changelog entry, because we’re correcting an unreleased oversight. #32744
- Tweak – Update TikTok onboarding icon #32857
- Tweak – Fix typescript type errors in react admin ./client/shipping #32688
- Tweak – Comment: Improves a newly added feature, so a further changelog entry is not required. #32776
- Tweak – Add wc-admin-deactivate-plugin to list of obselete notes so it gets deleted on upgrade #32982
- Tweak – Fix typescript type errors in react admin ./client/wp-admin-scripts #32678
- Tweak – Move the file for the DatabaseUtil class to the proper directory according to its namespace. #33109
- Tweak – Also allow getting category ID as option ID instead of term slug in wc-enhanced-select. #32743
- Tweak – Center experimental products view more button #32870
- Tweak – Refactor and improve tests payments task #32662
- Update – Add ExPlat usage. #33023
- Update – Modify migration to make cot.id === posts.id. #32701
- Update – Remove wc-admin-set-up-additional-payment-types inbox note #32800
- Update – Moved out product task experiment hook to onboarding package, added ExPlat logic to backend calls #32960
- Update – Update illustrations and copy of new task list. #32805
- Update – Change product import task items to use onClick for link #33075
- Update – Update product import task to appear only under experiment #33047
- Update – Use the core version for the @deprecated tags in WCA #32974
- Update – Use the core version for the @deprecated tags #32974
- Update – Change WCPayments task display logic #32923
- Update – Updating instance of now-deprecated pnpx to pnpm dlx/exec #32528
- Update – Add safeguards to ensure ExPlat API requests are valid #32855
- Update – Remove ExPlat calls for woocommerce_tasklist_progression_headercard_2col_2022_05 and woocommerce_tasklist_progression_headercard_2022_05 #32928
- Update – Payment banner experiment: update the description and make the button to redirect the users to the WC Pay connect page when the WC Pay is already installed #33066
- Update – Update add product task to only show “subscriptions” product type for stores in the US #33068
- Update – Enable feature flags for add product task #33049
- Update – Remove
memoize-onefrom woo admin dependency #32936
- Update – Remove
react-datesfrom woo admin dependency #32954
- Update – Add status of admin items to system status report #33030
- Update – Update to record completion time in time frame format #32932
- Update – Add confirmation dialog before loading the sample products #33167
WooCommerce Blocks 7.5.0 & 7.6.0
- Enhancement – Add PHP templates support to the Active Product Filters block. #6295
- Enhancement – Enable Draft orders in WooCommerce Core. #6288
- Enhancement – Various enhancements to the Featured Category Block. #6276
- Enhancement – Allow adding the Filter Products by Stock block to Product Catalog templates to filter products. #6261
- Enhancement – Various enhancements to the Featured Product Block. #6181
- Enhancement – Allow saved payment methods labels other than card/eCheck to display brand & last 4 digits if present. #6177
- Enhancement – Featured Category: Add background color option. #6368
- Enhancement – Featured Product: Add background color option. #6367
- Enhancement – Added media controls allowing the user to edit images within the editor on a Featured Category block. #6360
- Enhancement – Added media controls allowing the user to edit images within the editor on a Featured Product block. #6348
- Enhancement – Add the alt text control to the Featured Category block media settings. #6341
- Enhancement – Hide the Product Tag Cloud from the Widgets screen in classic themes. #6327
- Enhancement – Add the alt text control to the Featured Product block media settings. #6308
- Enhancement – GridContentControl: Add product image control. #6302
- Fix – Filter Products by Attribute: Fix the page reload which happens when clicking the filter button on Woo templates using the Classic Template block #6287
- Fix – Store API: Show visible attributes in simple products, and hidden attributes in variable products. #6274
- Fix – Add RTL support for the Mini Cart icon. #6264
- Fix – Fix page load problem due to incorrect URL to certain assets. #6260
- Fix – Make Filters Products by Price work with Active Filters block for the PHP rendered Classic Template. #6245
- Fix – Fix page refresh when using filters with the All Products block on non-product archive templates for WooCommerce. #6324
- Fix – Fix Customizer fatal error on PHP 8. #6317
- Fix – Fix Featured Product block frontend mismatch. #6263
- Fix – Fix attribute filter dropdown list z-index level. #6294
- Fix – Product Query: Pass any product taxonomies existing in the URL parameters. #6152
- Fix – Fix: Align Empty Mini Cart Contents block center in the Site Editor. #6379
- Fix – Remove the Template panel from the Setting Sidebar for Shop page. #6366
- Fix – Parse categories coming from the back-end as a json array. #6358
- Fix – Update the default width of Classic Template to Wide width. #6356
- Fix – Mini Cart block is not available from the Edit template screen. #6351
- Fix – Fix Filter Products by Attribute block not working on PHP templates when Filter button was enabled. #6332