Encontra URLs de imagem repetidos num CSV de produtos

O ImageDup analisa a exportação CSV do teu catálogo e agrupa as linhas que apontam para o mesmo URL de imagem, para que vejas que produtos reutilizam uma foto. Feito para lojas online, responsáveis de catálogo e qualquer pessoa que trabalhe com dados de produto.

Gratuito. Sem conta. Carrega uma exportação CSV, não ficheiros de imagem. Tudo corre no teu navegador.

O teu CSV é processado no navegador. Não é enviado para nenhum servidor.

Encontra URLs de imagem duplicados num CSV de produtostext/csv · ≤ 20 MB

Uma exportação CSV dos teus produtos com, pelo menos, um identificador de produto e um URL de imagem por linha.

Arrasta para aqui um CSV de produtos ou escolhe um ficheiro

.csv, até ~20 MB, a primeira linha é tratada como cabeçalho

O ImageDup compara o texto do URL da imagem, não os pixels. Para a mesma imagem servida a partir de URLs diferentes, precisas de uma coluna de hash de imagem já existente.

Uma exportação de catálogo de vestuário com 20 linhas e repetições propositadas: variantes de cor que partilham uma foto, um produto listado em duas linhas e produtos distintos que apontam para a mesma imagem. Algumas linhas também têm uma coluna image_hash que podes associar.

Como funciona

  1. Associa as tuas colunas

    Diz à ferramenta que coluna contém o identificador de produto e qual contém o URL da imagem. O título do produto e o hash da imagem são opcionais.

  2. Agrupa as linhas por URL de imagem

    Cada linha é agrupada pelo seu URL de imagem, ou pela coluna de hash se associares uma. Qualquer endereço usado em mais de uma linha é assinalado, e os casos mais claros — uma imagem usada por vários identificadores de produto diferentes — aparecem primeiro.

  3. Exporta as linhas assinaladas

    Transfere um CSV com todas as linhas assinaladas, etiquetadas com um número de grupo e um motivo, para saberes exatamente o que verificar nos teus dados de origem.

O que conta como duplicado

Por predefinição, esta ferramenta compara URLs de imagem, não o conteúdo das imagens. Duas linhas coincidem quando o seu URL de imagem é idêntico depois de uma normalização propositadamente mínima e segura: os espaços em redor são removidos, o esquema e o host passam a minúsculas, e o #fragmento é descartado.

Tudo o resto fica intacto, porque alterá-lo poderia unir imagens que na verdade são diferentes. O caminho mantém as maiúsculas e minúsculas (/IMG/A.JPG e /img/a.jpg continuam separados), a query string é mantida por inteiro (?v=2 é diferente de ?v=1) e http face a https, um www. inicial e uma / final são todos tratados como distintos.

Isto não é deteção visual de duplicados. Dois URLs diferentes que mostram a mesma foto não são assinalados. Para detetar esses casos, adiciona uma coluna de hashes de imagem (por exemplo um MD5 ou um hash percetual, em hexadecimal) e associa-a: a comparação usa então o hash em cada linha que o tenha e recorre ao URL nas linhas que não têm.

Um valor usado por dois ou mais identificadores de produto diferentes é assinalado como DUPLICADO. Um valor que se repete em linhas que não correspondem a dois ou mais identificadores distintos — um mesmo produto em várias linhas, ou linhas sem identificador — é marcado como REVER em vez de ser considerado um duplicado.

URLs de imagem duplicados nos dados de produto

O que é um URL de imagem duplicado

Um URL de imagem duplicado é um único endereço de imagem que aparece em mais de uma linha de um ficheiro de produtos. Se duas linhas indicam ambas https://cdn.exemplo/img/camisa-azul.jpg na coluna da imagem, essas linhas partilham um URL de imagem. O ImageDup agrupa as linhas por esse endereço e mostra-te cada grupo em que o mesmo endereço é usado mais de uma vez.

É uma comparação de texto. O ImageDup lê a cadeia do URL, aplica alguns ajustes seguros — remover espaços, passar o esquema e o domínio a minúsculas, descartar o #fragmento — e depois verifica se o resultado é idêntico. Não abre a imagem, não a transfere nem compara píxeis. Duas linhas só coincidem quando os seus endereços de imagem coincidem.

Porque é que os catálogos acabam com URLs de imagem repetidos

A maioria dos URLs de imagem repetidos é um efeito secundário da forma como os dados de produto são gerados e exportados, não uma escolha deliberada:

  • Linhas de variantes. Muitas plataformas exportam uma linha por tamanho ou cor. Uma camisa em cinco tamanhos são cinco linhas e, se as variantes de tamanho nunca tiveram fotos próprias, as cinco apontam para a mesma imagem.
  • Criação de produtos por cópia. Um produto novo é duplicado a partir de outro existente para poupar tempo e o campo da imagem nunca é alterado.
  • Imagens de marcador. Uma imagem de «brevemente» ou uma imagem genérica de categoria é atribuída a cada produto sem foto real. Centenas de linhas podem partilhar um marcador.
  • Junções de feeds e reexportações. Quando um feed é construído juntando várias tabelas, ou exportado repetidamente a partir de um sistema que acrescenta em vez de substituir, o mesmo produto pode aparecer em várias linhas com a mesma imagem.
  • Resíduos de migração. Mudar de plataforma muitas vezes mapeia vários campos antigos para uma só coluna de imagem nova, o que gera repetições.

Quando um URL de imagem repetido não é problema

Um URL de imagem repetido não é automaticamente um problema. Há motivos comuns para isso:

  • Um produto e as suas variantes partilham mesmo uma foto porque as variantes são idênticas na imagem — um anel em três tamanhos, um livro em capa dura e em capa mole com a mesma capa.
  • Um conjunto ou pack de oferta reutiliza de propósito a foto de um componente.
  • Duas fichas do mesmo artigo físico, por exemplo um SKU padrão e um promocional, usam uma só imagem de forma intencional.
  • Uma marca usa uma única imagem de ambiente numa pequena gama coordenada.

O ImageDup não decide estes casos por ti. Mostra-te onde uma imagem é reutilizada e quantos identificadores de produto distintos estão envolvidos, e tu avalias se essa reutilização é intencional.

DUPLICADO e REVER

O ImageDup classifica cada URL de imagem repetido num de dois grupos:

  • DUPLICADO — o mesmo URL de imagem está associado a dois ou mais identificadores de produto diferentes e não vazios. É o caso com mais probabilidade de precisar de correção, porque produtos separados partilham uma foto.
  • REVER — o mesmo URL de imagem repete-se, mas as linhas não estabelecem dois ou mais identificadores de produto diferentes. Isso acontece quando um identificador aparece em várias linhas, quando há linhas exatamente iguais ou quando o identificador está vazio. Muitas vezes são linhas de variantes inofensivas, mas também podem esconder um problema de dados, por isso são listadas em vez de ignoradas.

As linhas sem identificador de produto nunca criam um DUPLICADO por si só, porque o ImageDup não consegue saber se pertencem a um produto ou a vários.

Ficheiros CSV de produtos

Um CSV de produtos é uma tabela de texto simples exportada de uma plataforma de comércio eletrónico, de um PIM, de um marketplace ou de uma ferramenta de feeds. Cada linha é um produto ou uma variante; cada coluna é um campo como o SKU, o título, o preço ou o URL da imagem. O ImageDup lê a primeira linha como cabeçalho e depois deixa-te associar as tuas colunas aos dois campos de que precisa — um identificador de produto e um URL de imagem — mais dois campos opcionais: um título para os resultados serem mais legíveis e um hash de imagem.

Os nomes das colunas variam entre sistemas — image_link, Image Src, main_image, photo_url — por isso o ImageDup deduz a associação a partir do texto dos cabeçalhos e assinala uma dedução que deverias confirmar. Se uma dedução estiver errada, escolhe a coluna certa na lista pendente.

Limpeza de catálogo e auditoria de feeds

Verificar URLs de imagem repetidos é um passo de uma revisão de catálogo mais alargada. Uma passagem típica também analisa imagens em falta, ligações de imagem quebradas, títulos ou descrições ausentes, preços incoerentes e SKU duplicados. O ImageDup foca-se na questão do URL da imagem e dá-te um CSV transferível com todas as linhas assinaladas, etiquetadas com um número de grupo e um motivo, para que possas passar a lista a quem mantém os dados de origem.

Correr a verificação depois de cada exportação, ou antes de cada envio de feed, apanha as repetições introduzidas por produtos novos ou por uma definição de exportação alterada antes de chegarem a uma loja ou a um canal de venda.

Os limites da correspondência exata de URLs

A correspondência exata é precisa mas literal. Vai deixar passar:

  • A mesma imagem em dois endereços. Os URLs https://cdn.exemplo/a.jpg e https://images.exemplo/a.jpg, ou um URL de CDN e o seu URL de origem, mostram uma foto mas são cadeias diferentes. O ImageDup trata-os como diferentes.
  • A mesma imagem com um parâmetro anticache. Os URLs photo.jpg?v=1 e photo.jpg?v=2 mantêm-se separados, porque uma query string pode alterar legitimamente a resposta.
  • Cópias redimensionadas ou recodificadas. Uma miniatura e a versão em tamanho real de uma foto são ficheiros diferentes em URLs diferentes.

Também, por opção, não une http com https, nem www com o domínio simples, nem uma barra final, porque podem apontar para recursos diferentes.

Para apanhar a mesma foto servida a partir de URLs diferentes, adiciona à tua exportação uma coluna de hashes de imagem — um MD5 do ficheiro, ou um hash percetual como pHash ou dHash, em hexadecimal — e associa-a. O ImageDup passa então a comparar pelo hash em cada linha que o tenha e recorre ao URL nas linhas que não têm. Continua a não calcular hashes por conta própria nem a comparar imagens visualmente; confia nos valores de hash que forneces.

Perguntas

O que é que o ImageDup deteta?

Linhas do teu CSV de produtos que apontam para o mesmo URL de imagem. Agrupa cada endereço de imagem repetido e mostra quantos identificadores de produto distintos o partilham. Se associares uma coluna de hash de imagem, agrupa por hash as linhas que o tenham.

O ImageDup carrega o meu CSV?

Não. O ficheiro é lido e analisado pelo JavaScript que corre no teu navegador. Não é enviado para nenhum servidor. O botão «Usar dados de exemplo» carrega um pequeno ficheiro de exemplo incluído nesta página.

O que é um URL de imagem duplicado?

Um endereço de imagem que aparece em mais de uma linha. O ImageDup compara o texto do endereço depois de remover espaços, passar o esquema e o domínio a minúsculas e descartar o #fragmento. Não compara as imagens em si.

Vários produtos podem usar legitimamente a mesma imagem?

Sim. Variantes idênticas na foto, um pack que reutiliza a imagem de um componente, ou duas fichas de um mesmo artigo físico podem partilhar uma imagem de propósito. O ImageDup comunica a reutilização; decidir se é intencional é contigo.

O ImageDup deteta imagens visualmente parecidas?

Não. Não abre nem compara as fotos. Dois URLs diferentes que mostram a mesma imagem não são associados, a menos que lhes forneças um mesmo valor de hash.

Que colunas do CSV posso usar?

São obrigatórias uma coluna de identificador de produto (SKU, handle ou ID) e uma coluna de URL de imagem. Uma coluna de título de produto e uma de hash de imagem são opcionais. O título torna a tabela de resultados mais legível; o hash permite ao ImageDup associar a mesma imagem em URLs diferentes.

E se o meu CSV usar outros nomes de coluna?

O ImageDup deduz a associação a partir da tua linha de cabeçalho e assinala qualquer dedução incerta. Confirmas ou alteras cada associação com uma lista pendente dos teus nomes de coluna reais antes de correr a verificação, por isso cabeçalhos personalizados não são problema.

Qual é a diferença entre DUPLICADO e REVER?

DUPLICADO significa que o mesmo URL de imagem é usado por dois ou mais identificadores de produto diferentes e não vazios. REVER significa que o URL se repete mas as linhas não estabelecem dois ou mais identificadores de produto diferentes — um mesmo produto em várias linhas, linhas exatamente iguais, ou linhas com o identificador vazio.

Posso transferir os resultados?

Sim. «Transferir resultados» dá-te um CSV com todas as linhas assinaladas e as suas colunas originais, mais um número duplicate_group e um duplicate_reason com o valor DUPLICATE ou REVIEW.