Cordon

Someone Copied Your Product Listings. Here Is How They Did It

Your descriptions and photos have turned up on a marketplace or a lookalike store. Here is how they were collected, what you can realistically stop, and what to do about the copy that already exists.

Bas Lefeber4 min read
Diagram: a Shopify product catalogue being copied to a marketplace listing, showing the paths a copycat uses to collect titles, descriptions and images
On this page

TL;DR: Your listings were almost certainly collected automatically, not by hand. Every Shopify store publishes a one-request product feed, and even with it closed the product pages carry machine-readable data. You can raise the cost and cut off the bots that browse your pages, but you cannot make a public storefront private. For the copy that already exists, a takedown request usually beats any technical fix. See exactly what your store hands over right now.

The uncomfortable part first

Finding your own product photos and descriptions on someone else's listing feels personal. It usually is not. It is almost always automated, it took seconds, and whoever did it probably did the same to fifty other stores that morning.

Knowing that matters, because it changes what actually helps.

How it was done

There are three routes, and they get harder in order.

1. The one-request download

Every Shopify store publishes a file at yourstore.com/products.json. It contains product names, descriptions, prices, SKUs, variants and stock levels, and it downloads in a single request with no password and no account.

This is the route most copycats use, because it requires no skill at all. It is also the reason a competitor can watch your prices daily without ever appearing in your analytics as a visitor.

Shopify serves that file, not your theme. That matters for what comes later.

2. Reading your product pages

If the feed is closed, the next step is reading product pages directly. Shopify themes embed structured product data in every page so Google can show rich results, which means the same data a shopper sees is available in a clean, machine-readable form on every page.

This is slower for the copycat: it means thousands of page visits instead of one request. That is the version you can actually do something about, because those visits arrive at your store and can be recognised.

3. By hand

Rare, slow, and generally only worth it for a handful of high-value listings. If only two or three of your products were copied, this may be what happened, and no technical measure will have prevented it.

What you can realistically stop

Here is the honest split, because this is where most advice oversells.

You cannot make your storefront private. Everything a customer can see is, by definition, available to anyone who looks. Any tool promising to prevent copying entirely is selling you something that does not exist.

You cannot close /products.json with an app. Shopify serves that file itself, and it is fetched without ever loading your store, so an app running in the visitor's browser never sees the request. That includes ours. Any Shopify app claiming to block it is describing something it cannot do. You can disable that feed yourself through your theme and Shopify's settings, which is worth doing.

You can stop the page-by-page collection. This is the real target. Rebuilding a catalogue from product pages means thousands of visits, and those visits look nothing like shopping: they arrive from hosting networks rather than home broadband, walk your catalogue in order, do not dip overnight, and never add anything to a cart. That pattern is recognisable and blockable.

You can make it expensive. Most copycats are opportunists working at volume. Closing the easy route and blocking the datacenter traffic moves you off the list of easy targets, which is usually enough.

What to do, in order

1. Deal with the copy that already exists

Technical measures do nothing about a listing that is already live. Your product photography and original descriptions are your copyright, and marketplaces have takedown processes built for this. Amazon, eBay, Etsy and the rest all have reporting routes for intellectual property infringement, and they generally work.

Gather evidence first: screenshots of both listings side by side, and the dates you published yours. Do this before you file, and before the copy changes.

This is the step most merchants skip while they research blocking apps, and it is the one that actually removes the copy.

2. Close the one-request feed

Disabling the /products.json feed removes the laziest collection method. It is a change on your side, in your theme and store settings, not something an app does for you.

Do not expect it to end the problem. Our own scan finds that when the feed is closed, prices can still be rebuilt from product pages in a couple of seconds. It raises the cost, which is worth doing, but it is a speed bump rather than a wall.

3. Block the automated browsing

This is where a blocking app earns its place. What you want to stop is the traffic that reads your pages in bulk:

  • Datacenter and hosting networks. Nobody shops from a server rack. Blocking by ASN removes an entire provider's address range in one rule, which is far more durable than chasing individual IP addresses that change constantly.
  • Request velocity. One visitor requesting pages faster than any human browses is not browsing.
  • Fake crawlers. Collectors often claim to be Googlebot to get waved through. A real Googlebot request comes from Google's own network and can be verified; one that claims the name from a hosting provider's address cannot.

The critical thing here is not blocking the real search engines by accident. That is the most common way this goes wrong, and it costs far more than the copying did. Cordon always allows verified search crawlers and cannot be configured to block them, so a broad ASN rule cannot quietly deindex you. Whatever you use, check it does the same.

4. Make your listings harder to reuse

Worth doing regardless, and it costs nothing:

  • Put your brand in your photography, so a copied image advertises you.
  • Write descriptions with your brand voice and specifics in them, so a lifted description reads oddly on someone else's store and is easier to prove as yours.
  • Register your trademark if you have not. Marketplace takedowns move considerably faster with one.

Find out whether it is still happening

The marketplace listing tells you that you were copied. It does not tell you whether collection is ongoing, which is what decides how much effort this deserves.

The signal is in your own traffic. Continuous collection shows up as repeated visits from hosting networks, one source walking every product page in sequence, and a traffic pattern that stays flat overnight when human traffic does not.

Our free store scan shows you the other half of the picture: what your store currently hands over to anyone who asks, including your own product names and prices pulled live while you watch. It reads only public pages, takes about fifteen seconds, and needs no install or account. It will also tell you plainly which parts of this an app can fix and which it cannot.

Related reading

Related guides