{"id":378069,"date":"2026-10-02T18:53:49","date_gmt":"2026-10-02T18:53:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wizehawk-ai-commerce-ready\/"},"modified":"2026-10-02T18:53:13","modified_gmt":"2026-10-02T18:53:13","slug":"wizehawk-store-discovery-audit","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/wizehawk-store-discovery-audit\/","author":20954044,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.18.20","stable_tag":"0.18.20","tested":"7.1.2","requires":"6.5","requires_php":"8.0","requires_plugins":null,"header_name":"Wizehawk Store Discovery Audit","header_author":"Wizehawk","header_description":"Local-first WooCommerce checks for AI search discovery, product data quality, crawler access, and commerce readiness.","assets_banners_color":"2d5bcd","last_updated":"2026-10-02 18:53:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/wizehawk.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":58,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"0.18.20":{"tag":"0.18.20","author":"wizehawk","date":"2026-10-02 18:53:13","revision":3725310}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3725400,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3725400,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3725400,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3725400,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.18.20"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3725400,"resolution":"1","location":"assets","locale":"","width":1687,"height":857},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3725400,"resolution":"2","location":"assets","locale":"","width":1690,"height":2329},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3725400,"resolution":"3","location":"assets","locale":"","width":1684,"height":1589},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3725400,"resolution":"4","location":"assets","locale":"","width":1690,"height":1323},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3725400,"resolution":"5","location":"assets","locale":"","width":1690,"height":2019}},"screenshots":[]},"plugin_section":[],"plugin_tags":[220145,271422,9837,49648,286],"plugin_category":[45],"plugin_contributors":[282149],"plugin_business_model":[],"class_list":["post-378069","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-search","plugin_tags-ai-commerce","plugin_tags-crawler","plugin_tags-product-data","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-wizehawk","plugin_committers-wizehawk"],"banners":{"banner":"https:\/\/ps.w.org\/wizehawk-store-discovery-audit\/assets\/banner-772x250.png?rev=3725400","banner_2x":"https:\/\/ps.w.org\/wizehawk-store-discovery-audit\/assets\/banner-1544x500.png?rev=3725400","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wizehawk-store-discovery-audit\/assets\/icon-128x128.png?rev=3725400","icon_2x":"https:\/\/ps.w.org\/wizehawk-store-discovery-audit\/assets\/icon-256x256.png?rev=3725400","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wizehawk-store-discovery-audit\/assets\/screenshot-1.png?rev=3725400","caption":""},{"src":"https:\/\/ps.w.org\/wizehawk-store-discovery-audit\/assets\/screenshot-2.png?rev=3725400","caption":""},{"src":"https:\/\/ps.w.org\/wizehawk-store-discovery-audit\/assets\/screenshot-3.png?rev=3725400","caption":""},{"src":"https:\/\/ps.w.org\/wizehawk-store-discovery-audit\/assets\/screenshot-4.png?rev=3725400","caption":""},{"src":"https:\/\/ps.w.org\/wizehawk-store-discovery-audit\/assets\/screenshot-5.png?rev=3725400","caption":""}],"raw_content":"<!--section=description-->\n<p>Wizehawk Store Discovery Audit helps WooCommerce merchants see whether their public store is understandable and accessible to AI search and shopping systems.<\/p>\n\n<p>Current checks include:<\/p>\n\n<ul>\n<li>robots.txt reachability and OpenAI crawler directives<\/li>\n<li>WordPress search visibility and sitemap availability<\/li>\n<li>WooCommerce product data quality<\/li>\n<li>WooCommerce-generated Product JSON-LD, including offers, price, currency, availability, image, SKU, GTIN, and brand when applicable<\/li>\n<li>optional per-product Live Page Deep Test on public stores<\/li>\n<li>final rendered page indexability and canonical URL<\/li>\n<li>final rendered Product JSON-LD and duplicate Product schema detection<\/li>\n<li>local scan history stored in the WordPress database<\/li>\n<li>live-page results stored locally as product metadata<\/li>\n<\/ul>\n\n<p>No Wizehawk account or Wizehawk cloud service is required for manual scanning. The plugin does use the external services disclosed below for crawler verification and optional licensing\/usage services.<\/p>\n\n<h3>Privacy and activity monitoring<\/h3>\n\n<p>AI activity monitoring is disabled by default. An administrator must explicitly enable it in <strong>Store Discovery Audit &gt; Settings<\/strong> before real crawler\/referral activity is recorded.<\/p>\n\n<p>When monitoring is enabled, the plugin stores recognized event type\/source, requested path, related WooCommerce product ID (when applicable), verification result, and event time in the site's own WordPress database. Visitor IP addresses are never stored. User-agent strings and referrer URLs are used only during the current request to recognize a supported crawler\/referral and are not stored.<\/p>\n\n<p>For supported crawlers, the visitor IP is compared locally against official published crawler IP ranges. The visitor IP is not sent to OpenAI, Anthropic, or Perplexity by this plugin.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin uses the following external services. These requests are limited to the purposes described here.<\/p>\n\n<h4>OpenAI<\/h4>\n\n<p>For recognized OpenAI crawler requests, the plugin may download OpenAI's publicly published crawler IP-range JSON files so it can verify the crawler locally.<\/p>\n\n<p>Data sent: a normal HTTPS request from the WordPress server to OpenAI's published JSON endpoint. The request identifies this plugin in its user-agent. No WooCommerce product data, visitor IP address, referrer URL, or visitor user-agent is sent by the plugin.<\/p>\n\n<p>When: only when verification is needed for a recognized supported OpenAI crawler and a cached list is not available.<\/p>\n\n<p>Terms: https:\/\/openai.com\/policies\/terms-of-use\/\nPrivacy: https:\/\/openai.com\/policies\/privacy-policy\/<\/p>\n\n<h4>Anthropic \/ Claude<\/h4>\n\n<p>For recognized Anthropic\/Claude crawler requests, the plugin may download Anthropic's publicly published crawler IP-range JSON file so it can verify the crawler locally.<\/p>\n\n<p>Data sent: a normal HTTPS request from the WordPress server to Anthropic's published JSON endpoint. The request identifies this plugin in its user-agent. No WooCommerce product data, visitor IP address, referrer URL, or visitor user-agent is sent by the plugin.<\/p>\n\n<p>When: only when verification is needed for a recognized supported Anthropic crawler and a cached list is not available.<\/p>\n\n<p>Terms: https:\/\/www.anthropic.com\/legal\/consumer-terms\nPrivacy: https:\/\/www.anthropic.com\/legal\/privacy<\/p>\n\n<h4>Perplexity<\/h4>\n\n<p>For recognized Perplexity crawler requests, the plugin may download Perplexity's publicly published crawler IP-range JSON files so it can verify the crawler locally.<\/p>\n\n<p>Data sent: a normal HTTPS request from the WordPress server to Perplexity's published JSON endpoint. The request identifies this plugin in its user-agent. No WooCommerce product data, visitor IP address, referrer URL, or visitor user-agent is sent by the plugin.<\/p>\n\n<p>When: only when verification is needed for a recognized supported Perplexity crawler and a cached list is not available.<\/p>\n\n<p>Terms: https:\/\/www.perplexity.ai\/hub\/legal\/terms-of-service\nPrivacy: https:\/\/www.perplexity.ai\/hub\/legal\/privacy-policy<\/p>\n\n<h4>Freemius<\/h4>\n\n<p>This plugin uses the Freemius SDK for optional usage analytics, upgrade\/checkout links, licensing, and paid add-on management.<\/p>\n\n<p>On activation, Freemius presents an opt-in choice before optional usage data is shared. If the administrator opts in, Freemius may receive site\/admin and environment information such as the administrator name\/email, site URL, WordPress\/PHP\/plugin versions, and diagnostic environment information. If the administrator skips the opt-in, optional usage analytics are not sent.<\/p>\n\n<p>When a paid add-on is purchased or a license is activated\/managed, the information needed for checkout, licensing, account management, and updates is sent to Freemius as part of that requested operation.<\/p>\n\n<p>Terms: https:\/\/freemius.com\/terms\/\nPrivacy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<h3>Free and Pro<\/h3>\n\n<p>The Free version provides the complete manual AI-commerce audit: manual store scans, crawler\/discovery checks, product readiness, AI-readable Product JSON-LD checks, live-page testing, basic 7-day AI activity counts, and the three most recent scan summaries.<\/p>\n\n<p>Pro adds automatic daily scans, regression monitoring, hosted email alerts, longer scan history and automatic comparisons, bulk product fixes, and advanced AI activity reporting.<\/p>\n\n<h3>How to upgrade to Pro<\/h3>\n\n<p>Store Discovery Audit Pro is a separate add-on plugin. Keep the Free plugin installed and active.<\/p>\n\n<ol>\n<li>Open <strong>Store Discovery Audit<\/strong> and click <strong>Upgrade to Pro<\/strong>.<\/li>\n<li>Choose the yearly plan and finish checkout.<\/li>\n<li>Download the <strong>Store Discovery Audit Pro<\/strong> ZIP. Do not unzip it.<\/li>\n<li>Go to <strong>Plugins &gt; Add Plugin &gt; Upload Plugin<\/strong>.<\/li>\n<li>Choose the Pro ZIP, click <strong>Install Now<\/strong>, then <strong>Activate Plugin<\/strong>.<\/li>\n<li>Leave both <strong>Store Discovery Audit<\/strong> and <strong>Store Discovery Audit Pro<\/strong> active.<\/li>\n<li>If asked for a license, use the <strong>Activate License<\/strong> button shown by Store Discovery Audit.<\/li>\n<li>Open <strong>Store Discovery Audit<\/strong> again. The badge beside the version should say <strong>Pro<\/strong>.<\/li>\n<\/ol>\n\n<p>Do not delete or replace the Free plugin. Free is the core plugin; Pro adds the paid features.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP in Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open Store Discovery Audit in the WordPress admin menu.<\/li>\n<li>Click Run store scan.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>0.18.20<\/h4>\n\n<ul>\n<li>Renamed the plugin to Wizehawk Store Discovery Audit and updated its public slug\/text domain to avoid name confusion with an unrelated product.<\/li>\n<li>Added a complete External services section documenting OpenAI, Anthropic, Perplexity, and Freemius usage, transmitted data, timing, and policy links.<\/li>\n<li>Made real AI activity monitoring explicitly opt-in and disabled by default.<\/li>\n<li>Stopped storing visitor user-agent strings and referrer URLs in AI activity records.<\/li>\n<li>No visitor IP addresses are stored or sent to crawler-list providers.<\/li>\n<\/ul>\n\n<h4>0.18.19<\/h4>\n\n<ul>\n<li>Updated the Plugin URI to the dedicated Store Discovery Audit product page so it differs from the Author URI, as required by WordPress.org submission checks.<\/li>\n<li>No feature or licensing changes.<\/li>\n<\/ul>\n\n<h4>0.18.18<\/h4>\n\n<ul>\n<li>Fixed the Pro add-on Activate License link to use the parent Freemius Account route with the Pro add-on plugin ID.<\/li>\n<li>The license button now opens the correct add-on license activation flow instead of the unavailable add-on account route.<\/li>\n<li>No Free feature changes.<\/li>\n<\/ul>\n\n<h4>0.18.16<\/h4>\n\n<ul>\n<li>Synchronized the Free parent with the finalized Freemius Pro add-on integration.<\/li>\n<li>Parent continues to declare support for the separate Pro add-on.<\/li>\n<li>No Free feature changes.<\/li>\n<\/ul>\n\n<h4>0.18.15<\/h4>\n\n<ul>\n<li>Updated the parent Freemius integration to declare support for the separate Store Discovery Audit Pro add-on.<\/li>\n<li>No Free feature changes.<\/li>\n<\/ul>\n\n<h4>0.18.14<\/h4>\n\n<ul>\n<li>Added a direct Activate License button when the Pro add-on is installed but the license is not active.<\/li>\n<li>Customers no longer need instructions telling them to hunt for the hidden Freemius Account page.<\/li>\n<li>Kept Manage License available only for already-active Pro licenses.<\/li>\n<li>No scan or feature changes.<\/li>\n<\/ul>\n\n<h4>0.18.13<\/h4>\n\n<ul>\n<li>Hid the built-in Freemius Account, Contact, and Pricing submenu items from normal WordPress navigation.<\/li>\n<li>Added a clean License &amp; Pro card inside Store Discovery Audit Settings.<\/li>\n<li>Free users see Upgrade to Pro; licensed Pro users see Manage License.<\/li>\n<li>The full Freemius account screen remains available only when Manage License is clicked.<\/li>\n<li>No scan, data, or Free\/Pro feature changes.<\/li>\n<\/ul>\n\n<h4>0.18.12<\/h4>\n\n<ul>\n<li>Converted Store Discovery Audit to a side-by-side Free + Pro add-on architecture.<\/li>\n<li>Free remains installed and active; Pro extends it instead of replacing it.<\/li>\n<li>Added a safe admin extension point for the Pro add-on.<\/li>\n<li>Updated the upgrade instructions to tell customers exactly how to install and keep both plugins active.<\/li>\n<li>No Free feature removals.<\/li>\n<\/ul>\n\n<h4>0.18.11<\/h4>\n\n<ul>\n<li>Changed the Free-build Freemius helper, global, and loaded hook back to the plugin's WHACR prefix so WordPress Plugin Check recognizes them correctly.<\/li>\n<li>No feature or Free\/Pro behavior changes.<\/li>\n<\/ul>\n\n<h4>0.18.10<\/h4>\n\n<ul>\n<li>Cleared the remaining Plugin Check nonce warnings for read-only admin page and tab navigation.<\/li>\n<li>No feature or Free\/Pro behavior changes.<\/li>\n<\/ul>\n\n<h4>0.18.9<\/h4>\n\n<ul>\n<li>Fixed dashboard tab targeting after the tabs were converted to normal WordPress links.<\/li>\n<li>Restored each tab's data-whacr-tab value so JavaScript no longer treats every tab as Overview.<\/li>\n<li>Keeps the server-side link fallback in place if JavaScript is unavailable.<\/li>\n<li>No Free\/Pro feature changes.<\/li>\n<\/ul>\n\n<h4>0.18.8<\/h4>\n\n<ul>\n<li>Fixed a Free-build Products tab fatal error caused by missing live-test scanner initialization.<\/li>\n<li>Restored the live-page test availability and cooldown variables used by the Products screen.<\/li>\n<li>No Free\/Pro feature changes.<\/li>\n<\/ul>\n\n<h4>0.18.7<\/h4>\n\n<ul>\n<li>Made dashboard tabs work as normal WordPress links, so they no longer depend on JavaScript.<\/li>\n<li>Made Review products links open the Products tab directly without JavaScript.<\/li>\n<li>Kept JavaScript enhancements in place for scans, live tests, monitoring, filtering, and other interactive controls.<\/li>\n<li>No Free\/Pro feature changes.<\/li>\n<\/ul>\n\n<h4>0.18.6<\/h4>\n\n<ul>\n<li>Fixed dashboard script loading by matching the exact admin.php?page=wizehawk-store-discovery-audit request.<\/li>\n<li>Restores the dashboard tabs and Review products navigation when Freemius changes both the WordPress hook and screen ID.<\/li>\n<li>No Free\/Pro feature changes.<\/li>\n<\/ul>\n\n<h4>0.18.5<\/h4>\n\n<ul>\n<li>Fixed Free-build admin JavaScript loading when Freemius wraps the top-level plugin menu.<\/li>\n<li>Restores the Overview\/Discovery\/Products\/AI activity\/History\/Settings tabs and Review products buttons.<\/li>\n<li>Keeps the Free\/Pro split and beginner upgrade instructions unchanged.<\/li>\n<\/ul>\n\n<h4>0.18.4<\/h4>\n\n<ul>\n<li>Free package: removed paid-only implementation code while keeping clear Pro upgrade screens and step-by-step upgrade instructions.<\/li>\n<li>Standardized the paid\/Freemius integration to the newer Wizehawk naming convention.<\/li>\n<li>Replaced the short Freemius helper, global, and loaded-hook names with long plugin-specific Wizehawk names.<\/li>\n<li>Preserved the existing Freemius product ID, public key, plan configuration, premium suffix, menu slug, and Free\/Pro feature split.<\/li>\n<li>No free-feature, scan, scoring, data, or entitlement behavior changes.<\/li>\n<\/ul>\n\n<h4>0.18.3<\/h4>\n\n<ul>\n<li>Moved uninstall cleanup to Freemius' after_uninstall hook.<\/li>\n<li>Removed uninstall.php so Freemius can receive uninstall events and feedback before cleanup runs.<\/li>\n<li>Existing scan history and AI activity tables remain preserved on uninstall by design.<\/li>\n<li>No feature, entitlement, scan, scoring, or data behavior changes.<\/li>\n<\/ul>\n\n<h4>0.18.2<\/h4>\n\n<ul>\n<li>Renamed the Freemius helper, global variable, and loaded hook to use the plugin's WHACR prefix.<\/li>\n<li>Clears the remaining WordPress Plugin Check naming-convention warnings introduced by the Freemius integration.<\/li>\n<li>No licensing, entitlement, feature, scan, scoring, or data behavior changes.<\/li>\n<\/ul>\n\n<h4>0.18.1<\/h4>\n\n<ul>\n<li>Aligned the Free Overview AI activity label with the 7-day activity window used by the Free plan.<\/li>\n<li>Updated the Free History description so it no longer implies Pro-only scan comparison features are available.<\/li>\n<li>No entitlement, scan, scoring, or data behavior changes.<\/li>\n<\/ul>\n\n<h4>0.18.0<\/h4>\n\n<ul>\n<li>Integrated Freemius for Free\/Pro licensing, checkout, account, and updates.<\/li>\n<li>Free keeps the complete manual audit, live-page testing, basic 7-day AI activity counts, and the three most recent scan summaries.<\/li>\n<li>Pro unlocks automatic daily scans, regression monitoring, hosted email alerts, full history\/comparisons, bulk product fixes, advanced AI activity reporting, and top AI-accessed products.<\/li>\n<\/ul>\n\n<h4>0.17.1<\/h4>\n\n<ul>\n<li>Updated the WordPress.org readme \"Tested up to\" value to WordPress 7.1.<\/li>\n<li>Completed the remaining documented custom-table database access exceptions reported by Plugin Check.<\/li>\n<li>No feature or scoring behavior changes.<\/li>\n<\/ul>\n\n<h4>0.17.0<\/h4>\n\n<ul>\n<li>Reworked the remaining alert-history SQL queries to use prepared table-name identifier placeholders.<\/li>\n<li>Added documented WordPress coding-standard exceptions for intentional direct reads and writes to the plugin's own custom scan and activity tables.<\/li>\n<li>No feature or scoring behavior changes.<\/li>\n<\/ul>\n\n<h4>0.16.9<\/h4>\n\n<ul>\n<li>Sanitized admin request URIs before using them for redirect and notice links.<\/li>\n<li>Documented read-only admin query parameters so Plugin Check does not treat them as missing nonce protection.<\/li>\n<li>Reworked scan-history database queries to use prepared table-name identifier placeholders.<\/li>\n<li>No feature or scoring behavior changes.<\/li>\n<\/ul>\n\n<h4>0.16.8<\/h4>\n\n<ul>\n<li>Added GPLv2-or-later license metadata required by WordPress Plugin Check.<\/li>\n<li>Explicitly escaped the summary-card count output.<\/li>\n<li>Sanitized the request URI before traffic-monitoring use.<\/li>\n<li>Reworked AI activity SQL to use prepared identifier, value, and LIKE placeholders instead of interpolated table names or literal wildcards.<\/li>\n<li>No feature or scoring behavior changes.<\/li>\n<\/ul>\n\n<h4>0.16.7<\/h4>\n\n<ul>\n<li>Completed the WordPress internationalization cleanup for placeholder-based strings.<\/li>\n<li>Added translator comments to remaining dashboard, scanner, activity, alert, and live-test messages flagged by Plugin Check.<\/li>\n<li>Refactored repeated inline labels so translator comments are attached cleanly to the translated string.<\/li>\n<li>No feature or scoring behavior changes.<\/li>\n<\/ul>\n\n<h4>0.16.6<\/h4>\n\n<ul>\n<li>Added translator comments for placeholder-based translatable strings flagged by WordPress Plugin Check.<\/li>\n<li>Clarified numbered placeholders where multiple values are inserted into translated text.<\/li>\n<li>Refactored a few inline translated labels so they follow WordPress internationalization standards more cleanly.<\/li>\n<li>No feature or scoring behavior changes.<\/li>\n<\/ul>\n\n<h4>0.16.5<\/h4>\n\n<ul>\n<li>Keeps the Products tab active after a successful bulk fix.<\/li>\n<li>Returns the view to the Bulk fixes section after generating SKUs or applying short-description drafts, so merchants can continue fixing remaining product issues.<\/li>\n<\/ul>\n\n<h4>0.16.4<\/h4>\n\n<ul>\n<li>Improved AI-readable product data messaging when Product JSON-LD is missing.<\/li>\n<li>Child fields such as price, currency, availability, image, and SKU now show \"Blocked by schema issue\" instead of an unexplained \"Not checked\" state.<\/li>\n<li>Keeps the underlying scoring unchanged; this is a clarity\/UI improvement only.<\/li>\n<\/ul>\n\n<h4>0.16.3<\/h4>\n\n<ul>\n<li>Renamed Machine-readable product data to AI-readable product data.<\/li>\n<li>Added a real per-product structured-data results table instead of an explanation-only card.<\/li>\n<li>Shows Product schema, price, currency, availability, image, SKU, GTIN, brand, and overall structured-data status.<\/li>\n<li>GTIN and brand display Not provided when the store has not supplied those optional values, rather than being treated as failures.<\/li>\n<li>Added a compact legend so merchants can understand Ready, Attention, Issue, and Not provided states.<\/li>\n<\/ul>\n\n<h4>0.16.2<\/h4>\n\n<ul>\n<li>Removed the local-only Development test mode from the AI Discovery Center.<\/li>\n<li>Removed crawler-block simulation controls and the internal forced-block simulation logic.<\/li>\n<li>Local development sites still show honest local robots-policy results and clearly mark public crawler verification as unavailable.<\/li>\n<li>Kept the Wizehawk email test feature for alert-delivery testing.<\/li>\n<\/ul>\n\n<h4>0.16.1<\/h4>\n\n<ul>\n<li>Bulk Fixes now shows products that need description work even when they cannot yet be safely auto-fixed.<\/li>\n<li>Added a clear count and explanation for products whose full description is too thin to draft a short description from.<\/li>\n<li>Added direct Edit product buttons for those manual-description cases.<\/li>\n<li>Disabled auto-fix checkboxes and buttons when a product\/fix is not currently safe to automate.<\/li>\n<li>Clarified that Store Discovery Audit never invents product copy or overwrites existing descriptions.<\/li>\n<\/ul>\n\n<h4>0.16.0<\/h4>\n\n<ul>\n<li>Added an Overview \"What to work on next\" summary that ranks the highest-priority blocking and warning items from the latest scan.<\/li>\n<li>Groups repeated product problems so merchants can see how many products are affected without reading every row.<\/li>\n<li>Added one-click navigation from Overview action items to the relevant Discovery or Products tab.<\/li>\n<li>Polished Settings with a clearer heading and separate Automatic scans and Email alerts cards.<\/li>\n<li>Reduced Product readiness visual density by showing two fix items before expanding the rest.<\/li>\n<li>Added cleaner spacing, responsive action rows, and useful section anchors.<\/li>\n<\/ul>\n\n<h4>0.15.0<\/h4>\n\n<ul>\n<li>Reorganized the dashboard into six cleaner tabs: Overview, Discovery, Products, AI activity, History, and Settings.<\/li>\n<li>Moved automatic-scan and email-alert controls into Settings.<\/li>\n<li>Kept summary cards and readiness scores on the Overview tab.<\/li>\n<li>Grouped crawler\/discovery and machine-readable checks together.<\/li>\n<li>Grouped live testing, bulk fixes, and product readiness together.<\/li>\n<li>Grouped AI activity metrics and top AI-accessed products together.<\/li>\n<li>Moved scan comparisons and recent scan history into History.<\/li>\n<li>Added remembered tab selection and deep-link handling so navigation stays intuitive.<\/li>\n<\/ul>\n\n<h4>0.14.0<\/h4>\n\n<ul>\n<li>Removed the temporary\/custom Wizehawk licensing system from the plugin.<\/li>\n<li>Removed license activation, site binding, expiry, revoke\/restore, and license-key storage.<\/li>\n<li>Hosted email alerts remain available for development\/testing only through the Wizehawk relay.<\/li>\n<li>Freemius licensing\/subscription integration is intentionally deferred until the paid edition is ready.<\/li>\n<li>Free-version development can continue without any licensing UI or custom entitlement code.<\/li>\n<\/ul>\n\n<h4>0.13.0<\/h4>\n\n<ul>\n<li>Replaced the temporary shared relay credential with Wizehawk Pro license authentication.<\/li>\n<li>Added one-time license activation on the store.<\/li>\n<li>Hosted email alerts are available only to an active license bound to the current site.<\/li>\n<li>License keys are encrypted before storage in WordPress.<\/li>\n<li>Customer email setup remains simple: after license activation, only the alert recipient address is needed.<\/li>\n<li>Hosted alert delivery refuses unlicensed or unbound stores.<\/li>\n<\/ul>\n\n<h4>0.12.0<\/h4>\n\n<ul>\n<li>Replaced per-site SMTP configuration with Wizehawk-hosted alert delivery.<\/li>\n<li>Store owners only enter the email address that should receive alerts.<\/li>\n<li>No SMTP host, port, username, password, or separate WordPress mail plugin is required.<\/li>\n<li>Saving a valid alert email automatically enables email regression alerts.<\/li>\n<li>Added a one-click Wizehawk test alert.<\/li>\n<li>Kept dashboard and WordPress admin regression alerts independent of email delivery.<\/li>\n<li>Development build uses a temporary relay credential; paid-license authentication will replace it before public release.<\/li>\n<\/ul>\n\n<h4>0.11.0<\/h4>\n\n<ul>\n<li>Added built-in direct SMTP delivery for Store Discovery Audit alert emails, removing the need for a separate WordPress mail plugin.<\/li>\n<li>Added SMTP host, port, encryption, authentication, username, password, From identity, and test-recipient settings.<\/li>\n<li>SMTP passwords are encrypted before being stored and are never displayed back in the dashboard.<\/li>\n<li>Built-in SMTP affects only Store Discovery Audit alerts and does not replace or reconfigure WooCommerce or other WordPress email.<\/li>\n<li>Added a Save &amp; send SMTP test workflow with real SMTP error feedback.<\/li>\n<li>Email alerts can still use normal WordPress mail when built-in SMTP is not enabled.<\/li>\n<\/ul>\n\n<h4>0.10.2<\/h4>\n\n<ul>\n<li>Reframed regression email as an optional convenience feature rather than a required setup step.<\/li>\n<li>Clarified that Store Discovery Audit does not require an SMTP plugin or separate mail plugin.<\/li>\n<li>Optional email alerts use whatever WordPress email delivery the site already has.<\/li>\n<li>Test-email feedback now says WordPress accepted the request instead of falsely implying confirmed delivery.<\/li>\n<li>Added a development-site warning explaining that local email delivery may not work without a local mail service.<\/li>\n<li>Dashboard alerts, WordPress admin notices, scheduled scans, history, and regression detection remain fully functional with email alerts disabled.<\/li>\n<\/ul>\n\n<h4>0.10.1<\/h4>\n\n<ul>\n<li>Added optional regression email alerts for automatic scans.<\/li>\n<li>Email alerts are off by default and can be enabled from the plugin dashboard.<\/li>\n<li>Administrators can choose the recipient address and send a test email.<\/li>\n<li>Clean scans do not send email.<\/li>\n<li>Each automatic scan can trigger at most one regression email, preventing duplicate notifications.<\/li>\n<li>Email messages include the affected crawler\/product checks and a direct link to Change history.<\/li>\n<li>Added last email-attempt status so delivery problems are visible inside the dashboard.<\/li>\n<\/ul>\n\n<h4>0.10.0<\/h4>\n\n<ul>\n<li>Added automatic daily store scans using WordPress cron.<\/li>\n<li>Automatic scanning is enabled by default and can be paused or re-enabled from the plugin dashboard.<\/li>\n<li>Added next scheduled scan and last automatic attempt information.<\/li>\n<li>Added a scan lock to prevent manual and automatic scans from overlapping.<\/li>\n<li>Recent scan history now identifies Manual, Automatic, and Bulk fix scans.<\/li>\n<li>Scheduled scans use the same local-first scanner and regression detection.<\/li>\n<li>WordPress cron is traffic-driven, so scheduled scans may run shortly after the displayed time when the site next receives a visit.<\/li>\n<\/ul>\n\n<h4>0.9.3<\/h4>\n\n<ul>\n<li>Prevented duplicate regression alerts on the Store Discovery Audit dashboard.<\/li>\n<li>The plugin dashboard now shows only its inline regression alert.<\/li>\n<li>The normal WordPress admin regression notice remains available on other admin screens.<\/li>\n<li>Dismissing the global notice still applies only to the current scan.<\/li>\n<\/ul>\n\n<h4>0.9.2<\/h4>\n\n<ul>\n<li>Added an inline regression alert inside the Store Discovery Audit dashboard.<\/li>\n<li>Regression alerts now appear immediately after an AJAX store scan without requiring a full WordPress page refresh.<\/li>\n<li>The existing WordPress admin notice remains available on subsequent admin page loads.<\/li>\n<li>Added a Review changes button that jumps directly to Change history.<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>Added WordPress admin regression alerts when the latest completed scan contains new regressions.<\/li>\n<li>Alerts link directly to Change history for review.<\/li>\n<li>Added Dismiss for this scan so each administrator can silence an alert without hiding future regressions.<\/li>\n<li>Notices are based on locally stored scan comparisons and require no cloud service or external notification system.<\/li>\n<\/ul>\n\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>Added change history comparing each completed scan with the previous scan.<\/li>\n<li>New regressions are surfaced when tracked discovery, product-data, or machine-data checks become worse.<\/li>\n<li>Improvements are tracked separately and can be expanded for review.<\/li>\n<li>Added readiness score deltas for Discovery, Product data, and Machine data.<\/li>\n<li>Added a recent scan history table showing product totals and Ready \/ Attention \/ Blocked counts.<\/li>\n<li>Change history uses existing local scan data; no cloud service or new tracking is required.<\/li>\n<\/ul>\n\n<h4>0.8.1<\/h4>\n\n<ul>\n<li>Clarified the AI readiness overview activity card so it cannot be mistaken for a percentage score.<\/li>\n<li>The card now reads AI activity detected and displays values such as 0 events.<\/li>\n<li>The selected 7\/30\/90-day period is labeled as a real activity window.<\/li>\n<\/ul>\n\n<h4>0.8.0<\/h4>\n\n<ul>\n<li>Added AI readiness overview with separate Discovery, Product data, and Machine-readable data scores.<\/li>\n<li>Ready checks receive full credit, warnings receive half credit, and blocking checks receive no credit.<\/li>\n<li>Informational checks are excluded from scoring.<\/li>\n<li>Added a separate AI activity card showing real crawler\/referral events for the selected 7\/30\/90-day period.<\/li>\n<li>AI activity is intentionally reported rather than scored so lack of traffic does not create a fake readiness penalty.<\/li>\n<\/ul>\n\n<h4>0.7.4<\/h4>\n\n<ul>\n<li>Added local-only Discovery Center failure-path simulation.<\/li>\n<li>Developers can simulate a site-wide robots.txt block for OpenAI Search, Claude Search, Perplexity, Applebot, or Google-Extended.<\/li>\n<li>Simulations do not modify the real robots.txt file and are ignored on public sites.<\/li>\n<li>Added a one-click Clear simulation action.<\/li>\n<li>Changing or clearing a simulation invalidates the discovery cache so the next scan reflects the test state.<\/li>\n<\/ul>\n\n<h4>0.7.3<\/h4>\n\n<ul>\n<li>Added crawler-specific recommendations to the AI Discovery Center.<\/li>\n<li>Blocked crawlers now show the site-wide robots.txt rule responsible when it can be identified.<\/li>\n<li>Added safe suggested Allow rules for OpenAI, Claude, Perplexity, and Applebot.<\/li>\n<li>Google-Extended is treated as an optional AI-use policy choice rather than a Google Search problem.<\/li>\n<li>Improved robots.txt group parsing so crawler-specific and wildcard groups are evaluated more reliably.<\/li>\n<\/ul>\n\n<h4>0.7.2<\/h4>\n\n<ul>\n<li>Added development-site simulation for AI Discovery Center robots.txt checks.<\/li>\n<li>Local WordPress sites now generate and evaluate their robots.txt policy internally without making external network requests.<\/li>\n<li>OpenAI, Claude, Perplexity, Applebot, and Google-Extended policy checks can now be tested safely on local development sites.<\/li>\n<li>Public crawler reachability, sitemap verification, and crawler IP verification are clearly labeled unavailable on development sites.<\/li>\n<\/ul>\n\n<h4>0.7.1<\/h4>\n\n<ul>\n<li>Improved AI Discovery Center status wording when a store discovery scan is deferred by rate limiting.<\/li>\n<li>Missing crawler checks now show Pending next successful scan instead of Not checked yet when the scan could not complete.<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>Added AI Discovery Center for OpenAI\/ChatGPT Search, Claude Search, Perplexity, Applebot, and Google-Extended.<\/li>\n<li>Store scans now check robots.txt access for Claude-SearchBot, Claude-User, PerplexityBot, Applebot, and Google-Extended.<\/li>\n<li>Added privacy-conscious crawler identity verification for OpenAI, Anthropic, and Perplexity using their official published IP ranges.<\/li>\n<li>Crawler IP addresses are never stored; only the verification result is saved.<\/li>\n<li>Added crawler verification badges to AI activity sources and recent activity.<\/li>\n<li>Added Claude-SearchBot monitoring.<\/li>\n<\/ul>\n\n<h4>0.6.3<\/h4>\n\n<ul>\n<li>Live-page testing now honors the server's full Retry-After value when rate-limited.<\/li>\n<li>Supports both Retry-After delta-seconds (for example 3600) and HTTP-date format.<\/li>\n<li>Falls back to the plugin's safety cooldown only when the server does not provide a usable Retry-After value.<\/li>\n<\/ul>\n\n<h4>0.6.2<\/h4>\n\n<ul>\n<li>Live-test cooldown badges now update automatically when the timer reaches zero.<\/li>\n<li>Product-row Cooling down badges disappear without a page refresh.<\/li>\n<li>Historical rate-limited results change to Retest needed as soon as testing becomes available again.<\/li>\n<li>Live-test buttons re-enable at the same time.<\/li>\n<\/ul>\n\n<h4>0.6.1<\/h4>\n\n<ul>\n<li>Fixed a fatal error introduced by the 7 \/ 30 \/ 90 day filter.<\/li>\n<li>The selected AI activity period is now available to both the AI activity panel and Top AI-accessed products.<\/li>\n<li>Restores the Top AI-accessed products, Live page deep test, Bulk fixes, and Product readiness sections below AI activity.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Added 7 \/ 30 \/ 90 day filters to AI activity monitoring.<\/li>\n<li>Added an AI activity trend chart for the selected period.<\/li>\n<li>AI crawler requests, referral visits, products reached, sources, recent activity, and Top AI-accessed products now follow the selected period.<\/li>\n<li>Test events remain clearly labeled and excluded from Top AI-accessed product rankings.<\/li>\n<\/ul>\n\n<h4>0.5.9<\/h4>\n\n<ul>\n<li>Fixed stale Cooling down badges on products after the live-test cooldown has expired.<\/li>\n<li>Historical rate-limited results now show Retest needed once testing is available again.<\/li>\n<li>Cooling down is shown only while the current global cooldown is actually active.<\/li>\n<\/ul>\n\n<h4>0.5.8<\/h4>\n\n<ul>\n<li>Cleaned up punctuation around closing quotation marks in generated short-description drafts.<\/li>\n<li>Prevents endings such as \u201cTHOUSANDTHS MATTER.\u201d. while preserving correct sentence punctuation.<\/li>\n<\/ul>\n\n<h4>0.5.7<\/h4>\n\n<ul>\n<li>Fixed a misleading Bulk fixes status for products that already have a short description.<\/li>\n<li>Products with an existing short description now show Already set.<\/li>\n<li>Not auto-fixable is now reserved for products that are genuinely missing a short description and cannot be safely drafted.<\/li>\n<\/ul>\n\n<h4>0.5.6<\/h4>\n\n<ul>\n<li>Rebuilt the short-description candidate selector for labeled\/bulleted descriptions.<\/li>\n<li>Literal bullet characters are now split correctly even when the editor stores them inside one paragraph.<\/li>\n<li>Graphic, Design, Artwork, Message, Style, and Theme copy is prioritized over generic garment details.<\/li>\n<li>Details copy remains usable but is deliberately lower priority.<\/li>\n<li>Long sentences now fall back to a clean punctuation or word boundary instead of becoming non-fixable.<\/li>\n<\/ul>\n\n<h4>0.5.5<\/h4>\n\n<ul>\n<li>Fixed short-description drafts for products whose descriptions are entirely labeled bullet lines.<\/li>\n<li>Graphic, Style, Design, Theme, Artwork, Message, and Details labels are now stripped while preserving the useful customer-facing copy.<\/li>\n<li>Technical\/admin labels such as SKU, GTIN, size chart, care, shipping, and specifications remain excluded.<\/li>\n<li>Added a small preference for vivid merchandising copy when choosing between multiple candidate lines.<\/li>\n<\/ul>\n\n<h4>0.5.4<\/h4>\n\n<ul>\n<li>Improved short-description cleanup for metadata-style prefixes.<\/li>\n<li>Strips customer-unfriendly labels such as Style, Design, Theme, Artwork, Message, and Graphic while preserving the useful sentence that follows.<\/li>\n<li>Continues to skip structural\/specification labels such as Details, Features, Specs, and Size Chart.<\/li>\n<\/ul>\n\n<h4>0.5.3<\/h4>\n\n<ul>\n<li>Improved short-description draft source selection.<\/li>\n<li>Skips common labels and headings such as Graphic, Details, Features, Specs, and Size Chart.<\/li>\n<li>Prefers natural customer-facing prose over bullet\/specification lines.<\/li>\n<li>Strips bullet symbols before evaluating candidate text.<\/li>\n<\/ul>\n\n<h4>0.5.2<\/h4>\n\n<ul>\n<li>Added previews for bulk short-description drafts before saving.<\/li>\n<li>Drafts now prefer complete sentences and avoid ugly word-limit truncation.<\/li>\n<li>Existing short descriptions are still never overwritten.<\/li>\n<li>Renamed the action to Apply short-description drafts so saving is explicit.<\/li>\n<\/ul>\n\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>Fixed the Bulk fixes panel not rendering on the dashboard.<\/li>\n<li>Bulk fixes now appear directly above Product readiness.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Added Bulk fixes for selected WooCommerce products.<\/li>\n<li>Generate unique SKUs only for products that are missing them; existing SKUs are never overwritten.<\/li>\n<li>Create short-description drafts from text already present in the product's full description; existing short descriptions are never overwritten.<\/li>\n<li>Added product selection, confirmation prompts, and immediate rescanning after successful fixes.<\/li>\n<\/ul>\n\n<h4>0.4.7<\/h4>\n\n<ul>\n<li>Fixed the remaining fatal error in Top AI-accessed products.<\/li>\n<li>The ranking now uses the existing whacr_ai_events table directly instead of calling a nonexistent table_name() helper.<\/li>\n<\/ul>\n\n<h4>0.4.6<\/h4>\n\n<ul>\n<li>Fixed a fatal error in Top AI-accessed products caused by using the wrong AI activity timestamp column.<\/li>\n<li>Added a defensive fallback so a failed product-ranking query cannot break the admin dashboard.<\/li>\n<\/ul>\n\n<h4>0.4.5<\/h4>\n\n<ul>\n<li>Fixed the Top AI-accessed products panel not rendering in the admin dashboard.<\/li>\n<li>Keeps test-monitoring events excluded from product rankings.<\/li>\n<\/ul>\n\n<h4>0.4.4<\/h4>\n\n<ul>\n<li>Added Top AI-accessed products for the last 30 days.<\/li>\n<li>Separates crawler hits from AI referral visits per product.<\/li>\n<li>Excludes test-monitoring events from product rankings.<\/li>\n<li>Added direct Edit and View links from the ranking table.<\/li>\n<\/ul>\n\n<h4>0.4.3<\/h4>\n\n<ul>\n<li>Expanded AI activity recognition with Applebot.<\/li>\n<li>Added activity categories so merchants can distinguish search\/discovery crawlers, training\/data crawlers, user-triggered AI fetchers, ads\/validation bots, and referral traffic.<\/li>\n<li>Added category labels to Sources and Recent activity.<\/li>\n<\/ul>\n\n<h4>0.4.2<\/h4>\n\n<ul>\n<li>Fix test-activity detection so Clear test activity appears after a monitoring self-test.<\/li>\n<li>Fix clearing of test monitoring records.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Added local AI crawler and AI referral monitoring.<\/li>\n<li>Added 30-day activity dashboard and 90-day retention.<\/li>\n<\/ul>\n\n<h4>0.3.10<\/h4>\n\n<ul>\n<li>Condenses rate-limit\/security errors in product rows and moves technical details behind a View details control.<\/li>\n<\/ul>\n\n<h4>0.3.9<\/h4>\n\n<ul>\n<li>Simplifies cooldown messaging so the remaining time appears only in the main yellow notice.<\/li>\n<li>Keeps the Live Page Deep Test panel concise while a cooldown is active.<\/li>\n<li>Removes repeated per-product countdown text and uses a small Cooling down badge with disabled test buttons instead.<\/li>\n<\/ul>\n\n<h4>0.3.8<\/h4>\n\n<ul>\n<li>Fixes a fatal admin-page error introduced in 0.3.6 when rendering the cooldown notice.<\/li>\n<li>Reuses the live scanner instance correctly for cooldown state.<\/li>\n<\/ul>\n\n<h4>0.3.6<\/h4>\n\n<ul>\n<li>Adds a prominent cooldown notice above the product table while live testing is paused.<\/li>\n<li>Shows \u201cToo many test attempts\u201d for HTTP 429 rate limits instead of presenting the condition as a product error.<\/li>\n<li>Keeps technical blocking details secondary while giving the user a clear countdown before testing is available again.<\/li>\n<\/ul>\n\n<h4>0.3.5<\/h4>\n\n<ul>\n<li>Adds a visible live-test cooldown timer before another request can be sent.<\/li>\n<li>Disables all live-test buttons during cooldown so repeated clicks cannot trigger avoidable 429 responses.<\/li>\n<li>Shows a clear \u201cToo many attempts \/ cooling down\u201d message with the remaining wait time.<\/li>\n<li>Treats blocked\/rate-limited live tests as completed diagnostics rather than generic AJAX errors.<\/li>\n<\/ul>\n\n<h4>0.3.4<\/h4>\n\n<ul>\n<li>Caches discovery checks for 15 minutes to reduce repeat requests.<\/li>\n<li>Treats HTTP 403\/429\/503 discovery responses as temporary access limits rather than permanent failures.<\/li>\n<li>Preserves the last successful discovery state when a temporary rate limit occurs.<\/li>\n<li>Adds live-page request cooldowns and longer backoff after a security\/rate-limit response.<\/li>\n<\/ul>\n\n<h4>0.3.3<\/h4>\n\n<ul>\n<li>Compare multiple rendered Product JSON-LD objects instead of warning on duplicate count alone.<\/li>\n<li>Treat consistent overlapping product schema values as harmless duplication.<\/li>\n<li>Warn only when duplicate Product schemas disagree on product name, SKU, GTIN, brand, price, currency, or availability.<\/li>\n<\/ul>\n\n<h4>0.3.2<\/h4>\n\n<ul>\n<li>Treat HTTP 403, 429, and 503 as an unavailable live test instead of a product failure.<\/li>\n<li>Skip downstream canonical and schema checks when the public page could not be retrieved.<\/li>\n<li>Identify live-page requests with a descriptive Wizehawk user agent.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Live-page results now include an expandable list of every blocking issue and warning instead of showing only the first finding.<\/li>\n<li>Added a public-product-content check to flag cases where an outside request appears to receive a coming-soon page, maintenance screen, login wall, security challenge, redirect, or other interstitial instead of the product itself.<\/li>\n<li>Keeps live-page findings separate from the fast store scan and stores the detailed result locally.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Added optional per-product Live Page Deep Test for public stores.<\/li>\n<li>Verifies final rendered HTML, indexability, canonical URL, Product JSON-LD, duplicate Product schemas, offers, price, currency, availability, image, SKU, GTIN, and brand.<\/li>\n<li>Live tests are separate from the fast store scan to avoid slowing large catalogs.<\/li>\n<li>Local\/development sites show the live test as unavailable until a public URL is used.<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Separates WooCommerce product-data findings from machine-readable schema findings in the product table.<\/li>\n<li>Adds independent severity counts for each layer to avoid double-counting confusion.<\/li>\n<li>Clarifies that the overall product status reflects both layers.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Tightened machine-readable Product schema checks so missing offer price, currency, availability, image, and SKU are no longer incorrectly reported as Ready.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Added WooCommerce Product JSON-LD readiness checks.<\/li>\n<li>Checks offer price, currency, availability, image, SKU, GTIN, and brand exposure.<\/li>\n<li>Added Machine data status to each product row.<\/li>\n<li>Added schema-specific fix labels and dashboard guidance.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Renamed the dashboard summary from \u201cBlocking issues\u201d to \u201cProducts blocked\u201d so the label accurately describes the count.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Local\/development sites no longer show a misleading sitemap timeout warning when WordPress cannot request its own local URL.<\/li>\n<li>Product fix lists can now be expanded to show every blocking issue and warning.<\/li>\n<li>Each fix is labeled as Blocking or Warning for clearer prioritization.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Fixed admin menu visibility when WooCommerce is not installed or active.<\/li>\n<li>Plugin administration now uses the standard WordPress administrator capability and still requires WooCommerce only for product scanning.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial private development build.<\/li>\n<\/ul>","raw_excerpt":"Local-first WooCommerce readiness checks for AI search discovery, crawler access, and structured product information.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/378069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=378069"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wizehawk"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=378069"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=378069"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=378069"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=378069"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=378069"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=378069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}