AI Product Tools
Troubleshooting

Generation issues

Why a product list shows nothing, why a row was skipped on purpose, and what the engine's own quality warnings mean.

Not every surprise on a generator page is a provider failure. This page covers the plugin's own selection, matching, and quality-control behavior, the things that look wrong at first glance but are working as designed.

Before you start

These apply to the six bulk generators (Description, Title, SEO Meta, FAQ, Image Alt, Category descriptions) and the Product Editor's in-grid generation, on any plan. None of them are provider errors, if you are looking for an exact AI-provider message instead, see Provider errors.

No products are listed

Product picker showing a no products match your filters empty state after searching for a term that matches nothing
A search term, category filter, or combination of filters that matches nothing shows this instead of an empty table.

Clear the search box, or open the Filters panel and clear whichever filter is active there, for example an AI status choice like Not processed by AI narrowing the list more than you intended, until the count comes back.

A product was skipped on purpose

"Fill empty only"

Error toast reading Some cells failed to apply, shown after generating with Fill empty only for a product whose fields already have content
Fill empty only still generates a preview normally. The skip happens at Apply: a field that already has content is not overwritten, so applying a result where every requested field was already filled reports that nothing could be applied.

Fill empty only (under Existing content) does not stop a product from being selected or previewed, it only changes what happens when you Apply: a field that already has content is left exactly as it was. If every field you asked for on that product already had content, Apply has nothing left to write and reports it as a failed cell rather than a silent no-op. This is why every product in this demo catalog, which ships with WooCommerce's own sample text in every description, behaves this way until you generate for real: there is always something already there to protect.

This is not the same as a Business review queue

A kept field and a field waiting for review are different things. "Kept the existing text" means nothing was written on purpose; a Needs review badge means something was written to a queue and is waiting for your decision. See How bulk generation works for the three results modes.

Automation's own "skip already-processed products"

A scheduled job has its own, separate skip: a Skip already-processed products filter (free on every plan) excludes any product the AI has already touched, regardless of which field. See Filters and schedules.

Structure mismatch warnings

When a selected product does not fully fit its content structure, for example it is missing an attribute the structure expects, or it is a product type (virtual, downloadable, variable) the structure was not written for, a banner tells you before you even click Generate:

Banner reading 1 of 1 selected product doesn't match its structure yet, with a Show which link
This does not block generation. It is a heads-up that the result may need more editing than usual.

Click Show which to see a short summary per product, with Preview and Edit in 1 links to act on it:

Expanded row reading Single: 3 things to fix: short description length, no tags and 1 more, with Preview and Edit in 1 links
A short count and the first couple of reasons, not a full list inline. Click Preview to see every finding for that product.

Typical findings and what they mean:

FindingMeaning
Title too long / short description lengthThe current value already exceeds the structure's own limit
No short description / no tags / too many tagsA field the structure expects is missing, or a count is out of range
Banned phrase usedThe live text contains a word or phrase your structure's rules exclude
"{Section} will be skipped: no product attributes / no data for this section"That section needs data (an attribute, a review count, a comparable product) this product does not have, so the generator leaves it out rather than inventing one

None of these block generation. They flag content that is already stale against your current structure, open Edit in 1 · Content structure to adjust the structure itself, or ignore the warning and generate anyway.

Duplicate content and unsupported numbers

Two more checks run automatically on every generated result, whether or not a structure mismatch was flagged, and show inline next to the affected part:

  • Duplicate content: "A similar sentence appears in both {X} and {Y}" when two different sections repeat themselves, "The model returned section {X} more than once; only the first copy was kept" when the model answers the same part twice, and "A duplicate question was removed from this group" for the FAQ generator specifically.
  • Unsupported numbers: "This section mentions a number not found in the provided context: {numbers}" (worded "This group..." for FAQs and "The title..." for titles) when the model states a number, a year, a quantity, a percentage, that is not backed by anything in your product data. This is a hallucination guard, not a hard block: read the sentence and decide whether the number is actually fine (a reasonable rounding, a general claim) or needs editing.

Both are warnings, not failures: the content structure engine's result still shows and can still be applied. They exist so a number or a repeated claim a reader would notice does not slip through unreviewed.

HTML or plain text came out the way you did not expect

Every content type that writes formatted text has its own Output format choice, HTML (rich) or Plain text, under Generation Settings:

Output format dropdown open showing HTML (rich) and Plain text options
Set per content type. Short descriptions default to plain text in most themes; full descriptions typically read better as HTML.

If a result looks like it has stray <p> or <ul> tags showing as literal text on your storefront, the theme or the field expected plain text and got HTML (or the reverse). Switch the format and regenerate, existing content on the product is not changed until you apply again. Separately, the engine itself strips any HTML it is not expecting back from the model with a quiet "HTML in the AI answer was removed" note, so malformed markup never reaches your storefront unescaped.

Long runs, a closed tab, and "nothing changed"

A bulk run you start from a generator page (not a scheduled Automation job) has no background component: the open browser tab sends one request per selected product, one after another, for as long as the tab stays open.

Bulk generator mid-run showing a Generating progress indicator while two products are being processed
This runs entirely in your browser tab. Nothing is queued on the server the way a scheduled Automation job is.

What this means in practice:

  • Closing the tab, or navigating away, stops the run immediately. The browser simply stops sending requests. Whatever had already applied (in "Apply now" mode) or finished generating (in "Show me first"/review mode) stays as it was; anything not yet reached is never attempted, so that product's content is simply untouched, not broken.
  • "Nothing changed on the product" after a run usually means exactly this: the tab closed, the browser lost focus and the request queue paused, or the run was cancelled before reaching that item. Reopen the generator and re-select only the products that still show no result.
  • For a run large enough that keeping a tab open is impractical (hundreds of products, or a run you want to repeat on a schedule), use Automation instead. A scheduled job runs server-side on WP-Cron and keeps going whether or not anyone has a browser open; see Background jobs if a scheduled job itself seems stuck.

Troubleshooting