E-commerce and businessAI and machine learning

Identical product descriptions: how many sit in 21 Ukrainian feeds

A measurement of 21 public feeds on 8 September 2026, 89,718 products: 19,674 of them (22%) carry a description identical, word for word, to another product in the same feed. How to check your own.

September 8, 2026
8 min read

On 8 September 2026 we read 21 public YML feeds from Ukrainian online stores — 89,718 products — and counted one thing in them: how many products have a description that matches, word for word, the description of another product in the same feed.

The answer: 19,674 products, 22% of everything we read. Such matches exist in 17 feeds out of 21. We have already used these same feeds twice: on 5 September we looked at what breaks against a marketplace's requirements, and on 8 September at whether they carry Ukrainian language fields. This time it is descriptions only.

What exactly we counted

The method is simple, and it is worth understanding, because it determines how the number should be read.

Within a single feed, every product description is normalised: HTML tags and the CDATA wrapper are stripped, runs of whitespace are collapsed into one space, and case is lowered. Whatever remains is hashed. A product joins a "duplicate group" if its normalised description matches byte for byte the description of another product in the same feed. The comparison happens inside a feed; we did not compare one store against another.

This is not the same thing as duplicate titles, which we counted on 5 September (903 products across 11 feeds). There the title matches, and the marketplace sees it on its own: Rozetka's help centre states the requirement directly, and the listing is rejected. Here the titles differ while the text underneath them is identical — and no feed validator will complain about that.

The numbers

Metric Value
Products with a copied description 19,674 (22%)
Feeds where such groups exist 17 of 21
Groups of identical descriptions 6,230
Products per group, on average 3.2
Largest single group 137 products
Products with no description at all 5,779 (6%)
Products with a description shorter than 200 characters 9,267
Feeds with neither duplicates nor empty descriptions 2 of 21

The share of duplicates per feed is spread wide: median 7.4%, maximum 50.3%. In a typical feed from the sample, a copy shows up in roughly every fourteenth product; in the worst one, in half the catalogue.

The extremes deserve to be named separately, because averages hide them:

  • A feed of 19,761 products in which 9,931 items sit in duplicate groups. Half the catalogue.
  • A Prom feed of 5,088 products: 3,843 of them have no description at all, and another 1,003 are copies. Only 242 products out of five thousand own their text.
  • The largest single group: 137 listings with word-for-word identical text.

Two feeds out of twenty-one have neither duplicates nor empty descriptions.

How to see this in your own catalogue

The method is reproducible and needs no services at all:

  1. Export the feed and take the description field from every product.
  2. Normalise the text: strip HTML tags, unwrap CDATA, collapse whitespace, lower the case. Without this, two identical descriptions that differ by a single <br> will be counted as different.
  3. Hash every normalised description and group the products by hash.
  4. Groups holding more than one product are your duplicates. Count empty descriptions separately: different problem, different fix.

That is a dozen lines in any language, or a spreadsheet formula if the catalogue is small. The tool matters less than the outcome: instead of a feeling that "we probably have a lot of the same text", you get a number.

Look at the distribution of groups as well. One group of 137 products and 137 groups of two are different problems. The first means a whole category with a placeholder description; the second means variants of one product where the difference never made it into the text.

Where identical descriptions come from

There are only a few causes, and none of them is carelessness.

The supplier's description. The price list arrives with text, and the import module puts it into the product card. The supplier gave one description for a series of twenty items — twenty identical cards appear in the catalogue.

Variants of one product. The same case in eight colours, the same T-shirt in five sizes. The difference lives in the attributes, and the text was copied.

A category description instead of a product description. The most common cause of large groups: general text about a category or a brand was dropped into the description field. Formally, the field is filled.

A template whose substitution did not fire. The description was assembled from a template, the variables were never substituted, and every product kept the same skeleton.

Precision matters here, because the topic attracts a lot of exaggeration.

An identical description across 137 products means exactly one thing: the search engine sees 137 pages with the same text. From there the ordinary mechanism applies — among pages with identical content, the engine picks one as the main version and shows that one in results, treating the rest as its variants. Which one it picks is its decision, not yours.

We did not check whether this happened to the products of the measured stores, and we measured neither their indexation nor their positions. The measurement shows the state of the feeds, and nothing beyond it. We are not going to promise that something will grow after descriptions are made unique: results depend on dozens of factors — assortment, prices, delivery terms, links, buyer behaviour, competition inside the category.

The honest boundary is this: a unique description removes a technical loss — the fact that the page adds nothing new to what is already indexed. It does not create demand and does not lift positions on its own.

How to fix it across thousands of products

By hand it does not happen. The 19,674 products in our sample are years of a copywriter's work, and in one single catalogue with half of it duplicated, that is 9,931 texts.

The task is solved by a pipeline: a feed in, a feed out. We covered the pipeline itself separately — how to rewrite a catalogue into unique descriptions. The order of work once you have the numbers:

  1. Empty descriptions first. 5,779 products with no text are not "non-unique", they are "nothing at all".
  2. Then the largest groups. One group of 137 listings returns more per unit of effort than a hundred pairs.
  3. A preview on a single product before launching the whole catalogue: read the text with your own eyes while thousands of items are still untouched.
  4. Import one product back into the marketplace, check the card — and only then the entire catalogue.

In Textory, our own product, the description is built from the product's own attributes rather than invented. That is precisely why variants of one product get different text instead of reshuffled paragraphs. If the description also needs to sit in a shape that is convenient to quote in AI search, that is a separate mode and separate logic — see the article on GEO optimisation of descriptions.

When the task is wider than the text itself, AI product description generation as an agency service means we take on the feed parsing, the field mapping, and returning the file back into the platform.

What this measurement does not show

There are four limitations, and every one of them narrows the number.

We did not compare across stores. An identical description from a shared supplier sitting in two different feeds is invisible here. And that is the most widespread kind of match.

Similar but not identical descriptions are not counted. Reorder the paragraphs, change one word, add a full stop — under our method these are already different texts. The real share of non-unique text is higher than 22%.

We did not check indexation. We do not know what happened to these pages in search, and we draw no conclusions about it.

The sample is small and not random. 21 feeds, found by probing the typical paths of the OpenCart export module. This is the state of these particular public feeds on 8 September 2026, not a cross-section of Ukrainian e-commerce.

Summary

Across 21 measured feeds, 22% of products carry a description identical to that of a neighbour in the same catalogue, and another 6% have no description at all. Checking the same thing in your own catalogue means normalising the descriptions, hashing them and grouping: half an hour of work and one number instead of guesswork.

To see what this looks like on your feed, go to textory.com.ua — pricing there follows the volume of text, and current terms live on the product's own site. The rest of our products are in the own products section. Reviewing a task is free, we reply within two hours, and we work under a contract.

Tags

E-commerceSEO

🤔Did you like the article?

Your opinion helps us create better content

Share with friends

Found something useful? 🚀

Help others learn about it - share the article on social networks

https://lionex.com.ua/blog/odnakovi-opysy-tovariv-u-fidah

💚 Thank you for helping us grow

Vladyslav Chystiakov

Writes about what he builds himself: online stores on OpenCart, applications on Next.js, integrations and site speed. The articles carry measurements and checks a reader can repeat on their own project, not general advice. Commercial development since 2015.

Frequently asked questions

Answers to common questions on the topic

We did not measure that and we do not claim it. Our measurement shows the state of the feeds, not what happened to their pages in search: we checked neither indexation nor positions for these stores. What is known comes from the mechanism, not from a forecast: if 137 products carry word-for-word identical text, the search engine sees 137 pages with the same content. Among such pages it usually picks one as the main version and shows that one, treating the rest as its variants. Which one it picks is its decision, not yours.

In the sample measured on 8 September 2026 it was 19,674 products out of 89,718, or 22%. Such groups exist in 17 feeds out of 21. The spread is wide: the median across feeds is 7.4% and the maximum 50.3%. Another 5,779 products (6%) have no description at all, and 9,267 have a description shorter than 200 characters. The sample is small and not random — this is the state of 21 particular public feeds on the measurement date, not a market cross-section.

Export the feed, take the description field from every product and normalise the text: strip HTML tags, unwrap CDATA, collapse whitespace, lower the case. Then hash each description and group the products by hash — groups holding more than one product are your duplicates. Normalisation is mandatory: without it, two identical descriptions differing by a single `<br>` will count as different. Count empty descriptions separately.

A marketplace sees duplicate titles on its own: Rozetka's help centre states directly that there must be no two listings with an absolutely identical title, and such a listing is rejected. In the 5 September 2026 measurement there were 903 such products across 11 of the 21 feeds. Duplicate descriptions are a different matter: the titles differ while the text underneath is the same, and no feed validator will complain. That is why they go unnoticed until someone counts them deliberately.

It removes a technical loss — the fact that the page adds nothing new to what is already indexed. A unique description does not create demand and does not lift positions on its own: results depend on assortment, prices, delivery terms, links, buyer behaviour and competition inside the category. We suggest this order of work: products with no description at all first, then the largest groups of copies, a preview on one product before launching the whole catalogue, and a check of one card on the marketplace before the bulk import.

Get the best articles by email

Subscribe to our newsletter and receive useful tips, insights and news about web development, marketing and business.

We respect your privacy. You can unsubscribe at any time.