{"id":359484,"date":"2026-08-28T17:14:49","date_gmt":"2026-08-28T17:14:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/shipping-doctor-for-woocommerce\/"},"modified":"2026-08-28T18:10:19","modified_gmt":"2026-08-28T18:10:19","slug":"shipping-doctor-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/shipping-doctor-for-woocommerce\/","author":23555798,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"7.1","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"Shipping Doctor for WooCommerce","header_author":"Shipping Doctor","header_description":"Find common WooCommerce shipping setup problems and test which shipping options WooCommerce returns for a customer address.","assets_banners_color":"fcfbfe","last_updated":"2026-08-28 18:10:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"tinywebtools","date":"2026-08-28 18:10:19","revision":3670784}},"upgrade_notice":{"1.0.4":"<p>Initial public release of Shipping Doctor for WooCommerce.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3670728,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3670728,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3670728,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3670728,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3670763,"resolution":"1","location":"assets","locale":"","width":1173,"height":1221},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3670763,"resolution":"2","location":"assets","locale":"","width":1160,"height":1039}},"screenshots":{"1":"Health Check finds likely WooCommerce shipping configuration problems and explains why they matter and what to fix.","2":"Address Test shows which shipping zone WooCommerce would use for a customer address and which built-in shipping rates are available."}},"plugin_section":[],"plugin_tags":[5230,3546,129143,8541,286],"plugin_category":[45,59],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-359484","plugin","type-plugin","status-publish","hentry","plugin_tags-free-shipping","plugin_tags-shipping","plugin_tags-shipping-zones","plugin_tags-troubleshooting","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-utilities-and-tools","plugin_committers-tinywebtools"],"banners":{"banner":"https:\/\/ps.w.org\/shipping-doctor-for-woocommerce\/assets\/banner-772x250.png?rev=3670728","banner_2x":"https:\/\/ps.w.org\/shipping-doctor-for-woocommerce\/assets\/banner-1544x500.png?rev=3670728","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/shipping-doctor-for-woocommerce\/assets\/icon-128x128.png?rev=3670728","icon_2x":"https:\/\/ps.w.org\/shipping-doctor-for-woocommerce\/assets\/icon-256x256.png?rev=3670728","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/shipping-doctor-for-woocommerce\/assets\/screenshot-1.png?rev=3670763","caption":"Health Check finds likely WooCommerce shipping configuration problems and explains why they matter and what to fix."},{"src":"https:\/\/ps.w.org\/shipping-doctor-for-woocommerce\/assets\/screenshot-2.png?rev=3670763","caption":"Address Test shows which shipping zone WooCommerce would use for a customer address and which built-in shipping rates are available."}],"raw_content":"<!--section=description-->\n<p>Shipping Doctor for WooCommerce helps you find why shipping is missing, wrong or confusing at checkout.<\/p>\n\n<p>Run a read-only health check of your WooCommerce shipping setup, find likely shipping-zone and Free Shipping problems, and test which zone and built-in shipping methods WooCommerce would return for a customer address.<\/p>\n\n<p>Shipping Doctor does not change your store settings and does not send diagnostic data to an external service.<\/p>\n\n<h4>Common problems Shipping Doctor can help find<\/h4>\n\n<ul>\n<li>No shipping options are available at checkout.<\/li>\n<li>The wrong shipping zone is being matched.<\/li>\n<li>A broad shipping zone is hiding a more specific zone.<\/li>\n<li>An Everywhere catch-all zone is placed above more specific zones.<\/li>\n<li>A shipping zone has no enabled built-in shipping method.<\/li>\n<li>Free Shipping is not appearing at the expected order value.<\/li>\n<li>Products are missing weight or dimensions that shipping methods may need.<\/li>\n<li>Postcode rules may overlap or need review.<\/li>\n<\/ul>\n\n<h4>Shipping Health Check<\/h4>\n\n<p>With one click, Shipping Doctor checks your existing WooCommerce shipping configuration for common problems.<\/p>\n\n<p>The report can identify:<\/p>\n\n<ul>\n<li>Shipping zones with no enabled shipping method.<\/li>\n<li>Broad zones appearing before more specific zones.<\/li>\n<li>Everywhere catch-all zones that can hide zones below them.<\/li>\n<li>Suspicious or duplicate postcode rules.<\/li>\n<li>Free Shipping minimums that may be misconfigured.<\/li>\n<li>Multiple Free Shipping methods in one zone.<\/li>\n<li>Physical products missing weight or dimensions.<\/li>\n<li>Whether a fallback shipping method is configured.<\/li>\n<li>Third-party shipping methods that may need separate troubleshooting.<\/li>\n<\/ul>\n\n<p>Each finding explains:<\/p>\n\n<ul>\n<li>What was found.<\/li>\n<li>Why it can matter at checkout.<\/li>\n<li>What to do next.<\/li>\n<li>Where to open the relevant WooCommerce setting.<\/li>\n<\/ul>\n\n<h4>Test a customer address<\/h4>\n\n<p>Enter a country and postcode, and optionally choose a product and quantity.<\/p>\n\n<p>Shipping Doctor then shows:<\/p>\n\n<ul>\n<li>Which shipping zone WooCommerce uses for that address.<\/li>\n<li>Whether a later, more specific zone also matches.<\/li>\n<li>Which built-in WooCommerce shipping options are returned for the test cart.<\/li>\n<li>Flat Rate prices returned by WooCommerce.<\/li>\n<li>Whether Free Shipping is available.<\/li>\n<li>Automatic checks just below, at and above a Free Shipping minimum.<\/li>\n<\/ul>\n\n<p>This can help when WooCommerce shipping is not showing, the wrong shipping zone appears to be used, or Free Shipping does not appear when expected.<\/p>\n\n<h4>Safe by design<\/h4>\n\n<p>Shipping Doctor is read-only.<\/p>\n\n<ul>\n<li>It does not change your WooCommerce shipping settings.<\/li>\n<li>It does not send store data to an external Shipping Doctor service.<\/li>\n<li>It does not include telemetry.<\/li>\n<li>It does not intentionally run third-party carrier APIs.<\/li>\n<li>It uses WooCommerce's own built-in shipping logic where possible.<\/li>\n<\/ul>\n\n<h4>Scope<\/h4>\n\n<p>Shipping Doctor focuses on WooCommerce's own shipping zones and built-in shipping methods.<\/p>\n\n<p>It can show that a third-party carrier or shipping method is enabled, but it does not diagnose private carrier APIs, account credentials or proprietary rule engines inside third-party plugins.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Shipping Doctor 1.0 does not collect or transmit telemetry or store diagnostic results on an external service.<\/p>\n\n<p>The plugin reads WooCommerce configuration inside the WordPress admin area to generate the requested report.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Install and activate Shipping Doctor for WooCommerce.<\/li>\n<li>Open WooCommerce &gt; Shipping Doctor.<\/li>\n<li>Click \"Check my shipping setup\".<\/li>\n<li>Optionally use \"Test a customer address\" to verify a real destination.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20shipping%20doctor%20change%20my%20shipping%20settings%3F\"><h3>Does Shipping Doctor change my shipping settings?<\/h3><\/dt>\n<dd><p>No. Shipping Doctor is read-only. Buttons in the report can open the relevant WooCommerce settings, but Shipping Doctor does not automatically modify them.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20store%20data%20anywhere%3F\"><h3>Does it send my store data anywhere?<\/h3><\/dt>\n<dd><p>No. Version 1.0 has no telemetry and no external Shipping Doctor service.<\/p><\/dd>\n<dt id=\"can%20it%20help%20with%20%22no%20shipping%20options%20are%20available%22%20at%20checkout%3F\"><h3>Can it help with \"No shipping options are available\" at checkout?<\/h3><\/dt>\n<dd><p>It can help identify common WooCommerce configuration causes, including shipping-zone order, missing enabled methods, catch-all zones and Free Shipping conditions. It does not guarantee that every cause comes from WooCommerce Core, especially when third-party carrier plugins are involved.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20dhl%2C%20ups%2C%20fedex%2C%20postnord%20or%20other%20carrier%20plugins%3F\"><h3>Does it work with DHL, UPS, FedEx, PostNord or other carrier plugins?<\/h3><\/dt>\n<dd><p>Shipping Doctor can detect that a third-party shipping method is enabled, but it deliberately does not run or diagnose the plugin's private carrier connection or rule engine.<\/p>\n\n<p>The Health Check is focused on WooCommerce's own shipping configuration. The address test executes built-in WooCommerce Flat Rate, Free Shipping and zone-based Local Pickup only.<\/p><\/dd>\n<dt id=\"why%20does%20shipping%20doctor%20mention%20missing%20product%20weight%20if%20flat%20rate%20works%20without%20it%3F\"><h3>Why does Shipping Doctor mention missing product weight if Flat Rate works without it?<\/h3><\/dt>\n<dd><p>Some carrier and table-rate plugins use product weight. If your store only uses a shipping method that does not need weight, the message is informational rather than proof of a shipping failure.<\/p><\/dd>\n<dt id=\"why%20does%20the%20address%20test%20say%20another%20zone%20also%20matches%3F\"><h3>Why does the address test say another zone also matches?<\/h3><\/dt>\n<dd><p>WooCommerce uses the first matching shipping zone. If a broad zone appears before a more specific zone, the more specific zone may never be used for that address. Shipping Doctor highlights this so you can review the order of your zones.<\/p><\/dd>\n<dt id=\"is%20this%20a%20checkout%20replacement%3F\"><h3>Is this a checkout replacement?<\/h3><\/dt>\n<dd><p>No. Shipping Doctor is a troubleshooting tool. It helps explain WooCommerce shipping configuration and built-in shipping results; it does not replace a real checkout test.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Replaced the short internal WSD prefix with the unique SHIPDOC prefix throughout the plugin.<\/li>\n<li>Renamed internal classes, constants, nonces, request fields, file names and admin CSS identifiers to reduce conflict risk.<\/li>\n<li>No shipping diagnostic behavior or store settings are changed.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed the final two internationalization errors reported by WordPress Plugin Check.<\/li>\n<li>No shipping logic or user-facing functionality changed.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Renamed the plugin to \"Shipping Doctor for WooCommerce\" to follow WordPress.org trademark naming rules.<\/li>\n<li>Changed the plugin slug\/text domain to shipping-doctor-for-woocommerce.<\/li>\n<li>Fixed internationalization\/plural-string issues reported by Plugin Check.<\/li>\n<li>Removed a direct database query from postcode overlap diagnostics.<\/li>\n<li>No shipping behavior or settings are changed by this update.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed a false positive for custom WooCommerce zones set to Everywhere.<\/li>\n<li>Shipping Doctor now recognises Everywhere as a legitimate catch-all zone.<\/li>\n<li>Added a critical warning when an Everywhere zone appears above more specific custom zones.<\/li>\n<li>Added a passed check when an Everywhere zone is correctly placed last.<\/li>\n<li>Rest of the world diagnostics now account for a custom Everywhere catch-all.<\/li>\n<li>Address testing now explains that an Everywhere zone matches every destination.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Reworked the interface for non-technical WooCommerce store owners.<\/li>\n<li>Added plain-language \"Why it matters\" and \"What to do\" explanations.<\/li>\n<li>Added direct lists of products missing weight or dimensions.<\/li>\n<li>Simplified address and cart testing.<\/li>\n<li>Simplified shipping-rate results to Available \/ Not available.<\/li>\n<li>Kept automatic Free Shipping boundary tests.<\/li>\n<li>Added safer exception handling for both Health Check and address tests.<\/li>\n<li>Added a plugin-list shortcut to open Shipping Doctor.<\/li>\n<li>Removed beta\/demo language from the product UI.<\/li>\n<li>Added WordPress.org-style readme, FAQ, privacy and screenshot descriptions.<\/li>\n<\/ul>","raw_excerpt":"Find why WooCommerce shipping is missing or wrong. Check zones, Free Shipping, product data, and test customer addresses.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/359484","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=359484"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tinywebtools"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=359484"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=359484"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=359484"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=359484"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=359484"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=359484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}