Examples
SEO product description examples
An SEO product description names the product the way people search for it, puts the facts a buyer filters on in the first two sentences, and stays readable when a search engine or a shopping feed shows only the opening lines. Below are seven before/after examples from different stores and problems, the formula they share, and the rule that produces each across a whole catalog.
We connect your store, build the feed and keep it in sync. Updated 2026-10-27.
At a glance
- Lead with the product type, the key spec and who it is for in the first 160 characters: Google Shopping shows the start of a description and recommends putting the most important details in the first 160 to 500 characters.
- Write 500 to 1,000 characters for most products: enough for material, size, use and care, short enough to stay specific. Google accepts up to 5,000.
- Plain text only in feeds: no HTML, links, prices, shipping promises, all caps or comparisons with other products. Those break Google's description requirements.
- Textfinity's AI configs rewrite or translate descriptions across a catalog (500 to 1,000 characters); every generation is reviewed and accepted before any feed uses it.
The formula behind these SEO product description examples
Every after above follows the same order, which suits both a product page and a shopping feed. Sentence one says what the product is, using the noun people search for (dining table, over-ear headphones, olive oil) plus the one or two attributes that decide the click: material, size, compatibility, audience. Sentence two gives the benefit in concrete terms, a number where possible. Then the details a buyer filters on, then care, contents or fit.
Description formula
[Product type] in [material/variant], [key spec].
[Benefit with a number or use case].
[Filterable details: size, fit, compatibility].
[Care, contents or what is in the box].How long an SEO product description should be, by surface
| Where it shows | Limit | What to front-load |
|---|---|---|
| Google Shopping description | 1–5,000 characters | Key details in the first 160–500 characters |
| Google Shopping product_highlight | 1–150 characters each, 2–100 values | One benefit per highlight, no promo text |
| Snapchat catalog description | Max 5,000 characters | Same plain-text copy as Google works |
| Meta catalog description | Max 9,999 characters | Plain text, no links |
| Textfinity AI config output | 500–1,000 characters (fixed) | Key facts first |
Limits from Google Merchant Center Help (description, product highlight), Snapchat Business Help (Product Catalog Field List) and Meta for Developers (catalog fields), checked 2026-10-27.
Bad product description examples and what is wrong with them
- "Best headphones on the market, better than Brand X!" Comparisons with other products and unprovable superlatives break Google's editorial requirements.
- "FREE SHIPPING TODAY ONLY - 20% OFF" Prices, sale dates, shipping and all caps belong in price, sale_price and shipping, not in the description.
- "<p>See <a href='/size-guide'>size guide</a></p>" HTML and links are not allowed in a Google description; strip them with a regex rule.
- "Toys & Games > Dolls > Fashion dolls" Category paths go in google_product_category or product_type.
- The same 300-character paragraph on 200 variants. Duplicate copy gives a search engine no reason to rank one page over another; vary it by the attribute that differs.
Product page copy versus feed copy
A product page can carry headings, bullet lists, size tables and links. A feed description is plain text that a shopping surface truncates. Keep one source of truth in the store and a cleaned version for feeds: strip HTML, drop promotional lines, keep the first sentence self-contained, and keep every fact consistent with the landing page, which Google checks.
Sources checked
- Google Merchant Center Help: Description [description] and structured description
- Google Merchant Center Help: Product highlight [product_highlight]
- Google Merchant Center Help: Supported languages and currencies
- Snapchat Business Help: Product Catalog Field List
- Meta for Developers: Catalog fields for commerce
Examples
Worked examples, by situation
Each example changes the vertical, market, catalog size or source-data problem. Before is the store export; after is what the feed publishes.
Supplier one-liner to a searchable apparel description
Before
Great quality shirt. Must have for summer!
After
Men's linen shirt in sand, cut for a relaxed fit with a button-down collar and a single chest pocket. Woven from 100% European flax linen that softens with every wash and stays breathable on hot days. Sizes S to XXL; the model is 185 cm and wears M. Machine wash at 30 °C, hang to dry, iron while damp.
How we set it up
We set up an AI config that enhances the description, reading product_title, product_descriptionHtml, product_productType and the color and material options as additional context, and map description with replace from AI config, fallback product_description (Shopify's plain-text description, without the HTML). Only accepted generations reach the feed.
HTML-heavy description cleaned for a feed
Before
<p><strong>NEW!!</strong> The Oslo table — <a href="/sale">see our sale</a></p><ul><li>Oak</li><li>180 x 90 cm</li></ul>
After
Oslo dining table in solid oiled oak, 180 x 90 cm, seats six. Tapered legs, rounded corners and a 4 cm top. Delivered flat-packed with fittings; assembly takes about 30 minutes.
How we set it up
We write one conditional mapping on description: if the product is accepted in the AI config (enhance description, reading title, description and the dimensions column), replace from AI config; else remove from regexp <[^>]+> on the source description, so even products without AI copy ship without tags.
Manufacturer boilerplate made unique
Before
The XR-200 delivers an immersive audio experience with cutting-edge technology for music lovers everywhere.
After
Wireless over-ear headphones with active noise cancelling, 40 hours of battery life and USB-C fast charging (10 minutes gives about 5 hours). Bluetooth 5.3 with multipoint pairing for a laptop and a phone at once. Folds flat into the included hard case; weighs 250 g.
How we set it up
We set up an AI config that enhances the description, with battery_hours, bluetooth_version, weight_g and connector added as additional context so the copy is built from specs instead of the shared marketing paragraph. Feed hygiene's completeness check shows which spec columns are empty before it runs.
English description translated for a Danish feed
Before
Lightweight daily moisturizer with hyaluronic acid and niacinamide. Fragrance free, 50 ml.
After
Let daglig fugtighedscreme med hyaluronsyre og niacinamid. Uden parfume, 50 ml. Trækker hurtigt ind og kan bruges under makeup morgen og aften.
How we set it up
We set up an AI config that enhances the description with the target language set to Danish, or a translate config on the existing description. The Danish feed maps description with replace from AI config; Google expects the landing page in the same language as the feed, so the link points at the Danish storefront URL.
Short, specific copy kept in a sheet
Before
Olive oil 500ml
After
Extra virgin olive oil from Koroneiki olives, cold extracted in Crete within 24 hours of harvest. Peppery finish, best raw on salads, bread and grilled vegetables. 500 ml dark glass bottle; harvest 2025.
How we set it up
With 140 products the owner writes each description in a Google Sheet keyed on SKU, which we join as a merged source and map description by rename from the sheet column. No AI needed, and the sheet stays the single place to edit copy.
Fallback description built from attributes
Before
description: (empty) title: Brake pad set front fits: VW Golf VII 2012-2020 oem: 5Q0698151
After
Brake pad set front. Fits VW Golf VII 2012-2020. OEM reference 5Q0698151.
Advanced transform on description
if [description] is empty
then [title] + ". Fits " + [fits]
+ ". OEM reference " + [oem] + "."
else [description]How we set it up
We map description with an advanced rule, the expression above. Products that already have copy keep it; empty ones get a factual sentence instead of being disapproved for a missing description. Column names without spaces, as the DSL requires.
Labeling AI text the way Google asks
Before
description: Silver ring
After
structured_description: trained_algorithmic_media:"Sterling silver stacking ring, 2 mm band with a hammered finish. Nickel free, sizes 48 to 60."
How we set it up
Google asks that descriptions written with generative AI go in structured_description with the trained_algorithmic_media label. We write the accepted AI text into the column you name; a single mapping cannot also add the label, so it is added with a Prepend and Append attribute rule in Merchant Center and checked in the rule preview.
Copy this plan
Plan: better descriptions across a catalog this week
From a store export to reviewed descriptions in a live feed.
01
Send us the catalog
Shopify connects natively; WooCommerce, Magento and others connect through a CSV or Google-shaped XML export URL. The catalog is profiled on import.
What we set up: We connect your Shopify store or the CSV / XML export URL.02
Find the weak descriptions
Feed hygiene shows the share of empty descriptions, length outliers and mixed languages, so you start with the products that need it most.
What we set up: We read feed hygiene's field completeness and length distribution with you.03
Decide what the AI reads
Pick the source fields the copy should be built from and add spec columns as context. Choose a target language if the feed is for another market. Output length is fixed at 500 to 1,000 characters.
What we set up: We set up an AI config that enhances descriptions from those fields.04
Review and accept
Read a sample in every category, accept the good ones one by one or with Accept all, and edit the source fields where the output shows bad input data.
05
Use the accepted text in the feed
Map description to the AI config with your original description as the fallback, so products without an accepted generation still ship.
What we set up: We map description with replace from AI config, original description as fallback.06
Publish and check in the channel
The feed rebuilds within minutes. Check Merchant Center or the channel's catalog for truncation or policy warnings; Textfinity does not import those diagnostics.
Customization tips
Make it yours
Spend specs before adjectives
The AI config writes from the fields you give it. Adding material, dimensions or battery life as additional context gives better copy than any amount of rewriting; a catalog with empty spec columns gets generic output.
Hand-write the top sellers, generate the long tail
Your 50 best sellers deserve human copy kept in a merged Google Sheet; the 3,000 products nobody has touched benefit most from AI. Use an "is in google sheet list" condition (it reads column A of the sheet's first tab, so keep the SKUs there) so the hand-written copy wins where it exists.
Shorter text for a channel means a trim rule
AI configs have no length setting. If a channel needs shorter copy, keep the original field for that feed or trim with a replace from regexp such as ^(.{0,300}[.!?]).*$ to \1, which keeps whole sentences.
FAQ
Questions about seo product description examples
What makes a product description SEO friendly?
It uses the product noun people search for, states the deciding attributes such as material, size or compatibility in the first sentence, gives concrete facts instead of generic adjectives, and is unique to the product. For shopping feeds it is also plain text without HTML, links or promotional text.
How long should an ecommerce product description be?
For most products 500 to 1,000 characters covers what a buyer needs. Google Shopping accepts up to 5,000 characters but recommends putting the important details in the first 160 to 500, because shoppers see only the start until they click.
Can I use AI to write product descriptions for Google Shopping?
Yes. Google asks that AI-generated descriptions be submitted in the structured_description attribute labeled trained_algorithmic_media. Review the output before publishing: Textfinity only puts accepted generations into a feed and falls back to your original text otherwise.
Should the feed description be the same as the product page description?
They should agree on every fact, because Google checks consistency with the landing page. The feed version is usually a cleaned, plain-text copy of the page version, without headings, links or size tables.
Set up for you
Have your catalog's descriptions rewritten, reviewed before they ship.
Send us your store. We find the descriptions that are empty or too thin and run an AI config over them, and only the generations you accept reach the feed.
Tell us your store and channels. We reply within 24 hours.