WooCommerce products without a title

A product without a title has no name on the storefront, no headline in search results, and no label a shopper or your own team can find it by. CatalogLift flags every published product whose title is empty and drafts a name from the product's own catalog data for you to approve.

Content & SEO High severity AI proposal

Why a missing title holds products back

The product title is the one field everything else hangs from. The product page uses it as its heading, the permalink is generated from it, the SEO title falls back to it, and every product feed carries it as the item name. When it is empty, all of those inherit the hole at once.

  • The product cannot rank. Search engines index a page with a blank heading, but with nothing to match a query against, it appears for nothing anyone types.
  • Feeds reject the item. Google Merchant Center and marketplace feeds treat the title as a required attribute; a product without one is disapproved and simply does not appear.
  • Shoppers see an unnamed card. In category grids and search results, an image with a price and no name reads as a broken store, and shoppers move on to the next one.
  • Your team cannot find it either. Admin search, order line items and stock reports all lean on the title. An unnamed product is invisible in wp-admin until someone stumbles on it by ID.

How to find products without a title manually

The title lives in post_title on the posts table, so one WP-CLI query lists every published product where it is empty:

wp db query "SELECT p.ID, p.post_name, 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_title) = ''
ORDER BY p.ID;"

Adjust the table prefix if yours isn't wp_. The SKU column is there so you can tell the rows apart, since the title cannot.

This finds the obvious cases and misses the rest. A title that is a single &nbsp;, an empty <span> or <p></p> left behind by an editor, or a non-breaking space that TRIM() does not remove all pass the check and stay unnamed on the storefront. And once you have the list, each row still needs someone to open the product, work out what it is from the SKU and description, and write a name — then run the query again after the next import.

How CatalogLift finds and drafts it

On every scan, CatalogLift reads the title of each published product in the synced catalog and asks whether anything is actually there. It strips HTML tags, decodes entities and removes every whitespace character before deciding, so a title made of tags or spaces is treated as missing just like a truly empty one. Products that are not published are left alone. Each finding is raised at high severity and names the field and the reason as evidence, alongside everything else the scan surfaced.

Because writing the name is the expensive part, this check carries an AI proposal. CatalogLift drafts a title from what the product already knows about itself — SKU, brand, attributes, category and its descriptions — and never from thin air. The draft arrives as a before/after diff with its evidence and a confidence score. You approve, edit or skip it; nothing in your store changes until you approve, only an approved title is written to WooCommerce, and the next scan verifies it landed. Because CatalogLift keeps watching, an import that publishes another unnamed product becomes a fresh finding instead of a quiet regression.

Fair questions, straight answers.

How can a published product have no title at all?

More easily than you would expect. A CSV import with a blank name column, a product created through the REST API by a connector, or a title that consists only of whitespace or an empty HTML tag all publish without complaint. WooCommerce does not stop a product from going live just because its name is empty.

Does CatalogLift count a title made of spaces or empty tags as missing?

Yes. Before deciding, it strips HTML tags, decodes entities such as &nbsp; and removes every whitespace character. If nothing is left, the title is treated as missing. A plain SQL check on an empty string would miss most of these.

Does the AI write the product title for me?

It drafts one for you to approve. The draft is built from the product's own catalog data — SKU, brand, attributes, category, descriptions — never from invented facts. You review the before/after diff with its evidence and confidence, and only an approved title is written to WooCommerce, where the next scan verifies it landed.

Are drafts and unpublished products checked too?

No. This check reads published products only, because an unnamed draft is unfinished work rather than a live problem. Once the product is published, the next scan picks it up.

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.