商品 CSV 内で繰り返される画像 URL を見つける

ImageDup はカタログの CSV エクスポートを解析し、同じ画像 URL を指している行をまとめて表示します。どの商品が写真を使い回しているかを把握できます。ネットショップの運営者、カタログ担当者、商品データを扱うすべての人のためのツールです。

無料。アカウント不要。画像ファイルではなく CSV エクスポートをアップロードします。すべてブラウザー内で動作します。

CSV はブラウザー内で処理されます。サーバーへは送信されません。

商品 CSV 内の重複した画像 URL を見つけるtext/csv · ≤ 20 MB

各行に少なくとも商品識別子と画像 URL を含む、商品の CSV エクスポートファイル。

商品 CSV をここにドロップするか、ファイルを選択してください

.csv、最大約 20 MB、1 行目はヘッダーとして扱われます

ImageDup は画像 URL の文字列を比較します。画像のピクセルは比較しません。異なる URL で配信される同じ画像を照合するには、既存の画像ハッシュ列が必要です。

意図的に重複を含めた 20 行の衣料品カタログのエクスポートです。1 枚の写真を共有するカラーバリエーション、2 行に分かれて登録された商品、同じ画像を指す別々の商品などが含まれます。一部の行には対応付け可能な image_hash 列もあります。

使い方

  1. 列を対応付ける

    どの列が商品識別子で、どの列が画像 URL かをツールに指定します。商品名と画像ハッシュは任意です。

  2. 画像 URL で行をまとめる

    各行は画像 URL(ハッシュ列を対応付けた場合はその列)でグループ化されます。複数の行で使われているアドレスはすべて表示され、最も明確なケース — 1 枚の画像が複数の異なる商品 ID で使われている — が先頭に並びます。

  3. 該当した行をエクスポートする

    該当したすべての行を、グループ番号と理由を付けた CSV としてダウンロードできます。元データのどこを確認すればよいかがはっきりわかります。

重複とみなす条件

このツールは既定で、画像の中身ではなく画像 URL を比較します。2 つの行は、意図的に最小限の安全な正規化を行ったうえで画像 URL が一致したときに、一致とみなされます。正規化の内容は、前後の空白を取り除く、スキームとホストを小文字にする、#フラグメント を除去する、の 3 つだけです。

それ以外は一切変更しません。変更すると、本来は別物である画像をまとめてしまうおそれがあるためです。パスは大文字・小文字を保持し(/IMG/A.JPG/img/a.jpg は別のまま)、クエリ文字列は丸ごと保持され(?v=2?v=1 と異なる)、httphttps、先頭の www.、末尾の / はいずれも別物として扱われます。

これは画像の見た目による重複検出ではありません。同じ写真を返す 2 つの異なる URL は一致とみなされません。そうしたケースを拾うには、画像ハッシュの列(たとえば MD5 や知覚ハッシュを 16 進数で)を追加して対応付けてください。対応付けると、ハッシュがある行はハッシュで、ない行は URL で照合します。

2 つ以上の異なる商品 ID で使われている値は 重複 として報告されます。2 つ以上の異なる商品 ID を確認できない行にわたって繰り返されている値 — 同じ商品が複数行にある、または ID が空の行 — は、重複とは呼ばず 要確認 として印を付けます。

商品データにおける重複した画像 URL

重複した画像 URL とは

重複した画像 URL とは、商品ファイルの複数の行に現れる 1 つの画像アドレスのことです。2 つの行がどちらも画像列に https://cdn.example/img/blue-shirt.jpg と記載していれば、その 2 行は画像 URL を共有しています。ImageDup はそのアドレスで行をグループ化し、同じアドレスが複数回使われているグループをすべて表示します。

これはテキストの比較です。ImageDup は URL の文字列を読み取り、いくつかの安全な調整 — 空白の除去、スキームとドメインの小文字化、#フラグメント の除去 — を行ったうえで、結果が一致するかを確認します。画像を開くことも、ダウンロードすることも、ピクセルを比較することもありません。2 つの行は、画像アドレスが一致したときにのみ一致します。

カタログに画像 URL の繰り返しが生じる理由

画像 URL の繰り返しの多くは、意図的な選択ではなく、商品データの作られ方やエクスポートのされ方による副作用です。

  • バリエーションの行。多くのプラットフォームはサイズや色ごとに 1 行ずつエクスポートします。5 サイズあるシャツは 5 行になり、サイズ違いに個別の写真が用意されていなければ、5 行とも同じ画像を指します。
  • コピーによる商品登録。時間短縮のために既存の商品を複製して新しい商品を作り、画像フィールドが変更されないままになります。
  • プレースホルダー画像。「近日公開」やカテゴリー共通の画像が、まだ実写のない商品すべてに割り当てられます。数百行が 1 つのプレースホルダーを共有することもあります。
  • フィードの結合と再エクスポート。複数のテーブルを結合してフィードを作る場合や、置き換えではなく追記する方式のシステムから繰り返しエクスポートする場合、同じ商品が同じ画像で複数行に現れることがあります。
  • 移行の名残。プラットフォームを移行すると、複数の旧フィールドが 1 つの新しい画像列にまとめられ、繰り返しが生じることがよくあります。

画像 URL の繰り返しが問題でない場合

画像 URL の繰り返しが自動的に問題になるわけではありません。ごく普通の理由もあります。

  • 写真上で見分けがつかないため、商品とそのバリエーションが実際に 1 枚の写真を共有している — 3 サイズある指輪、同じ表紙のハードカバーとペーパーバックの書籍など。
  • セットやギフトセットが、あえて構成品の写真を使い回している。
  • 同じ現物の 2 つの出品、たとえば通常 SKU と販促 SKU が、意図的に 1 枚の画像を使っている。
  • ブランドが、統一感のある小さなシリーズ全体で 1 枚のイメージ写真を使っている。

ImageDup はこれらのケースをあなたに代わって判断しません。どこで画像が使い回され、いくつの異なる商品 ID が関係しているかを示すので、その使い回しが意図的かどうかはあなたが判断します。

重複と要確認

ImageDup は繰り返されている画像 URL を、次の 2 つのグループのいずれかに分類します。

  • 重複 — 同じ画像 URL が、2 つ以上の異なる(空でない)商品 ID に結び付いています。別々の商品が 1 枚の写真を共有しているため、修正が必要になる可能性が最も高いケースです。
  • 要確認 — 同じ画像 URL が繰り返されているものの、その行からは 2 つ以上の異なる商品 ID を確認できません。1 つの商品 ID が複数行にある、行が完全に重複している、商品 ID が空、といった場合です。多くは無害なバリエーションの行ですが、データの問題を隠していることもあるため、無視せずに一覧に載せます。

商品 ID のない行は、それ単独で重複を生じさせることはありません。1 つの商品に属するのか複数なのかを ImageDup が判断できないためです。

商品 CSV ファイル

商品 CSV は、EC プラットフォーム、PIM、マーケットプレイス、フィードツールなどからエクスポートされたプレーンテキストの表です。各行は商品または商品バリエーションで、各列は SKU、タイトル、価格、画像 URL などのフィールドです。ImageDup は 1 行目をヘッダーとして読み取り、必要な 2 つのフィールド — 商品識別子と画像 URL — に加えて、2 つの任意フィールド(結果を読みやすくするタイトルと、画像ハッシュ)を、あなたの列に対応付けられるようにします。

列名はシステムによって異なります — image_linkImage Srcmain_imagephoto_url など。そのため ImageDup はヘッダーの文字列から対応付けを推測し、確認したほうがよい推測に印を付けます。推測が誤っていれば、プルダウンから正しい列を選んでください。

カタログの整理とフィードの点検

画像 URL の繰り返しの確認は、より広いカタログ点検の一工程です。通常の点検では、画像の欠落、リンク切れの画像、タイトルや説明の欠落、価格の不整合、SKU の重複なども確認します。ImageDup は画像 URL の問題に絞り込み、該当したすべての行を、グループ番号と理由を付けたダウンロード可能な CSV で提供します。元データを管理している担当者にそのままリストを渡せます。

エクスポートのたび、あるいはフィード送信の前にこの確認を行うと、新商品やエクスポート設定の変更によって生じた繰り返しを、ストアフロントや販売チャネルに届く前に捕まえられます。

完全一致による URL 照合の限界

完全一致は正確ですが、字面どおりです。次のようなケースは見逃します。

  • 同じ画像が 2 つのアドレスにある場合。https://cdn.example/a.jpghttps://images.example/a.jpg、あるいは CDN の URL とそのオリジンの URL は、1 枚の写真を返しますが文字列としては別物です。ImageDup はこれらを別物として扱います。
  • キャッシュ回避のパラメーターが付いた同じ画像。photo.jpg?v=1photo.jpg?v=2 は別のままにします。クエリ文字列は正当に応答を変えることがあるためです。
  • リサイズや再エンコードされたコピー。1 枚の写真のサムネイルとフルサイズ版は、別々の URL にある別々のファイルです。

また設計上、httphttpswww とドメインのみ、末尾のスラッシュもまとめません。いずれも別のリソースを指しうるためです。

異なる URL で配信される同じ写真を拾うには、エクスポートに画像ハッシュの列 — ファイルの MD5 や、pHash・dHash などの知覚ハッシュを 16 進数で — を追加して対応付けてください。ImageDup はハッシュのある行はハッシュで照合し、ない行は URL に切り替えます。それでもハッシュ自体を計算したり画像を見た目で比較したりはせず、あなたが与えたハッシュ値を信頼します。

よくある質問

ImageDup は何を検出しますか?

商品 CSV 内で同じ画像 URL を指している行です。繰り返されている画像アドレスをまとめ、それをいくつの異なる商品 ID が共有しているかを表示します。画像ハッシュの列を対応付けると、ハッシュのある行はハッシュでグループ化します。

ImageDup は CSV をアップロードしますか?

いいえ。ファイルはブラウザー内で動く JavaScript が読み取って解析します。サーバーへは送信されません。「サンプルデータを使う」ボタンは、このページに同梱された小さなサンプルファイルを読み込みます。

重複した画像 URL とは何ですか?

複数の行に現れる 1 つの画像アドレスのことです。ImageDup は、空白を取り除き、スキームとドメインを小文字にし、#フラグメント を除去したうえで、アドレスの文字列を比較します。画像そのものは比較しません。

複数の商品が同じ画像を正当に使うことはありますか?

あります。写真上で見分けがつかないバリエーション、構成品の画像を使い回すセット、同じ現物の 2 つの出品などは、意図的に画像を共有していることがあります。ImageDup は使い回しを報告しますが、それが意図的かどうかの判断はあなたに委ねられます。

ImageDup は見た目が似た画像を検出しますか?

いいえ。画像を開いたり比較したりしません。同じ画像を返す 2 つの異なる URL は、共通のハッシュ値を与えないかぎり一致とみなされません。

CSV のどの列を使えますか?

商品識別子の列(SKU、handle、または ID)と画像 URL の列が必須です。商品名の列と画像ハッシュの列は任意です。タイトルは結果テーブルを読みやすくし、ハッシュは異なる URL 間で同じ画像を照合できるようにします。

CSV の列名が違う場合は?

ImageDup はヘッダー行から対応付けを推測し、確信が持てない推測には印を付けます。確認の実行前に、実際の列名が並んだプルダウンで各対応付けを確認または変更できるので、独自のヘッダーでも問題ありません。

重複と要確認の違いは何ですか?

重複は、同じ画像 URL が 2 つ以上の異なる(空でない)商品 ID で使われていることを意味します。要確認は、URL は繰り返されているものの、その行からは 2 つ以上の異なる商品 ID を確認できないことを意味します — 同じ商品が複数行にある、完全に重複した行、または ID が空の行です。

結果をダウンロードできますか?

はい。「結果をダウンロード」を押すと、該当したすべての行を元の列とともに含み、さらに duplicate_group 番号と、DUPLICATE または REVIEW が入る duplicate_reason を加えた CSV が得られます。