Tags active products whose plain-text description is shorter than a minimum length (default 20) with 'needs-description' and lists the thin pages.
async def run(ctx): minimum = ctx.params.get("min_length", 20) for product in await ctx.shopify.query(ACTIVE_PRODUCTS):
How do you find products with missing or thin descriptions on Shopify?
To find products with missing or thin descriptions on Shopify, this template strips each description to plain text, measures it against your minimum length, 20 characters by default, and tags what falls short. The plain-text step matters: an empty string wrapped in three div tags fools a naive blank check, and imported catalogs are full of exactly that. Raise the threshold to 200 or 500 characters and the same template becomes a content-quality bar instead of a blank detector.
Thin pages hurt twice, giving shoppers nothing to read and search engines nothing to rank, but finding them across ten thousand products is not admin work anyone does by hand. The first run delivers the thin-page list before anything is tagged. After that, the tag feeds a collection or filter your copywriter works through, and products drop out of the queue as their pages get written.
Last updated August 24, 2026
If you run a sharper version of this template, or something it inspired, send it in. We review every application and publish the good ones, credited to you or your agency.
AI writes real Python or TypeScript, a dry run rehearses it, you approve, it deploys.
Free plan · no card · 🇪🇺 EU data residency