Why a missing meta description costs clicks
The meta description is the two lines under the blue link — the only pitch a searcher reads before choosing between your product and the four results around it. Leave it empty and the search engine assembles one itself, usually from the first text it finds on the page.
- The snippet becomes an accident. Scraped fragments — shipping notes, cookie banners, the start of a spec table — routinely end up as your pitch.
- Identical products, identical snippets. When many products lack descriptions, their improvised snippets blur together and none of the results stand out.
- You pay for the click twice. If you also run paid traffic, a weak organic snippet pushes searchers toward the ad you pay for instead of the free result.
How to find missing meta descriptions manually
Like the SEO title, the meta description lives in postmeta under your SEO plugin's key. With Yoast SEO:
wp db query "SELECT p.ID, p.post_title FROM wp_posts p LEFT JOIN wp_postmeta m ON m.post_id = p.ID AND m.meta_key = '_yoast_wpseo_metadesc' WHERE p.post_type = 'product' AND p.post_status = 'publish' AND (m.meta_value IS NULL OR m.meta_value = '') LIMIT 50;"
Using Rank Math, query rank_math_description instead.
Adjust the wp_ prefix if needed.
The query gives you the gap; it doesn't write 160 characters of deliberate copy for each of the hundreds of products it returns — which is why this gap usually stays open for years.
How CatalogLift finds and drafts it
Every scan flags products missing a meta description, each with the product as evidence. The check carries an AI proposal: CatalogLift drafts the snippet from what the product page already says — its description, attributes, brand — so the copy is specific to the product rather than generated boilerplate.
Proposals arrive as before/after diffs with evidence and confidence. You approve, edit, or skip each one; approved copy is applied to WooCommerce and verified by the next scan. AI drafting draws on a clear monthly allowance for your whole workspace — when it runs out, drafting pauses instead of billing you.