Shopify SEO With AI: Fix Titles and Meta Descriptions in Bulk

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Shopify SEO With AI: Fix Titles and Meta Descriptions in Bulk.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Shopify SEO With AI: Fix Titles and Meta Descriptions in Bulk.

Export your products as a CSV, keep the handle, title and the two SEO columns, ask AI to rewrite titles to about 60 characters and descriptions to about 155 in batches of 25 rows, check length and duplicates in the sheet, import with a small test first, then compare Search Console after four weeks.

Shopify's help pages explain where the fields live and how long they should be. They do not walk through a catalogue-wide rewrite, which is where the real risk is: a model that quietly invents a feature, drops the model number people search for, or writes forty near-identical descriptions. The steps below treat AI as a fast first drafter and the spreadsheet as the quality gate, using a small manufacturer's 140-product catalogue as the running example.

Follow me on Instagram@sagnikteaches

What the fields do and where the limits sit

Each product has a search engine listing: a page title (the blue headline in search results) and a meta description (the grey text under it). In a product CSV they are the columns SEO title and SEO description. Shopify's import guide says the title takes up to 70 characters and the description up to 320. If either is left blank, Shopify uses the product title or description instead.

Connect on LinkedInSagnik Bhattacharya

Those are import limits, not display limits. Shopify's own SEO advice is to keep titles to 60 characters or fewer, because most search engines shorten longer ones, and to keep descriptions near 160. Write to the display figures. A title at 68 characters is allowed by the import and gets cut in the results.

Subscribe on YouTube@sagnikteaches

Two more points shape the plan. When the title field is blank, the theme combines your shop name with the product title, in an order the theme sets. If you set a custom title, check the live page's source to see whether the shop name is still added after it. If it is, you have fewer characters than you think. And Google's own documentation says it builds the snippet mainly from page content, using your meta description when it judges that more accurate, and draws title links from several sources. A good meta description raises your chances of a good snippet and does not guarantee one.

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

Decide which pages deserve the rewrite

A catalogue rewrite is not all or nothing. For the 140 products in the example, the owner sorted by what the pages already earn and what is plainly broken, using three groups:

GroupTypical faultAction
Top 20 by search impressionsTitles fine but descriptions blank or duplicatedRewrite descriptions only; leave titles alone
Middle 70Title is the product name and nothing elseRewrite both, after the sample test
Bottom 50Blank, or copied from the supplierRewrite both; consider whether the product should be on the site

You can get impressions per page from Google Search Console's Performance report, filtered to pages and sorted by impressions, for the last three months. Export it and add the figures to your product sheet. Protecting what already works matters more than polishing what does not. If your store audit has already flagged the weak pages, the store audit checklist is a sensible place to start the list.

Step one: export and trim the file

  1. In the Shopify admin, go to Products and choose Export. Export all products as a "CSV file for Excel, Numbers, or another spreadsheet program".
  2. Open it, and save a copy named "backup-before-seo". Never edit the original.
  3. In the working copy, keep these columns: Handle (shown as URL handle in the import guide), Title, Type, Tags, a short piece of description text, SEO title and SEO description. Delete the rest, including every variant, price, inventory and image column.
  4. Collapse the file to one row per product. Products with several variants or images usually take extra rows that repeat the handle with a blank title. Filter to rows where Title is not blank.

Shopify's import page makes the reason for trimming clear. A column missing from the file leaves existing values unchanged, while a blank cell in a column you include clears the value on an existing product. And a variant column without the columns it depends on can delete data: Shopify's own example is a SKU column imported without Option1 name and Option1 value, which deletes the product's variant option. So the safest import file is the smallest one that works: handle, title and the two SEO fields. Test that on three products before running it on 140, since only you can see how your own store behaves.

Step two: rewrite in batches of 25

Do not paste 140 rows in one go. Quality drops as a batch lengthens, and a mistake is easier to find in 25 rows. Give the assistant the rules once, then paste the rows.

You are rewriting SEO text for a Shopify store that makes hand tools.
For each row I paste (handle, title, type, tags, description excerpt),
return a table with: handle, seo_title, seo_description.

Rules:
- seo_title: 50 to 60 characters. Start with what the product is, then the
  distinguishing detail (size, material or model code). Do not add the shop
  name. Keep every model number and brand term exactly as written.
- seo_description: 120 to 155 characters. One sentence on what it is and
  who it is for, then one fact from the data I gave you.
- Use only facts present in the row. Do not mention shipping, price,
  warranty, awards or "best" unless the row says so.
- No two rows may share a title or a description. Do not start more than
  three descriptions in a row with the same word.
- Return the character count for each field in extra columns.

The line about using only facts in the row stops the commonest failure, where a model fills space with "premium quality" or "fast delivery". The request for character counts is useful, though the counts it reports can be wrong, so you will recount in the sheet.

A sample of what comes back, and what to fix

Illustrative rows:

HandleBefore (SEO title)After (SEO title)
claw-hammer-16ozClaw Hammer 16oz16 oz Claw Hammer, Hickory Handle, Forged Steel Head
chisel-set-4pcChisel Set | Our Shop4-Piece Wood Chisel Set, 6 to 25 mm, Leather Roll
mallet-beech-ct250(blank)CT250 Beech Mallet, 250 g Round Head for Chisel Work

What to fix in a typical first pass: the assistant added "Leather Roll" because the description excerpt mentioned a roll; confirm that it is actually included. It changed "16oz" to "16 oz", which splits a term some shoppers type without the space. Keep the form your customers use. And "Round Head" for the mallet is a guess if the row did not say it, so remove it. Ten minutes of checking at this stage saves you from publishing a claim you cannot honour.

The descriptions need a different test

A good meta description reads like a short answer to the search. Compare the weak and the stronger version for the same chisel set.

  • Weak: "Shop our high-quality chisel set at great prices. Order now for fast delivery." This says nothing about the product, and "fast delivery" is a claim.
  • Stronger: "Four bevel-edge chisels from 6 to 25 mm in a leather roll, ground and honed before dispatch, for joinery and general bench work." It names sizes and use, using facts from the product data.

If a description repeats the title word for word, rewrite it. The title says what it is; the description says why it suits the searcher.

Step three: checks in the spreadsheet, before anything is imported

Put the checks in formulas so they run on every row, not in your head. In a spreadsheet, with the new title in column F and description in G, add these helper columns:

  • Title length: =LEN(F2), then conditional formatting to flag anything over 60 or under 30.
  • Description length: =LEN(G2), flag over 155 or under 90.
  • Duplicate title: =COUNTIF(F:F,F2)>1, flag any TRUE.
  • Duplicate description: the same on column G.
  • Brand and code kept: =ISNUMBER(SEARCH(model_code, F2)) where the model code sits in its own column.
  • Banned words: a column that searches for "best", "cheapest", "guaranteed" and "free shipping".

Anything flagged goes back to the assistant with the specific fault: "These rows have titles over 60 characters. Shorten each to 55 without removing the model code." Sort by flag, fix, recheck. For an example business with 140 rows and a good first pass, expect about 15 to 25 rows to need a second go.

The brand-term rule that stops damage

The riskiest change in a bulk rewrite is losing words people actually search. A small manufacturer sells a "CT250" mallet, and customers search for the code. A rewrite that turns the title into "Traditional Beech Mallet for Woodworking" is nicer prose and loses the one term that brought buyers. Build a protected-terms column: brand name, model codes, sizes, and any phrase that appears in your top Search Console queries for that page. Tell the assistant the terms must appear, and use the SEARCH check to verify. For the top 20 pages by impressions, compare the old and new titles against their top queries by hand. If the old title contained a query that earns clicks, keep it.

Three title patterns, by kind of product

One template across a catalogue produces the sameness search engines discount. Give the assistant two or three patterns and tell it which product types use which. For the hand-tool example:

Product kindPatternExample
Single item with a model codeSize or spec, item, model code250 g Beech Mallet, Round Head, CT250
Sets and kitsCount, item type, range, container4-Piece Bevel Edge Chisel Set, 6 to 25 mm, Roll
Consumables and sparesItem, fits what, pack sizeReplacement Plane Blade, Fits No. 4 Smoother, 2 Pack

Say which pattern applies by adding a "kind" column to the sheet and telling the assistant to follow it. It lets you vary the output on purpose, and it makes the duplicate check easier, because titles in the same kind differ only in the specifics you care about.

Products that look alike are where duplicates start

The duplicate check will catch the obvious clashes, and it will also show you a real problem: several products that differ only by colour or size, each with its own page. A brass and a steel version of the same square, listed separately, produce near-identical titles. Do not let the assistant solve it by adding random adjectives. Put the distinguishing fact first ("Brass 150 mm Try Square" and "Steel 150 mm Try Square") and keep the description's second sentence specific to the material. If you cannot tell two products apart in words, a visitor cannot either, and the better fix may be merging them into one product with variants.

Time and cost for the example catalogue

A rough budget for 140 products, with figures that will vary with your own speed:

  • Export, backup and trimming the file: 30 minutes.
  • Protected-terms column and top-query checks for the top 20 pages: 45 minutes.
  • Six batches of 25 rows (the last is 15), at about 10 minutes each including reading the output: 1 hour.
  • Second pass on flagged rows, 20 of them: 20 minutes.
  • Test import on 3 products, checking the live pages, then full import: 40 minutes.

That is about three and a quarter hours, against two or three days of typing 280 fields into product pages one by one. The assistant costs whatever your subscription already costs; an individual paid plan is enough for this volume, and uploading a trimmed CSV of text columns is far under any file limit. Nothing here needs an API or an SEO app, though apps in the Shopify App Store can do some of it and are worth comparing once you know what you need.

Quick tests of a rewritten title

Before importing, read ten titles aloud as if they were search results and ask three questions of each. Would a stranger know what this is? Is the word they would type in the first half? Is there any claim here that the product page does not back up? If a title passes all three, it is ready. A title that reads like keywords with commas between them fails the first test, however many keywords it contains. Likewise, a description that ends with "Shop now" adds nothing, because the visitor already knows they are in a shop.

Step four: import safely

  1. Create a test file with three products. Import it with Overwrite products with matching handles ticked, which replaces values in the columns your file includes. Without it, products whose handle already exists are ignored.
  2. Open the three product pages. Look at the Search engine listing preview in the admin, then at the live page source to confirm the title tag.
  3. If the test looks right, import the full file in groups: the top 20 first, then the rest.
  4. Keep the backup export for at least three months.

Importing from a spreadsheet can corrupt special characters, so check any product whose name contains an accent or a symbol such as a multiplication sign. Shopify's import guide asks for UTF-8 encoding, so save as CSV in UTF-8 if your program offers the choice. And never touch the handle column in this file. Handles are the addresses of your pages, and the Shopify import guide treats the handle as the key for updating existing products.

A rewrite that went wrong at 40 products

A wholesale distributor with a retail store ran a bulk rewrite across its whole catalogue and asked the assistant to "make titles more appealing". The assistant dropped pack sizes from the titles (the "x 12" and "box of 50" that buyers search for) and added "premium" to nearly every one. Within a month the clicks on its top 40 product pages had slipped, and several pages were showing the same description. The repair was boring: restore the pack sizes from the backup, use the protected-terms check, and ban filler adjectives in the prompt. The lesson is that "more appealing" is not an instruction. Describe the format, the length and the facts to keep. (Illustrative.)

Judge it in Search Console after four weeks

Search results change slowly, and Google may take a few weeks to recrawl and show new text. Wait four weeks, then compare. In Search Console's Performance report, set the date range to the 28 days after the change and compare it with the 28 days before. Filter by page to your changed group and by pages not changed, as a control, and read four columns: impressions, clicks, click-through rate and average position.

What you seeLikely meaningWhat to do
Impressions flat, click-through rate upThe new text is more persuasiveKeep; apply the pattern to the next group
Impressions down on the changed group onlyYou removed a term people searched, or rankings movedCompare old and new titles against the top queries; restore lost terms
Both groups move togetherSeasonality or a wider ranking changeDo not credit or blame the rewrite
Clicks up, orders flatThe text promises something the page does not deliverRead the page as the visitor would

One caution on reading these numbers: small catalogues produce small counts, so a change of ten clicks on a page can be noise. Judge groups, not single pages. If you want to see whether AI assistants are also sending visitors to the rewritten pages, the referral traffic guide shows what to look for in your analytics.

Collections, pages and the products you skipped

The product CSV does not cover collections or pages. For those, open each in the admin, click the search engine listing edit link and paste in the new text. Draft all of them in one chat as a table (name, current text, new title, new description) and work down the list. Collections often matter more than single products, since a "Chisels" collection page can rank for the general term that single products cannot. Give it the same discipline: protected terms, length checks, no invented facts.

If you sell in more than one language, write the English text first and translate afterwards; the translation methods comparison covers the options. And if your product descriptions themselves are thin, fixing the descriptions first usually gives the meta text better material; see the guide to product descriptions with AI, and the WooCommerce version if you also run a second store on that platform.

A quarterly routine that keeps it tidy

New products arrive with blank SEO fields, because nobody fills them in at launch. Add a recurring check: export products every quarter, filter for blank SEO title or description, and run only those rows through the same prompt. Keep the prompt, the protected-terms list and the check formulas in one saved file so the second run takes half an hour, not an afternoon. Record in a line what you changed and when, because in four weeks you will want to know which group got which treatment.

Questions before a bulk SEO rewrite

What are the length limits for Shopify page titles and descriptions?

Shopify's product CSV accepts an SEO title of up to 70 characters and an SEO description of up to 320. Search engines show less. Shopify advises keeping titles to about 60 characters and descriptions to about 160, so write to those figures, not the import limits.

Will changing titles hurt my rankings?

It can move them, up or down, so do not rewrite the whole store blind. Change a sample first, keep brand names and product codes people search for, and compare Search Console figures for the changed pages against the unchanged ones. Revert any batch that clearly lost impressions.

Does the import change my URLs?

Not if you leave the URL handle column untouched. The handle identifies each product during import. Never edit it in the same file as your SEO changes, because a changed handle creates a new address and loses the old page's history unless you add a redirect.

Can I do collections and pages the same way?

Not with the product CSV. Products import in bulk, while collections and pages have their own SEO fields in the admin. For those, ask AI to draft the text in a table and paste each one in, which is slower but manageable for a few dozen.

Further reads

Sources: Shopify Help Center (search engine listings, product CSV format, importing and exporting products), Google Search Central (title links and snippets), checked November 2026.

Want a safe plan for rewriting your whole catalogue?

On a 1:1 call we can pick the pages worth rewriting first, set the checks that protect your brand terms, and plan the Search Console review.

Book a 1:1 call with me