WooCommerce products without a description

A published product with an empty description has a page that says nothing beyond a name and a price. CatalogLift finds every one across the synced catalog and, because this check carries an AI proposal, drafts a description from the product's own data for you to approve.

Content & SEO Medium severity AI proposal

Why a missing description holds products back

The full description is where a product page earns the purchase. It is the text a shopper reads after the photo has caught their eye, the body copy search engines index to understand what the page is about, and the field feeds and marketplaces pull to describe the item. When it is empty, all three fall back to nothing.

  • Shoppers have nothing to decide on. A page with a title, a price and a blank Description tab reads as unfinished, and unfinished pages get compared against a competitor's finished one.
  • Search engines see a thin page. Without body text, the product page has little to rank for beyond its title, and hundreds of such pages make the whole store look thin.
  • Feeds and channels inherit the gap. Product feeds and marketplace listings that read the WooCommerce description ship an empty field, which is often rejected or ranked last.
  • Imports create it quietly. A CSV column left blank or a supplier feed without long text publishes products with no description, and nobody notices until someone opens the page.

How to find missing descriptions manually

The full description lives in post_content on the product post. With WP-CLI, this query lists published products whose description is empty:

wp db query "SELECT p.ID, p.post_title, m.meta_value AS sku
FROM wp_posts p
LEFT JOIN wp_postmeta m
  ON m.post_id = p.ID AND m.meta_key = '_sku'
WHERE p.post_type = 'product'
  AND p.post_status = 'publish'
  AND TRIM(p.post_content) = ''
ORDER BY p.ID
LIMIT 50;"

Adjust the table prefix if yours isn't wp_. Drop the post_status clause to include drafts and private products.

This finds the empty strings, but not the descriptions that only look empty: a stray <p>&nbsp;</p> left by the editor, a couple of line breaks, or a block-editor wrapper with no text inside all pass a TRIM check while showing a blank tab to the shopper. It also stops at the list. Writing several hundred descriptions is the real work, and the query answers once — next month's import can reintroduce the same gaps without anyone running it again.

How CatalogLift finds and drafts it

Every scan reads the full description of each current product in the synced catalog, strips the HTML, decodes entities and removes all whitespace before deciding whether anything is left. If nothing is, and the product is in a published status, the product is reported at medium severity with the empty field named as evidence. Draft and private products are left alone until they go live, and the short description is checked separately so the two are never confused.

Because writing the text is the expensive part, this check carries an AI proposal. CatalogLift drafts a description from the product's own catalog data — its title, attributes, category, brand and short description — and never from facts it does not have. Each draft arrives as a before/after diff with evidence and a confidence score. You approve, edit or skip; only decided descriptions are written to WooCommerce, and the next scan verifies they landed. Because CatalogLift keeps watching, a future import that publishes products without descriptions becomes a fresh finding rather than a silent regression. The scan itself is free and nothing in the store changes until you approve.

Fair questions, straight answers.

Which description does this check look at?

The full description — the long text WooCommerce stores in the product post itself and shows in the Description tab of the product page. The short description above the add-to-cart button is a separate field with its own check.

Does a description made of empty paragraphs count as missing?

Yes. CatalogLift strips the HTML, decodes entities and removes whitespace before deciding, so a description that holds nothing but empty paragraph tags, line breaks or non-breaking spaces is reported as empty. A plain SQL check that tests for an empty string misses those.

Are drafts written for products that aren't published?

The finding is raised only for products in a published status, because a blank draft product is not yet a defect a shopper can see. Once a product is published without a description, the next scan reports it.

Does the AI publish the description on its own?

No. The AI drafts a description from the product's own catalog data — title, attributes, category, brand and short description — and you see it as a before/after diff with evidence. Nothing is written to WooCommerce except on your authority, and the next scan verifies the change landed.

See it on your own catalog.

Create a free account, connect your WooCommerce store and this check runs on your real products, along with the rest.

No card required. The free plan never writes to WooCommerce.