Why a missing short description holds products back
WooCommerce stores the short description as the product's excerpt, and the theme puts it in the most valuable spot on the page: beside the image, above the add-to-cart button, before the tabs. It is also the text most themes reuse in category loops, quick views and search results, and the text many feed and schema plugins pick up as the product's summary. An empty excerpt fails in all those places at once.
- The buy box says nothing. A shopper lands on the page, sees the price and the button, and has no reason to trust either. The full description sits below the fold or behind a tab — many never reach it.
- Listings lose their one line of context. Themes that print excerpts in category grids and quick views show a blank where the competing product shows a benefit.
- Feeds and structured data fall back or go empty. Plugins that map the excerpt to a description field ship a gap, or paste the full description in a place it was never written for.
- It piles up silently. CSV imports, PIM exports and hurried bulk creation rarely fill the excerpt, so a whole season of products can arrive without one and nobody notices until sales look flat.
How to find missing short descriptions manually
The short description lives in post_excerpt on the product
row itself, so one WP-CLI query lists every product where it is empty:
wp db query "SELECT p.ID, p.post_title, p.post_status
FROM wp_posts p
WHERE p.post_type = 'product'
AND p.post_status IN ('publish', 'draft', 'private', 'pending')
AND TRIM(p.post_excerpt) = ''
ORDER BY p.post_status, p.ID
LIMIT 100;"
Adjust the table prefix if yours isn't wp_. Drop the
post_status filter to include everything, or keep only
publish if you care about the live store alone.
The query is honest but blunt. TRIM only removes spaces,
so an excerpt holding <p></p>, a stray
<br> or an looks filled and
slips through. It answers once — the next import quietly reopens the
gap. And the list is the easy part: each row is a paragraph somebody
still has to write, in the store's voice, from that product's facts,
without repeating the full description word for word.
How CatalogLift finds and drafts it
Every scan reads the short description of each product in the synced catalog, strips tags and HTML entities, collapses whitespace and reports the product when nothing is left. It does this for every product status, not only published ones, so a product is complete before it goes live. Each finding names the field and carries the product as evidence, at medium severity, next to everything else the scan surfaced. A short description that exists but merely repeats the full description is a separate, lower-severity finding.
Because writing the paragraph is the expensive part, this check carries an AI proposal. CatalogLift drafts the short description from the product's own data — its title, full description, attributes and categories — never from thin air, and never as a copy of the long text. The draft arrives as a before/after diff with evidence and a confidence score; you approve, edit or skip. Only decided text is written to WooCommerce, and the next scan verifies it landed. Because CatalogLift keeps watching, a later import that ships products without an excerpt becomes a fresh finding rather than a silent regression.