Kaiizen Shelf Life – Product SEO Audit & Content Refresh for WooCommerce

Kaiizen Shelf Life – Product SEO Audit & Content Refresh for WooCommerce

Details
View on WordPress

Product pages go stale. Descriptions copied from the manufacturer, “Summer 2024” still in a product name, images without alt text, categories with no introduction, links to products you deleted last year. Each problem is small, but together they cost you search traffic and sales.

Kaiizen Shelf Life checks every product and product category in your WooCommerce store, gives each one a health score from 0 to 100, and shows you a prioritized list of what to fix first — in plain language, with a concrete “how to fix” for every issue.

It is made for store owners, not SEO experts. Instead of jargon you get messages like:

This product’s description is only 18 words. Add at least 132 more words — details about size, use, materials and what makes it different.

What it checks

Products

  • Thin descriptions – long description under 150 words, or no short description.
  • Duplicate descriptions – the same (or nearly the same) text on several products, usually copied from the manufacturer.
  • Outdated years and seasons – past years or campaigns like “Summer 2024” or “Black Friday 2023” in the name or descriptions. Years inside SKUs, links and image attributes are ignored.
  • Meta description – missing, too short or too long. Read from Yoast SEO, Rank Math or All in One SEO; without an SEO plugin, the short description is checked instead and the message says so.
  • SEO title – missing or likely to be cut off in search results (when an SEO plugin is active).
  • Images – no main image, too few images, or images without alt text.
  • Product details for Google – missing price, SKU, reviews, and GTIN or brand (only if your store uses them).
  • Out of stock for a long time – tracked from the day the plugin is installed.
  • Links to missing pages – links in the description to deleted, draft or private products and pages.
  • Not updated in a long time – a gentle reminder to review older products.

Product categories

  • Missing or very short category description.
  • Missing meta description.
  • Empty categories, or categories where every product is out of stock.
  • Outdated years and seasons in the name or description.

Every threshold can be changed, and every check can be turned off, in Shelf Life Settings.

How the fix list is ranked

Each check can take points off a page’s 100-point score, weighted by how serious the issue is (high, medium or low). The fix list puts first the pages that have the lowest scores and matter most — published, in stock, priced and featured products rank higher.

Built for real stores

  • Never changes your products on its own. The free plugin only reads and reports. It never edits content and never changes a product’s “last modified” date.
  • Fast on large catalogs. Full scans run in the background in small batches with Action Scheduler (included with WooCommerce), and unchanged products are skipped. Tested with 10,000 products.
  • Always up to date. Products and categories are re-checked automatically when you save them, when stock changes, and when you fix alt text in the Media Library. An optional weekly scan catches everything else.
  • Dismiss or snooze any issue that does not apply to you.
  • Dashboard widget on the WordPress dashboard with your store health and the top 3 fixes.
  • WP-CLI commands: wp kaiizen-shelf-life scan, status and reset.
  • Works with HPOS, multisite, right-to-left languages and screen readers.
  • Fully translatable.

For developers

Shelf Life is built to be extended. Actions and filters include:

  • kzsl_register_checks – add, replace or remove checks (implement Kaiizen\ShelfLife\Checks\CheckInterface, or extend AbstractCheck).
  • kzsl_item_importance – replace the importance estimate, e.g. with traffic or sales data.
  • kzsl_item_context – add data to the snapshot checks receive.
  • kzsl_check_weight, kzsl_severity_factors, kzsl_item_score, kzsl_item_priority – tune scoring.
  • kzsl_seo_adapter – support another SEO plugin.
  • kzsl_item_row_actions, kzsl_detail_panel_after, kzsl_dashboard_after_summary – add links, panels and cards to the admin.
  • kzsl_after_scan_item, kzsl_scan_started, kzsl_scan_complete, kzsl_issue_status_changed, kzsl_settings_updated, kzsl_loaded.

  • kzsl_admin_tabs – add admin tabs with their own submenu item; kzsl_background_hooks – register background jobs so they are cleared on deactivation; kzsl_uninstall_site – remove add-on data on uninstall.

The React admin exposes JavaScript filters through @wordpress/hooks: kzsl.adminTabs, kzsl.itemRowActions, kzsl.itemsBulkActions, kzsl.detailPanelAfter, kzsl.dashboardAfterSummary, kzsl.settingsBefore and kzsl.settingsAfter. Enqueue your script on the kzsl_admin_enqueue_scripts action with kzsl-admin as a dependency.

The REST API lives under /wp-json/kaiizen-shelf-life/v1/ and requires the manage_woocommerce capability.

The un-minified source of the admin app is included in the src folder; build it with npm install && npm run build.

Premium version

Everything in this plugin is free and fully functional, with no limits on the number of products and no time limit. A separate Premium version, available from the plugin website, adds Google Search Console traffic data, sales-based priorities, AI-assisted writing, bulk content refresh, before-and-after results and a weekly email report. You never need it to use this plugin.

Privacy

The audit runs entirely on your own server. Kaiizen Shelf Life does not send your products, content or scan results anywhere. The only optional connection is the Freemius opt-in described under External services.

External services

This plugin connects to one external service, and only if you choose to:

Freemius (optional usage-data opt-in). The plugin includes the Freemius SDK. It does not ask you anything when you activate the plugin and sends nothing by default; an optional “Opt In” link on the Plugins screen lets you share basic usage information if you want to. If you opt in, Freemius receives your site URL, WordPress, PHP and plugin versions and your admin email address. Every feature works without opting in. Terms of service, privacy policy.

Details

Plugin code:
kaiizen-shelf-life
Plugin version:
1.2.0
Author:
Outdated:
No
WP version:
6.5 or higher
PHP version:
7.4 or higher
Test up to WP version:
7.1.2
Total installations:
0
Last updated:
2026-10-05
Rating:
Times rated:
0
content-refresh
product-descriptions
product-seo
seo-audit
woocommerce-seo