Description
Gsoft Labs Blocks Compatibility Scanner for WooCommerce helps WooCommerce store owners assess their readiness to switch from Classic Cart and Checkout to the new WooCommerce Cart and Checkout Blocks. It scans your active plugins, theme, payment gateways, shipping methods, and custom checkout fields, gives you a readiness score, and helps you migrate supported fields using the official Additional Checkout Fields API.
Learn more and get support at the plugin homepage: https://gsoftlabs.com/woocommerceblockscanner/
This plugin is developed by Gsoft Labs and is not affiliated with or endorsed by Automattic or the WooCommerce project. “WooCommerce” is a trademark of Automattic Inc., referenced here only to describe compatibility.
What the plugin does
- Scans 7 areas: store configuration, plugins, Classic hooks, theme, payment gateways, shipping methods, and custom fields.
- Calculates a weighted readiness score (0–100%) with a clear message.
- Lists every Classic Checkout hook detected in your plugins and theme, with the inferred purpose and the recommended Blocks alternative.
- Assesses every enabled payment gateway and shipping method for Blocks compatibility.
- Detects custom checkout fields and migrates supported types (text, checkbox, select, radio, number, textarea) using
woocommerce_register_additional_checkout_field(). - Creates a private draft test Checkout Blocks page so you can test without touching your live checkout.
- Provides a full testing checklist to complete before switching.
- Generates developer logs (JSON, TXT, CSV) for debugging — no passwords, API keys, or customer PII included.
- Provides manual guidance for features that cannot be automatically migrated (fees, conditionals, date pickers, file uploads, unknown gateways).
Safety rules
- The plugin never changes your live checkout page without an explicit, confirmed admin action.
- Test pages are draft/private, no-indexed, and never assigned as WooCommerce cart or checkout pages.
- Scanning never processes real payments.
- The readiness score is an assessment, not a guarantee.
- This plugin never sends any data to Gsoft Labs or any third party. All scanning and reporting happens locally on your site.
Field migration
The free core plugin can migrate these field types via the Additional Checkout Fields API:
- Text, email, tel, URL, hidden, password registered as text
- Checkbox registered as checkbox
- Select / dropdown registered as select
- Radio buttons registered as select (with a warning)
- Number registered as text with numeric pattern (with a warning)
- Textarea registered as text (with a warning)
Fields requiring manual setup (date pickers, file uploads, complex conditionals) are identified with guidance cards.
Requirements
- WordPress 6.0 or later
- WooCommerce 8.9 or later (Additional Checkout Fields API)
- PHP 7.4 or later
Screenshots







Installation
- Upload the plugin to
/wp-content/plugins/gsoft-labs-blocks-compatibility-scanner-for-woocommerce/. - Activate the plugin in the WordPress admin.
- Go to WB Compat in the admin menu to run your first scan.
FAQ
-
Will this plugin change my live checkout?
-
No. The scanner never changes your live cart or checkout page without an explicit, confirmed admin action. Creating the test page only creates a private draft page that is never assigned as your WooCommerce checkout.
-
Is the readiness score a guarantee?
-
No. The score is an assessment based on detected compatibility signals. Manual testing is always required before switching your live checkout. The plugin’s guidance page includes a full pre-switch checklist.
-
What happens to my custom checkout fields after migration?
-
Migrated fields are registered using
woocommerce_register_additional_checkout_field()and appear on the Checkout Blocks form. They are saved to the order and can be displayed in the admin and customer emails. -
What field types cannot be migrated automatically?
-
Date pickers, file upload fields, and fields with complex conditional logic cannot be migrated by the free core plugin. Guidance cards explain what to do for each unsupported type.
-
Does the plugin support multisite?
-
The plugin has not been tested on WordPress Multisite. Use on single-site installations only.
-
Is any data sent to a third party?
-
No. This plugin does not connect to any external service, API, or analytics platform. All scanning, scoring, and field migration happens entirely on your own site.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Gsoft Labs Blocks Compatibility Scanner for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Gsoft Labs Blocks Compatibility Scanner for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.6
- Declared WooCommerce as a required plugin (
Requires Plugins: woocommerce). - Aligned the translation text domain with the WordPress.org plugin slug.
- Hardened shipping-method plugin path detection so it works with both Linux and Windows path separators.
- Translated the test-checkout checklist labels as literal strings so they can be extracted for translation.
- Set the plugin homepage to https://gsoftlabs.com/woocommerceblockscanner/.
1.1.5
- Included
composer.jsonandcomposer.lockin the distribution package for transparency (the plugin uses Composer’s PSR-4 autoloading; the generated autoloader invendor/is now produced by a genuinecomposer installrather than a hand-written substitute). - Kept Composer metadata in the package and excluded the Composer executable (
composer.phar) from the distribution. - Clarified the WordPress.org short description so the plugin homepage link lives only in the full Description.
1.1.4
- Declared compatibility with WooCommerce High-Performance Order Storage (
custom_order_tables). This plugin never reads or writes order data (it only manages its own settings, scan results, and disposable test pages), so it is safe to declare.
1.1.3
- The Developer Logs export handler now sanitizes
wcbcs_exportwithsanitize_key()at the very first point it is read from$_GET, instead of only checkingempty()on the raw superglobal first.
1.1.2
- Removed the remaining inline
styleattributes (Charts.php,CustomFields.php,Onboarding.php,Dashboard.php,SettingsPage.php). The per-area readiness bar chart now renders as a native<progress>element instead of a dynamically generated inline width. - The welcome-notice dismiss link and the Developer Logs export handler now explicitly sanitize their
$_GETvalues before use, in addition to the existing nonce/capability checks. - Removed a leftover no-op
array_walk_recursive()call in the log exporter. - Hardened path handling in the theme scanner so overridden/outdated template paths are always relative (never leak the server’s absolute filesystem layout), with a safe fallback if a path cannot be confidently relativized.
1.1.1
- Shortened the plugin description (header and readme).
- Removed all inline CSS from admin notices; moved to a small dedicated stylesheet.
- Fixed a bug where the uninstaller deleted its own options before reading the test-page IDs it needed to clean up, so test pages were left behind after uninstall.
- Hardened the field-migration REST endpoint: option key/value pairs are now sanitized individually, and REST arguments have explicit validation in addition to sanitization.
- Local source-file scanning now goes through a dedicated safe-reader that requires a
.phpextension, resolves and verifies the real path is inside an approved plugin/theme directory, checksis_readable(), and no longer suppresses errors with@. - The “missing required files” admin notice no longer references Composer; end users are told to reinstall the plugin instead (the required files ship inside the plugin ZIP).
- The welcome notice can now be permanently dismissed via a nonce-protected, capability-checked action; it no longer reappears after being dismissed.
- CSV log exports now prefix any cell that starts with
=,+,-, or@with a single quote to prevent spreadsheet formula-injection when opened in Excel/Sheets/LibreOffice.
1.1.0
- Renamed the plugin to Gsoft Labs Blocks Compatibility Scanner for WooCommerce (display name, slug, and text domain) to clearly show it is an independent, unaffiliated tool and avoid confusion with the WooCommerce trademark.
- Removed the “Allow anonymous compatibility statistics” setting — it never actually sent any data, and its presence was misleading. This plugin does not collect or transmit any data.
- Clarified in the readme and Help & Support page that no data ever leaves your site.
1.0.8
- Added: a new “Help & Support” page with a step-by-step guide to every page, an FAQ, and links to documentation and support.
1.0.7
- Fixed: styles and scripts now load correctly on every WB Compat page (they were silently missing on all pages except the Dashboard).
- Changed: redesigned all admin pages with a readiness gauge, a per-area breakdown chart, plain-language “why this matters” messaging, and a beginner-friendly getting-started guide.
1.0.6
- Fixed: migrated custom fields now register correctly on the Blocks checkout (field ID namespace separator was being stripped).
- Fixed: developer log downloads (JSON/TXT/CSV) now work.
- Fixed: onboarding “Start Scan” button now redirects and starts the first scan.
1.0.0
- Initial release.
