anêmona
PTEN
caso 02_

O catálogo estava em 188 PDFs. Agora é um sistema.

O pedido era migrar um site em WordPress. O trabalho foi tirar o catálogo do arquivo, dar código a cada produto e entregar ao time da Sterilex a ferramenta para mantê-lo.

Cliente
Sterilex Científica
Período
julho a outubro de 2026
Escopo
site, painel e catálogo

sterilex.com.br

188
fichas em PDF lidas
87
produtos com código onde não havia nenhum
398
endereços de produto decididos um a um

A Sterilex vende insumos para sala limpa, esterilização e bioprocesso. O catálogo dela existia em dois lugares, e nenhum dos dois era um sistema: o site publicava produtos sem código, e as fichas técnicas de verdade moravam em PDF. A migração do site era o pedido. O trabalho de fato foi o catálogo.

A home do site novo da Sterilex, no ar desde 13/10/2026
voltar ao topo01O problema

Dois inventários que não conversavam

O site era um WordPress com WooCommerce e Elementor. Ele cumpriu o papel de vitrine. Tinha 398 produtos publicados, sem preço e sem nenhum código.

Desses, 111 não tinham foto principal. Dois em cada três títulos estavam em caixa alta, com a abreviação do sistema interno: o nome que o faturamento usa, e não o que o comprador procura. Em volta, reCAPTCHA no formulário, banner de cookies e o WhatsApp num botão flutuante.

O catálogo de verdade estava em outro lugar: 188 fichas técnicas em PDF, de cerca de 30 fabricantes, cada um com sua diagramação.

Sem código dos dois lados, o cruzamento só podia ser por nome. E nome erra:BOBINA SMS AZUL 50GRS e Bobina SMS Azul Sterilex 60g são quase o mesmo texto, e são produtos diferentes.

Em PDF, o catálogo era legível para uma pessoa e invisível para um sistema.

A página de produto do site antigo, em agosto de 2026
A página de produto em agosto de 2026: o banner de cookies aberto, o reCAPTCHA no formulário de cotação e o botão de WhatsApp por cima do conteúdo.

O catálogo antes do site

O site novo só podia ser desenhado depois que se soubesse o que ele ia publicar.

  1. julhoo contratomigrar o site
  2. agostoa extração das fichas e a conciliação188 PDFs
  3. setembroa migração para a Cloudflare e o desenho novo191 endereços com 301
  4. 13/10no arsterilex.com.br
voltar ao topo03O que fizemos

Um extrator, uma conciliação, um site e um painel

Escrevemos o extrator que lê as 188 fichas e devolve texto, foto candidata e registro estruturado. Depois, a conciliação entre o site e o catálogo, decidida item a item pelo time de produto da Sterilex.

A conciliação fechou em 12/09/2026 com as 398 URLs de produto do site antigo decididas: 212 migradas, 134 à espera de ficha e 52 com 301.

O site novo manteve as URLs do WordPress. Na virada, em 13/10/2026, os 191 endereços de produto sem página nova passaram a responder 301: 170 para um produto e 21 para uma categoria, nenhum 410. É outra conta, a do de-para final de 25/09, e os 52 de setembro estão dentro dela.

O painel é próprio, em endereço separado do site e atrás de login. E os quatro formulários (cotação na ficha, cesta de cotação, contato e pedido de catálogo) gravam o pedido no banco antes de mandar o e-mail.

voltar ao topo04Os mecanismos

Quatro mecanismos

O caminho que a ficha faz até virar página, e quem decide em cada passo.

1 Saber qual imagem é o produto

Extrair imagem de PDF é fácil. Saber qual delas é o produto não é: a ficha traz logo do fabricante, selo, ícone, moldura e tabela desenhada como imagem.

A eleição é por camadas. Descarta o que tem menos de 300 px de lado ou menos de 3 kB. Descarta canal alfa, que não é foto. E marca como logo a imagem que se repete idêntica em duas categorias diferentes, porque logo repete entre categorias e foto de produto não.

O acerto foi conferido a olho, imagem por imagem, em 48 amostras: cerca de 75% nas fichas de fabricante internacional e 60% nas da própria Sterilex. As fichas internacionais são sóbrias, com uma foto grande. As da Sterilex são peças de design, e a maior imagem costuma ser o banner da marca.

Por isso a saída não é um cadastro. É uma folha de conferência, onde todo erro aparece num relance.

A primeira extração rendeu 273 produtos: 167 de fichas e 106 de 7 catálogos multiproduto. 87 deles com código, onde o site antigo não tinha nenhum.

2 Onde a leitura contextual entra, e onde não entra

Dos 188 arquivos, 167 são uma ficha para um produto, e saem por regra.

Sete são catálogos com vários produtos, descritos em prosa e tabela espalhadas por páginas, com o desenho mudando a cada fabricante. Ali a regra quebra, e é onde entra a leitura contextual, conferida depois por gente.

Os outros 14 não recebem nenhuma das duas. São decisão de negócio, e ficam com a Sterilex: só ela sabe dizer se a especificação de um fornecedor é o mesmo produto de uma ficha que já existe.

Nem todo arquivo é problema de extração. Alguns são pergunta para o dono do catálogo.

3 A conciliação, em três filas

A tela de conciliação dividia o trabalho em três filas, e cada uma era uma pergunta de negócio.

Equivalências: a comparação automática achou um candidato no catálogo para esta página do site. Nome parecido não é o mesmo produto, então alguém confirma ou recusa. Sem ficha: a página existe no site e não tem nada parecido no catálogo. Ela está indexada, então precisa de destino. Lançamento: a ficha existe e ainda não tem página. Entra no lançamento ou fica de fora?

A fila Sem ficha da tela de conciliação, em agosto de 2026
A fila Sem ficha em agosto de 2026: a página do site antigo à esquerda, os parecidos do catálogo à direita e a pergunta no alto.

As 398 URLs de produto do site antigo fecharam em 12/09/2026: 212 migradas, 134 à espera de ficha e 52 com 301. Os 191 endereços com 301 da virada são outro universo, o de-para final, e os 52 estão dentro dele.

A tela cumpriu o papel e saiu: foi apagada quando a última decisão foi tomada.

4 O painel que mantém isso verdadeiro

A conciliação decidiu uma vez. O painel é o que mantém o catálogo certo depois dela, em quatro telas: Produtos, Ficha, Publicação e Histórico.

Produtos: o catálogo inteiro, com busca por nome ou código. O painel nesta captura roda com dado de demonstração.

Na Ficha mora o que o site antigo não tinha: nome comercial, nome descritivo, código e categoria, cada um no seu campo.

A Ficha de um produto, com nome comercial, nome descritivo, código e categoria separados. Captura com dado de demonstração.

A Publicação mostra o que mudou e ainda não está no site, e o que está no ar agora. Retirar um produto de linha não apaga o endereço dele: a publicação recusa endereço do site antigo sem destino, então nenhum produto vira 404 em silêncio.

A Publicação, com o que está no ar e as publicações anteriores. Captura com dado de demonstração.

No Histórico, cada alteração tem autor, data e ação, gravados no servidor na mesma operação da escrita. Saber quem mudou o quê não depende de alguém lembrar de anotar.

O Histórico, agrupado por dia. Pessoas e endereços desta captura são dado de demonstração.
voltar ao topo05Desempenho

A página de produto, antes e depois

página de produtoagosto de 202623/10/2026diferença
peso da página5,37 MB1,24 MB4,3x mais leve
requisições18535de 185 para 35
código de terceiro3,64 MB1,04 MB3,5x menos

O antes é a página de produto do site antigo, medida em agosto de 2026. O depois é a página de produto do site novo, medida em 23/10/2026 no Lighthouse, perfil móvel, mediana de quatro rodadas.

O site não estava lento. Ele estava carregando os outros.

O código de terceiro de hoje inclui o Turnstile do formulário e a tag do Google.

voltar ao topo06Tecnologia

O que roda por baixo

aplicação
  • Astro
  • React
  • TypeScript
nuvem
  • Cloudflare
  • Workers
  • D1
  • R2
extração
  • Python
proteção
  • Turnstile
entrega
  • Terraform

O site roda na conta Cloudflare da própria Sterilex, em Workers, com o catálogo no D1 e as fotos no R2. React só no painel. Python só na extração das fichas.

voltar ao topo07O resultado

O catálogo saiu do arquivo

O catálogo passou a ter código, categoria e foto conferida. O time de produto ganhou a ferramenta para manter isso verdadeiro.

O site é consequência.