상품 CSV에서 반복되는 이미지 URL 찾기

ImageDup은 카탈로그 CSV 내보내기를 분석해 같은 이미지 URL을 가리키는 행을 묶어 보여 줍니다. 어떤 상품이 사진을 재사용하는지 확인할 수 있습니다. 온라인 스토어 운영자, 카탈로그 담당자, 상품 데이터를 다루는 모든 사람을 위한 도구입니다.

무료. 계정 불필요. 이미지 파일이 아니라 CSV 내보내기를 올리세요. 모든 처리는 브라우저에서 이루어집니다.

CSV는 브라우저에서 처리됩니다. 어떤 서버로도 전송되지 않습니다.

상품 CSV에서 중복된 이미지 URL 찾기text/csv · ≤ 20 MB

각 행에 최소한 상품 식별자와 이미지 URL이 포함된 상품 CSV 내보내기 파일.

여기에 상품 CSV를 놓거나 파일을 선택하세요

.csv, 최대 약 20 MB, 첫 번째 행은 헤더로 처리됩니다

ImageDup은 이미지 URL 텍스트를 비교하며 이미지 픽셀은 비교하지 않습니다. 서로 다른 URL로 제공되는 같은 이미지를 찾으려면 기존 이미지 해시 열이 필요합니다.

의도적인 중복이 포함된 20행 분량의 의류 카탈로그 내보내기입니다. 사진 한 장을 공유하는 색상 변형, 두 행에 걸쳐 등록된 상품, 같은 이미지를 가리키는 서로 다른 상품 등이 들어 있습니다. 일부 행에는 매핑할 수 있는 image_hash 열도 있습니다.

작동 방식

  1. 열 매핑하기

    어느 열이 상품 식별자이고 어느 열이 이미지 URL인지 도구에 알려 주세요. 상품명과 이미지 해시는 선택 사항입니다.

  2. 이미지 URL로 행 묶기

    각 행은 이미지 URL(해시 열을 매핑하면 그 열)로 그룹화됩니다. 한 행 이상에서 쓰인 주소는 모두 표시되며, 가장 명확한 경우 — 하나의 이미지가 서로 다른 여러 상품 ID에서 쓰이는 경우 — 가 맨 위에 옵니다.

  3. 표시된 행 내보내기

    표시된 모든 행을 그룹 번호와 사유가 붙은 CSV로 내려받을 수 있습니다. 원본 데이터에서 무엇을 확인해야 하는지 정확히 알 수 있습니다.

무엇을 중복으로 보는가

이 도구는 기본적으로 이미지 내용이 아니라 이미지 URL을 비교합니다. 두 행은 의도적으로 최소화한 안전한 정규화를 거친 뒤 이미지 URL이 같을 때 일치로 봅니다. 정규화는 앞뒤 공백 제거, 스킴과 호스트를 소문자로 변환, #프래그먼트 제거, 이 세 가지뿐입니다.

그 밖의 것은 전혀 바꾸지 않습니다. 바꾸면 실제로는 다른 이미지를 하나로 합쳐 버릴 수 있기 때문입니다. 경로는 대소문자를 유지하고(/IMG/A.JPG/img/a.jpg는 별개로 유지), 쿼리 문자열은 전체가 보존되며(?v=2?v=1과 다름), httphttps, 앞의 www., 끝의 /는 모두 서로 다른 것으로 취급됩니다.

이것은 시각적 중복 감지가 아닙니다. 같은 사진을 제공하는 서로 다른 두 URL은 표시되지 않습니다. 그런 경우를 잡으려면 이미지 해시 열(예: 16진수 MD5나 지각 해시)을 추가해 매핑하세요. 그러면 해시가 있는 행은 해시로, 없는 행은 URL로 대조합니다.

서로 다른 상품 ID 두 개 이상에서 쓰인 값은 중복으로 보고됩니다. 서로 다른 상품 ID 두 개 이상을 확인할 수 없는 행에 걸쳐 반복되는 값 — 같은 상품이 여러 행에 있거나 ID가 빈 행 — 은 중복이라 부르지 않고 검토로 표시합니다.

상품 데이터의 중복 이미지 URL

중복 이미지 URL이란

중복 이미지 URL은 상품 파일의 여러 행에 나타나는 하나의 이미지 주소를 말합니다. 두 행이 모두 이미지 열에 https://cdn.example/img/blue-shirt.jpg를 적었다면 그 두 행은 이미지 URL을 공유합니다. ImageDup은 그 주소로 행을 묶고, 같은 주소가 한 번 넘게 쓰인 그룹을 모두 보여 줍니다.

이것은 텍스트 비교입니다. ImageDup은 URL 문자열을 읽어 몇 가지 안전한 조정 — 공백 제거, 스킴과 도메인 소문자화, #프래그먼트 제거 — 을 한 뒤 결과가 같은지 확인합니다. 이미지를 열거나 내려받거나 픽셀을 비교하지 않습니다. 두 행은 이미지 주소가 일치할 때만 일치합니다.

카탈로그에 이미지 URL 반복이 생기는 이유

대부분의 이미지 URL 반복은 의도적인 선택이 아니라, 상품 데이터가 만들어지고 내보내지는 방식에서 생기는 부수 효과입니다.

  • 변형 행. 많은 플랫폼이 크기나 색상마다 한 행씩 내보냅니다. 다섯 가지 크기의 셔츠는 다섯 행이 되고, 크기 변형에 별도 사진이 없으면 다섯 행 모두 같은 이미지를 가리킵니다.
  • 복사로 만든 상품 등록. 시간을 아끼려고 기존 상품을 복제해 새 상품을 만들면서 이미지 필드를 바꾸지 않습니다.
  • 플레이스홀더 이미지. ‘준비 중’ 이미지나 카테고리 공통 이미지가 실제 사진이 없는 모든 상품에 배정됩니다. 수백 개 행이 하나의 플레이스홀더를 공유하기도 합니다.
  • 피드 조인과 재내보내기. 여러 테이블을 조인해 피드를 만들거나, 교체가 아니라 추가하는 시스템에서 반복해 내보내면, 같은 상품이 같은 이미지로 여러 행에 나타날 수 있습니다.
  • 마이그레이션 잔여물. 플랫폼을 옮기면 여러 옛 필드가 하나의 새 이미지 열로 매핑되어 반복이 생기는 경우가 많습니다.

이미지 URL 반복이 문제가 아닐 때

이미지 URL 반복이 자동으로 문제가 되는 것은 아닙니다. 흔한 이유도 있습니다.

  • 사진상 구분이 되지 않아 상품과 그 변형이 실제로 한 장의 사진을 공유하는 경우 — 세 가지 사이즈의 반지, 같은 표지의 양장본과 문고본 책 등.
  • 번들이나 선물 세트가 의도적으로 구성품의 사진을 재사용하는 경우.
  • 같은 실물에 대한 두 개의 등록, 예를 들어 일반 SKU와 프로모션 SKU가 의도적으로 한 이미지를 쓰는 경우.
  • 브랜드가 통일감 있는 소규모 라인 전체에 하나의 연출 이미지를 쓰는 경우.

ImageDup은 이런 경우를 대신 판단하지 않습니다. 이미지가 어디에서 재사용되고 서로 다른 상품 ID가 몇 개 관련되는지 보여 줄 뿐이며, 그 재사용이 의도된 것인지는 여러분이 판단합니다.

중복과 검토

ImageDup은 반복되는 이미지 URL을 다음 두 그룹 중 하나로 분류합니다.

  • 중복 — 같은 이미지 URL이 서로 다른, 비어 있지 않은 상품 ID 두 개 이상에 연결되어 있습니다. 별개의 상품이 한 사진을 공유하므로 수정이 필요할 가능성이 가장 큰 경우입니다.
  • 검토 — 같은 이미지 URL이 반복되지만 행에서 서로 다른 상품 ID 두 개 이상을 확인할 수 없습니다. 한 상품 ID가 여러 행에 있거나, 행이 완전히 중복되거나, 상품 ID가 빈 경우입니다. 대개는 무해한 변형 행이지만 데이터 문제를 숨기고 있을 수도 있어, 무시하지 않고 목록에 넣습니다.

상품 ID가 없는 행은 그 자체로 중복을 만들지 않습니다. 한 상품에 속하는지 여러 상품에 속하는지 ImageDup이 알 수 없기 때문입니다.

상품 CSV 파일

상품 CSV는 전자상거래 플랫폼, PIM, 마켓플레이스, 피드 도구 등에서 내보낸 일반 텍스트 표입니다. 각 행은 상품 또는 상품 변형이고, 각 열은 SKU, 제목, 가격, 이미지 URL 같은 필드입니다. ImageDup은 첫 행을 헤더로 읽은 뒤, 필요한 두 필드 — 상품 식별자와 이미지 URL — 와 선택 필드 두 개(결과를 읽기 쉽게 하는 제목, 이미지 해시)를 여러분의 열에 매핑하도록 합니다.

열 이름은 시스템마다 다릅니다 — image_link, Image Src, main_image, photo_url 등. 그래서 ImageDup은 헤더 텍스트로 매핑을 추정하고, 확인이 필요한 추정에 표시를 합니다. 추정이 틀렸다면 드롭다운에서 올바른 열을 고르세요.

카탈로그 정리와 피드 점검

이미지 URL 반복 확인은 더 넓은 카탈로그 점검의 한 단계입니다. 일반적인 점검에서는 누락된 이미지, 깨진 이미지 링크, 없는 제목이나 설명, 일관되지 않은 가격, 중복 SKU도 함께 봅니다. ImageDup은 이미지 URL 문제에 집중하고, 표시된 모든 행을 그룹 번호와 사유가 붙은 CSV로 내려받게 해 줍니다. 원본 데이터를 관리하는 담당자에게 그대로 목록을 넘길 수 있습니다.

내보내기를 할 때마다, 또는 피드를 제출하기 전마다 이 확인을 실행하면, 새 상품이나 바뀐 내보내기 설정으로 생긴 반복을 스토어프런트나 판매 채널에 도달하기 전에 잡을 수 있습니다.

정확 일치 URL 대조의 한계

정확 일치는 정밀하지만 문자 그대로입니다. 다음은 놓칩니다.

  • 같은 이미지가 두 주소에 있는 경우. https://cdn.example/a.jpghttps://images.example/a.jpg, 또는 CDN URL과 그 원본 URL은 한 사진을 제공하지만 서로 다른 문자열입니다. ImageDup은 이를 다른 것으로 취급합니다.
  • 캐시 무효화 매개변수가 붙은 같은 이미지. photo.jpg?v=1photo.jpg?v=2는 따로 둡니다. 쿼리 문자열이 응답을 정당하게 바꿀 수 있기 때문입니다.
  • 크기 조정되거나 다시 인코딩된 사본. 한 사진의 썸네일과 원본 크기 버전은 서로 다른 URL의 서로 다른 파일입니다.

또한 설계상 httphttps, www와 도메인만, 끝의 슬래시도 합치지 않습니다. 모두 다른 리소스를 가리킬 수 있기 때문입니다.

서로 다른 URL로 제공되는 같은 사진을 잡으려면, 내보내기에 이미지 해시 열 — 파일의 MD5나 pHash·dHash 같은 지각 해시를 16진수로 — 을 추가해 매핑하세요. 그러면 ImageDup은 해시가 있는 행은 해시로 대조하고 없는 행은 URL로 대체합니다. 그래도 해시를 직접 계산하거나 이미지를 시각적으로 비교하지는 않으며, 여러분이 제공한 해시 값을 신뢰합니다.

자주 묻는 질문

ImageDup은 무엇을 감지하나요?

상품 CSV에서 같은 이미지 URL을 가리키는 행입니다. 반복되는 각 이미지 주소를 묶고, 서로 다른 상품 ID 몇 개가 그것을 공유하는지 보여 줍니다. 이미지 해시 열을 매핑하면 해시가 있는 행은 해시로 묶습니다.

ImageDup이 제 CSV를 업로드하나요?

아니요. 파일은 브라우저에서 실행되는 자바스크립트가 읽고 분석합니다. 어떤 서버로도 전송되지 않습니다. ‘예시 데이터 사용’ 버튼은 이 페이지에 포함된 작은 예시 파일을 불러옵니다.

중복 이미지 URL이 무엇인가요?

한 행 이상에 나타나는 이미지 주소입니다. ImageDup은 공백을 제거하고 스킴과 도메인을 소문자로 바꾸고 #프래그먼트를 없앤 뒤 주소 텍스트를 비교합니다. 이미지 자체는 비교하지 않습니다.

여러 상품이 같은 이미지를 정당하게 쓸 수 있나요?

네. 사진상 동일한 변형, 구성품 이미지를 재사용하는 번들, 같은 실물에 대한 두 등록은 의도적으로 이미지를 공유할 수 있습니다. ImageDup은 재사용을 알려 줄 뿐, 의도된 것인지 판단은 여러분의 몫입니다.

ImageDup이 시각적으로 비슷한 이미지를 감지하나요?

아니요. 사진을 열거나 비교하지 않습니다. 같은 이미지를 제공하는 서로 다른 두 URL은 공통 해시 값을 제공하지 않는 한 일치로 보지 않습니다.

CSV의 어떤 열을 쓸 수 있나요?

상품 식별자 열(SKU, 핸들 또는 ID)과 이미지 URL 열이 필수입니다. 상품명 열과 이미지 해시 열은 선택입니다. 제목은 결과 표를 읽기 쉽게 하고, 해시는 서로 다른 URL에서 같은 이미지를 대조하게 해 줍니다.

제 CSV가 다른 열 이름을 쓰면요?

ImageDup은 헤더 행에서 매핑을 추정하고 불확실한 추정에 표시를 합니다. 확인을 실행하기 전에 실제 열 이름이 담긴 드롭다운으로 각 매핑을 확인하거나 바꿀 수 있으므로, 사용자 지정 헤더도 문제없습니다.

중복과 검토의 차이는 무엇인가요?

중복은 같은 이미지 URL이 서로 다른, 비어 있지 않은 상품 ID 두 개 이상에서 쓰인다는 뜻입니다. 검토는 URL이 반복되지만 행에서 서로 다른 상품 ID 두 개 이상을 확인할 수 없다는 뜻입니다 — 같은 상품이 여러 행에 있거나, 완전히 중복된 행이거나, ID가 빈 행입니다.

결과를 내려받을 수 있나요?

네. ‘결과 다운로드’를 누르면 표시된 모든 행이 원래 열과 함께 담기고, 여기에 duplicate_group 번호와 DUPLICATE 또는 REVIEW가 들어가는 duplicate_reason이 추가된 CSV를 받습니다.