WooCommerce is a free eCommerce plugin that allows you to sell anything, beautifully. Built to integrate seamlessly with WordPress, WooCommerce is the world’s favorite eCommerce solution that gives both store owners and developers complete control.
With endless flexibility and access to hundreds of free and premium WordPress extensions, WooCommerce now powers 30% of all online stores -- more than any other platform.
With WooCommerce, you can sell both physical and digital goods in all shapes and sizes, offer product variations, multiple configurations, and instant downloads to shoppers, and even sell affiliate goods from online marketplaces.
With premium extensions, you can offer bookings, memberships, and recurring subscriptions. Perhaps you’d like to sell monthly subscriptions for physical goods, or offer your members a discount on digital downloads? It’s all possible.
Offer free shipping, flat rate shipping, or make real-time calculations. Limit your shipments to specific countries, or open your store up to the world. Shipping is highly configurable, and WooCommerce even supports drop shipping.
WooCommerce comes bundled with the ability to accept major credit cards, PayPal, BACS (bank transfers), and cash on delivery. Need additional options? More than 140 region-specific gateways integrate with WooCommerce, including popular choices like Stripe, Authorize.Net, and Amazon Payments.
WooCommerce gives you complete control of your store, from taxes to stock levels to customer accounts. Add and remove extensions, change your design, and switch settings as you please. It’s all under your control.
One of the biggest risks of using a hosted eCommerce platform is what happens to your store if the provider closes up shop. With WooCommerce, you have complete control, so there’s never any reason to worry. Your data belongs to you -- and it’s kept secure, thanks to regular audits by industry leaders.
[Storefront](https://woocommerce.com/storefront/) is a free WordPress theme available to any WooCommerce store. Along with deep WooCommerce integration, Storefront prioritizes speed and uptime while eliminating theme and plugin conflicts during major updates.
Define your style even further by customizing Storefront to your liking or choosing from one of our several [Storefront child themes](https://woocommerce.com/product-category/themes/storefront-child-theme-themes/). It’s all up to you, and all open source.
Extendable, adaptable, and open source -- WooCommerce was created with developers in mind. With its strong, robust framework, you can scale your client’s store all the way from basic to high-end (infinity and beyond).
Built with a REST API, WooCommerce can integrate with virtually any service. Your store’s data can be accessed anywhere, anytime, 100% securely. WooCommerce allows developers to easily create, modify, and grow a store that meets their specifications.
No matter the size of the store you want to build, WooCommerce will scale to meet your requirements. With a growing collection of more than 300 extensions, you can enhance each store’s features to meet your client’s unique needs -- or even create your own solution.
If security is a concern, rest easy. WooCommerce is audited by a dedicated team of developers working around the clock to identify and patch any and all discovered bugs.
We also support WooCommerce and all its extensions with comprehensive, easily-accessible documentation. With our docs, you’ll learn how to create the exact site your client needs.
If you’re looking for something endorsed and maintained by the developers who built WooCommerce, there are a plethora of premium eCommerce extensions, the most popular of which include:
And there’s plenty more where they came from. Visit our [extensions page](https://woocommerce.com/product-category/woocommerce-extensions/) to find out everything you’re capable of and all that's possible with premium WooCommerce extensions.
When you download WooCommerce, you join a community of more than a million store owners, developers, and WordPress enthusiasts. We're one of the fastest-growing open source communities online, and no matter your skill level we'd love to have you!
If you’re interested in contributing to WooCommerce we’ve got more than 350 contributors, and there’s always room for more. Head over to the [WooCommerce GitHub Repository](https://github.com/woocommerce/woocommerce) to find out how you can pitch in.
Want to add a new language to WooCommerce? Swell! You can contribute via [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/woocommerce).
Visit the [WooCommerce server requirements documentation](https://docs.woocommerce.com/document/server-requirements/) for a detailed list of server requirements.
Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’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” and click Search Plugins. Once you’ve found our eCommerce plugin you can view details about it such as the point release, rating and description. Most importantly of course, you can install it by simply clicking “Install Now”.
The manual installation method involves downloading our eCommerce plugin and uploading it to your webserver via your favourite FTP application. The WordPress codex contains [instructions on how to do this here](https://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation).
If on the off-chance you do encounter issues with the shop/category pages after an update you simply need to 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](https://wordpress.org/plugins/wordpress-importer/). You can also use the core [CSV importer](https://docs.woocommerce.com/document/product-csv-importer-exporter/) or our [CSV Import Suite plugin](https://woocommerce.com/products/product-csv-import-suite/) to import sample_products.csv.
For help setting up and configuring WooCommerce please refer to our [user guide](https://docs.woocommerce.com/documentation/plugins/woocommerce/getting-started/)
Yes; WooCommerce will work with any theme, but may require some styling to make it match nicely. Please see our [codex](https://docs.woocommerce.com/documentation/plugins/woocommerce/woocommerce-codex/) for help. If you're looking for a theme with built in WooCommerce integration we recommend [Storefront](https://woocommerce.com/storefront/).
Bugs can be reported either in our support forum or preferably on the [WooCommerce GitHub repository](https://github.com/woocommerce/woocommerce/issues).
* Feature - Added a new order widget to the dashboard (on multisite) so you can see your orders across multiple stores on the same WordPress network. #17598
* Feature - Added "display name" input on the My Account page. #19078
* Feature - Product search improvements including stopword support and support for searching for multiple products at the same time. #19096
* Feature - Cash on Delivery gateway can be enabled/disabled for specific shipping methods instead of only method types. #19221
* Feature - Add wildcard email support for coupons. #19331
* Feature - Added support for the GeoLite2 library as a replacement for the deprecated MaxMind GeoIP library. #19419
* Tweak - Standardize stock update messages in admin and correctly log who performed the action. When an order note is added after modifying stock manually, update order notes display via AJAX. #18080
* Tweak - Rollback if payment complete or update status fails to prevent partial order updates on failure. #18175
* Tweak - Made the system status tool which purges user carts also purge persistent carts. #18492
* Tweak - Display whether or not external object cache is enabled in system status report. #18595
* Tweak - Display zero value when using shipping classes. #18624
* Tweak - Fixed settings table styling on mobile. #18655
* Tweak - Updated Flexslider to version 2.7.0. #18779
* Tweak - Enable screen options for list screens. #18817
* Tweak - Don't call WC_Install::install() on downgrades. #18818
* Tweak - Remove user login from reset password link to protect personally identifying info. #18820
* Tweak - Added a function to return a list of custom tables to aid with cleanup. #18831
* Tweak - Enable going backwards in the setup wizard. #18921
* Tweak - Hash customer email address in download URLs to protect privacy. #18957
* Tweak - Make sure terms page exists and isn’t trashed before using it. #18993
* Tweak - Toggle when clicking anywhere in toggle row during setup wizard. #19035
* Tweak - Use `read_product` permissions instead of `edit_product` for ajax product search. #19087
* Tweak - Add `priceSpecification` property with `valueAddedTaxIncluded` to product structured data. #19091
* Tweak - Importer remembers mappings across imports. #19110
* Tweak - Made coupon total displayed in cart more consistent. #19166
* Tweak - Remove forced CSS line-heights to improve text input displays across different browers. #19174
* Tweak - Add highlight to T&C checkbox if not checked to show it needs to be checked. #19177
* Tweak - When loading default attributes/variation, if there is no longer a match, reset the form and hide the notice #19190
* Tweak - Removed admin product type column from core and made it into a free feature plugin. #19192
* Tweak - Use `woocommerce-no-js` class to hide JavaScript-only forms and content. #19199
* Tweak - Activate plugins during installation process even if directory doesn't match slug. #19200
* Tweak - Allow category and attribute ids in the `products` shortcode instead of only slugs. #19204
* Tweak - Invalidate cart items when important props like product type are updated. #19255
* Tweak - Don't use mysql functions directly on system status page to prevent errors if they are disabled. #19281
* Tweak - Replaces `have_posts` with `woocommerce_product_loop` which looks to see if there are products, or if the loop is going to be showing something else. #19288
* Tweak - Delete widget options and order notes on uninstall. #19371
* Tweak - Add unique names to all nonces in template fields and forms. #19387
* Tweak - Enable using the tab key to select elements in selectWoo dropdowns. #19416
* Tweak - Added autocomplete attributes to form elements for better autocomplete support. #19426
* Tweak - Removed PayPal line item limit and ensured URLs are shorter than maximum length. #19493
* Tweak - Disable Gutenberg editor on products posts. #19543
* Tweak - Improvements around UI and wording of store setup step in setup wizard. #19550
* Tweak - Only push images to lightbox if an image is found. #19568
* Tweak - Added and improved notices around old PHP versions and disabled geolocation on PHP 5.4 or lower. #19573
* Tweak - The `manage_stock` field in the product API can return a `mixed` type instead of `boolean` for variations. #19598
* Tweak - Link product import/export to WordPress import/export capabilities. #19602
* Tweak - Use ` ` to separate asterisks in required fields to prevent awkward line breaks. #19610
* Tweak - Load meta box input values using CRUD and edit context. #19670
* Tweak - Scroll to notices on cart/checkout for better mobile visibility. #19699
* Fix - Properly set orderby and order when calling WC_Customer_Download_Data_Store::get_downloads(). #18620
* Fix - Set maxlength for order item meta key to avoid values disapearing if too long. #18918
* Fix - Remove hardcoded /wp-content check for downloads. #18961
* Fix - Made get_on_sale_products respect the setting to hide outofstock products. #18984
* Fix - Prevent shortcode [product_page] redirecting to the actual product's page after add to cart. #19043
* Fix - Make the "main term" logic match for both the breadcrumb and product categories widget. #19044
* Fix - Check parent status too when seeing if variation is purchasable. #19045
* Fix - Fix uppercasing of accented characters. #19086
* Fix - Do not allow updating parent ID from variations after created. #19097
* Fix - Ensure coupon amount is not empty to prevent non-numeric value errors. #19098
* Fix - Ensure shop archive works correctly when `paged=1` is in the URL. #19104
* Fix - Ensure orders created with `woocommerce_adjust_non_base_location_prices` filter active have the same cost on frontend and admin. #19109
* Fix - Handling in the CLI to prevent `Resource does not exist` errors when using commands of a certain format. #19123
* Fix - Use subtotal when calculating discounts in admin/orders to ensure prices are the same as on the frontend. #19159
* Fix - Use `kses` to process download names to prevent escaped HTML displaying in emails.
* Fix - Remove translation from Thailand state file to prevent PayPal errors around unsupported characters. #19219
* Fix - Fix auto-select variation URLs with special characters in them. #19283
* Fix - Introduced `wc_round_discount` and improved consistency of discount rounding. #19291
* Fix - Only add schema for ratings to structured data when ratings are enabled. #19310
* Fix - Prevent default state applying unless the country was also unset in JS state/country inputs. #19338
3.0 is a major update. Make a full site backup, update your theme and extensions, and [review update best practices](https://docs.woocommerce.com/document/how-to-update-your-site) before upgrading.