WooCommerce Product Descriptions With AI: Bulk Updates and Safe SEO

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for WooCommerce Product Descriptions With AI: Bulk Updates and Safe SEO.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for WooCommerce Product Descriptions With AI: Bulk Updates and Safe SEO.

Export your products to CSV, sort them into tiers by revenue, draft descriptions with AI from each product's own facts, test the file on a staging copy, check a sample by hand, run a duplicate check, then import in batches with the Name and URL columns untouched. Rewrite your top sellers manually and watch Search Console after each batch.

The danger in a bulk rewrite is not that the text came from AI. It is that three hundred descriptions share one template, invent a detail or two and replace pages that were ranking. A staged rollout with a way back protects you from all three.

Follow me on Instagram@sagnikteaches

Sort the catalogue into three tiers before touching a description

An illustrative shop sells 600 kitchenware products. Not all 600 deserve the same effort. Export the products (Products, All Products, Export) and add last year's revenue and organic search visits per product from your analytics and Search Console, then sort:

Connect on LinkedInSagnik Bhattacharya
TierRuleProductsTreatment
ATop 40 by revenue or organic visits40Hand-written or heavily edited; AI only for a first draft
BNext 160, some sales or impressions160AI draft from facts, every one read by a person
CRemaining 400, little traffic400AI draft from facts, 1 in 5 read in full, the rest spot-checked

The tiering also tells you what not to touch. If a product page brings steady search traffic with its current description, rewriting it can only lose, so tier A products stay as they are unless the copy is wrong. Start with tier C, where the downside is smallest and the existing copy is usually a pasted manufacturer paragraph.

Subscribe on YouTube@sagnikteaches

What the CSV gives you, and the columns to keep out of the file

WooCommerce's built-in importer and exporter writes the product data to a CSV with one row per product and variation. For a descriptions update you need only these columns: ID or SKU (to match rows), Name (for reference), Short description, Description, plus the fact columns the AI will read, such as Categories, Attribute 1 name and Attribute 1 value(s), dimensions and weight. Delete the rest from the update file. When you import with Update existing products ticked, WooCommerce updates rows that match by ID or SKU, and columns you set to Do not import are skipped. A smaller file means fewer ways to change something by accident.

Give the Short description as much care as the long one. WooCommerce's own Product structured data takes its description from the short description when there is one, and from the main description only when the short one is empty, so that one sentence is also the text that ends up in the markup search engines read. Keep it factual, with no claim the long description does not support.

Keep the full original export in a folder marked untouched. It is your undo. Alongside it, take a backup of the whole shop from your host or backup plugin. The product CSV schema has no column for the URL slug, so an update file built this way does not carry addresses. Confirm that on your staging test rather than assuming it, because plugins and themes can add their own behaviour.

Never send the update file with the Name column rewritten

Titles drive how a product appears in search results and what people recognise. Leave the Name column exactly as exported, or remove it from the update altogether. If a title needs changing, that is a separate batch with its own check, and it belongs to the SEO side, covered in WooCommerce SEO with AI: meta descriptions and schema checks.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Drafting from facts, not from the old description

Models write plausible copy for any product. That is exactly the trouble: ask for a description of "a 26 cm cast-iron frying pan" and you get a hundred words including "dishwasher safe" and "suitable for induction hobs", neither of which you told it. For a kitchenware shop, a wrong care instruction is a returns problem and sometimes a safety one.

So give each row a fact sheet and forbid anything outside it. Build a "Facts" column in the spreadsheet by joining the fields you trust: name, material, dimensions, weight, colour, attribute values, pack contents, and a short "use" line you write per category. Then batch the rows.

You write product descriptions for an online kitchenware shop. For each product below, write a description of 70 to 100 words and a short description of one sentence under 25 words.

Rules:
1. Use ONLY the facts in the Facts column. If something is not stated (dishwasher safe, induction compatible, oven temperature, warranty), do not mention it and do not imply it.
2. Do not start two descriptions with the same word. Rotate between three structures: (a) what it is for, then what it is made of; (b) the problem it solves, then the dimensions; (c) the material and build first, then the use.
3. No superlatives (best, perfect, ultimate), no "elevate", "must-have" or "game-changer".
4. Keep to the spelling convention the shop already uses. Include the exact dimensions and weight if given.
5. Return a table: SKU, Short description, Description. Plain text only, no HTML.

Products:
[paste 15 rows: SKU | Facts]

An illustrative row in: "SKU PAN-26 | Cast iron frying pan, 26 cm, 2.4 kg, pre-seasoned, long handle, use: searing and oven-to-hob cooking." A typical reply: "A 26 cm pre-seasoned cast-iron frying pan built for searing and finishing dishes in the oven. It weighs 2.4 kg, so it holds heat steadily and resists warping. The long handle keeps your hand clear of the hob." Two of those words, "resists warping", are not in the facts. That is the sort of line you will catch by reading, and the reason a person reads every tier B description. Add a rule to the prompt, "no claims about performance unless stated", and rerun the batch.

Fifteen rows at a time is a practical batch. Longer batches make the model drift towards the same sentences, and mistakes are harder to trace. For the structure of the shop-wide approach and what tends to go wrong, the CSV method for Shopify follows the same pattern with a different file layout.

Making descriptions genuinely different from each other

Search engines treat near-identical text on many pages as filler. Google's guidance on generative AI says that generating many pages without adding value for users may violate its spam policy on scaled content. The point for your shop is that a page should have something a reader cannot get from the next one. Three practical ways:

  • Add facts only you have. How the item is packed, the typical delivery time, what customers usually ask about it, how it compares with the cheaper version you also sell.
  • Vary the structure and the opening. Rotating three structures, as in the prompt, stops forty frying pans opening with "Cook like a chef".
  • Run a duplicate check. In the spreadsheet, add a helper column with the first 60 characters of each description (LEFT) and another that counts how often that string appears (COUNTIF). Any count above 1 is a repeat. Also check the last 60 characters, since models repeat closing lines.

For variable products, put the full description on the parent and keep variation descriptions short or empty, so the same paragraph is not repeated across each size and colour.

Samples to check by hand, and what a failure looks like

Do not read all 400 tier C descriptions, and do not skip the reading entirely. Read a sample sized to the risk.

  1. Tier B: read all 160. At 90 seconds each that is four hours. They are worth it.
  2. Tier C: read 80, one in every five rows, plus every product in categories where facts matter most, such as anything touching food contact, electrics or children.
  3. For each, check four things: every number matches the facts column; no feature appears that the facts did not state; the text reads like a human wrote it; and nothing is cut off mid-sentence.
  4. Record the failure rate. If more than about 1 in 10 sampled descriptions has a fact error, stop. Fix the prompt, rerun the whole tier and sample again, since the same fault is probably present in the rest.

A realistic quick sum: if you read 80 of 400 and find 6 with an invented feature, the rate is 7.5%, which implies around 30 flawed descriptions across the tier. That is not an acceptable number to publish. At 1 in 100 it would be about 4, which you can afford to fix as customers or your own checks find them.

A gentler prompt for your top 40 products

For tier A, you want help, not a replacement. Paste the current description and the facts, and ask for a critique instead of a rewrite: "List what this description fails to tell a buyer, anything that may be inaccurate, and three sentences I could add. Do not rewrite it." An illustrative reply to a good cast-iron pan page might say that it never mentions the pan's weight, which buyers ask about, and does not say whether it suits an electric hob. You add the weight, check the hob question against the manufacturer's sheet, and leave every sentence that already converts. This respects the pages that earn money and still puts the model's patience to use.

Keeping what the old description did well

Before you overwrite a description, check what it contains that a fresh draft would lose. Search Console's Performance report, filtered to a product page, lists the queries that page already shows for. If "26 cm cast iron skillet" appears, the word "skillet" belongs somewhere in the new copy even though your title says "frying pan". Add the top two or three queries per tier B product to the Facts column as "words buyers use", and tell the model to work them in only where they are true of the product.

Also look for content that is not marketing copy: a size chart, a care table, a compatibility list, a warranty statement. Move these out of the description column into their own fields or a tab before the rewrite, or tell the model to leave them alone. An illustrative before and after shows the stakes. The old description read: "Fits models X20 to X40. Capacity 1.5 L. Warranty 2 years. Great quality!" Left to its own devices, a rewrite produced two smooth sentences about "reliable everyday performance" and dropped the compatibility range, the one fact that stops a returned part. The fix was a rule: "Keep every number, model range and warranty term from the old description, and add nothing new."

A review log you can fill in as you go

Reviewing without a record turns into a vague feeling that most were fine. Keep a short log, one row per sampled description, with these columns: SKU, tier, what you checked, result (pass, fix, reject), and the kind of fault (invented feature, wrong number, repeated opening, cut-off text, tone). After the sample, count the faults by kind. If most faults are of one kind, the cause is nearly always in the prompt, and one change fixes many rows. In the kitchenware example, 80 sampled descriptions might show 6 invented features, 3 repeated openings and 1 wrong number. The invented features suggest tightening the "only the facts" rule. The repeated openings suggest a fourth structure. The wrong number suggests checking whether the Facts column was built from the right cell, which is a data fault, not an AI one.

What this costs in hours

For the 600-product example, with the tiers above and illustrative timings: preparing the export, joining facts and adding traffic data takes about three hours. Tier A, 40 products at 15 minutes each with an AI first draft, takes ten hours. Tier B drafting is quick, roughly 11 batches of 15 rows at 5 minutes, about an hour, plus reading all 160 at 90 seconds each, four hours. Tier C drafting is 27 batches, about two hours, plus reading 80 at 90 seconds, two hours. Staging tests, imports and monitoring add around four hours spread across a month. The total is about 26 hours, against perhaps 100 hours or more writing 600 descriptions from scratch. The saving is real, but it is not 90%, and nobody should promise it will be. Most of the time goes on reading, which is the part that protects the shop.

Test on staging, then roll out in batches

  1. Clone the shop to a staging site. Many managed WordPress hosts offer a one-click staging copy; if yours does not, a staging plugin can make one. Check that search engine indexing is switched off on it.
  2. Import ten rows. Choose products from different categories, including one variable product. Tick Update existing products, check the column mapping and run it.
  3. Compare before and after. Open each product and confirm that the title, URL, price, stock, images and categories are unchanged, and only the descriptions differ. Look at the page on a phone as well.
  4. Import the full tier on staging. Large files may need splitting into smaller batches, since servers have memory, upload and time limits.
  5. Repeat on the live shop. Back up first. Import tier C in batches of about 100 over a week or two, not all at once.
  6. Watch Search Console and sales. Look at impressions, clicks and average position for each batch's pages for two to four weeks. If a batch's clicks fall sharply compared with the earlier period, stop and investigate before the next.

Rolling back

If a batch misbehaves, build a restore file from your original export: only the ID or SKU and the description columns for that batch's products. Import it with Update existing products ticked. This takes minutes, which is why you keep the original export. Test the restore once on staging so you know it works before you need it.

Five product types that need their own treatment

  • Products with safety or compliance information. Electrical items, toys, anything food-contact. Copy facts such as ratings or age warnings from the supplier's documentation and have a person check each description. Do not let the model fill gaps.
  • Health, supplement and cosmetic claims. Models drift into benefit claims quickly. Add a rule banning any statement about health effects, and read every one. The tutorial on claims to cut from AI-written supplement copy goes deeper.
  • Jewellery and watches. Metal purity, stone type and measurement errors are common, and a wrong carat figure is a serious fault. The note on what AI gets wrong on metals and stones applies.
  • Bundles and kits. Describe what is in the box item by item, with quantities, and avoid the model's habit of describing the bundle as a single object.
  • Products sold in several sizes. Keep size-specific facts in the variation, and the shared description about material and use on the parent.

Descriptions that all began alike

An illustrative mistake: a shop rewrote 300 descriptions in two batches with one prompt that had no structure rules. Every description began "Crafted from", and about a third ended with "making it a versatile addition to any kitchen". Nothing was factually wrong. Two months on, impressions for those pages had drifted down and customers' questions in chat showed they were not finding the details they needed, such as the capacity in litres, which the template had skipped when it was not in the opening sentence. The fix was a rewrite with rotating structures, a rule that capacity or dimensions appear in the first two sentences, and the duplicate check above. A first-sixty-characters check would have caught the repeated opening in a minute.

If you also feed Google Merchant Center

Product descriptions often travel beyond your own pages into feeds. Google's guidance on generative AI content says that, for Merchant Center, AI-generated product title and description attributes must be specified separately and labelled as such, so check the current Merchant Center documentation before sending rewritten text to a feed. The same page says to fact-check and review all AI-generated content before publishing, metadata included: title elements, meta descriptions, structured data and image alt text. That matches the sampling approach above.

Where the rewrite fits in the larger job

A description update is one piece of shop quality. Products imported cleanly in the first place make everything easier, and cleaning supplier data before a WooCommerce CSV import covers that part. The page title, meta description and schema deserve their own pass afterwards. For the general principles of writing product copy that sells, product descriptions that actually sell is the companion piece.

Bulk description rewrites: common questions

Will AI-written descriptions hurt my rankings?

Not because AI wrote them. Google's guidance targets mass-produced pages with no added value, so the risk is thin, repetitive or inaccurate copy. Draft from real product facts, check every sample, make each description distinct, and rewrite your best-earning pages by hand. Watch Search Console after each batch.

Should I change product titles and URLs at the same time?

No. Change one thing at a time so you can tell what moved traffic. A descriptions-only update file keeps the Name column unchanged, and the product CSV schema has no URL slug column, so confirm on your staging test that addresses stay as they were.

How do I stop every description sounding the same?

Feed each row its own facts (material, size, use, what it replaces), give the model two or three different structures to rotate, and ban the opening phrases it overuses. Then run a duplicate check on the first sixty characters of every description and rewrite any that repeat.

Can I undo a bad bulk update?

Yes, if you keep the original export untouched. Re-importing that file with Update existing products ticked restores the old descriptions row by row. Take a database backup as well, and never overwrite the export you started with.

Do manufacturer descriptions count as duplicate content?

Copy supplied by a manufacturer is often used by every other reseller, so your page offers search engines nothing different. Rewriting it from the specification, plus your own detail such as how you pack it or what customers ask, gives the page a reason to exist. Check licence terms before reusing supplier text.

Further reads

Sources: WooCommerce documentation on the Product CSV Importer and Exporter; Google Search Central guidance on generative AI content and on snippets.

Want product copy updated at scale without the risk?

On a 1:1 call we'll look at your catalogue, decide which products deserve hand-written copy and which can be drafted, and plan a staged rollout you can reverse.

Book a 1:1 call with me