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 showsLimitWhat to front-load
Google Shopping description1–5,000 charactersKey details in the first 160–500 characters
Google Shopping product_highlight1–150 characters each, 2–100 valuesOne benefit per highlight, no promo text
Snapchat catalog descriptionMax 5,000 charactersSame plain-text copy as Google works
Meta catalog descriptionMax 9,999 charactersPlain text, no links
Textfinity AI config output500–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.

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.

Fashion · Shopify · Google Shopping · 2,400 variants

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.

Furniture · WooCommerce CSV export · 600 SKUs

HTML-heavy description cleaned for a feed

Before

<p><strong>NEW!!</strong> The Oslo table &mdash; <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.

Electronics · price comparison and Google · 4,500 SKUs

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.

Beauty · Denmark · English store copy

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.

Specialty food · 140 SKUs · written by hand

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.

Auto parts · CSV feed · empty descriptions

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.

Jewelry · Google Shopping · AI-written copy

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.

  5. 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.
  6. 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.

Have us improve your descriptionsOr email support@textfinity.io

Tell us your store and channels. We reply within 24 hours.