Posted on 2 Comments

Do Not Use the WooCommerce Admin Plugin on Your Child Site

Do Not Use the WooCommerce Admin Plugin

WooCommerce Admin is a feature plugin for WooCommerce, which uses React and the Gutenberg block editor to improve certain lacking core features, such as reporting and analytics in WooCommerce.

Reporting in WooCommerce can be slow, as well as being MySQL resource heavy if you have high order levels on the site, whilst the WooCommerce Admin is a step in the right direction. Though the WooCommerce Admin has been in development for a number of months, the feature plugin is still a beta plugin, and still not suitable for use on a live site.

In the most recent release of WooCommerce, which was version 3.6.4, it added a reminder nag, which is dismissible to install the WooCommerce admin plugin. The difference is that on the actual product page, it more clearly states that the plugin should be tested on a staging or dev site.

Once again: This plugin is under active development and, as such, we advise you to first install WooCommerce Admin in a staging/test environment. While this code is being run in production on sites, we recommend you first verify it works for you in a test environment, the same as any plugin for WooCommerce.

The WooCommerce Admin plugin on your live site can present a number of issues, ranging from the data in the report not being accurate, to more major issues of the plugin causing the site to act like it is DDoS itself. The DDoS like issue can mean your site server CPU usage will spike, as well as kill MySQL on the site server. The high number of requests to the WooCommerce REST API endpoint will cause CPU usage to spike.

The WooCommerce REST API requests look like this if you looked in the access log of the site server.

/wp-json/wc/v4/admin/notes?order=desc&orderby=date&page=1&per_page=1&type=info%2Cwarning&_locale=user

/wp-json/wc/v4/reports/orders?page=1&per_page=0&status_is%5B0%5D=processing&status_is%5B1%5D=on-hold&_locale=user

/wp-json/wc/v4/products?low_in_stock=true&page=1&per_page=1&status=publish&_locale=user HTTP/1.1″

If you were using the WooCommerce Admin plugin on one of your child sites, the database table created by the plugin will not be deleted on deactivation. The custom database table in question is called wp_wc_order_stats. You can delete (drop) that database table using phpMyAdmin.

Remember that this plugin is in development, and should not be used on a live site until it is stable unless you want to deal with your child site running into CPU spikes and it causing major performance issues.

Get MainWP News and Notifications

Sebastian Moran on Github
Sebastian Moran
Sebastian Moran is a WordPress performance expert and technical liaison for MainWP.

2 thoughts on “Do Not Use the WooCommerce Admin Plugin on Your Child Site

  1. Since this post was written two releases for WooCommerce Admin plugin have been released on the 12th June.
    https://wordpress.org/plugins/woocommerce-admin/#developers
    https://github.com/woocommerce/woocommerce-admin/releases/tag/v0.13.1
    https://github.com/woocommerce/woocommerce-admin/releases/tag/v0.13.0

    The custom database table WooCommerce Admin plugin uses is now removed on plugin uninstall.
    https://github.com/woocommerce/woocommerce-admin/pull/2399

    There is a fix merged into master for the flood of WooCommerce REST API requests issue, but that has not be included in a release yet.
    https://github.com/woocommerce/woocommerce-admin/pull/2387

  2. WooCommerce Admin feature plugin has been pushed back from being merged in WooCommerce 3.7.
    https://woocommerce.wordpress.com/2019/06/19/woocommerce-admin-v0-13-0-and-revised-merge-plans/

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.